docs/setup-canvas.md
## Configuring GitHub Classroom in Canvas
These steps will walk you through the process of configuring GitHub Classroom as an external tool within Canvas.
**Note**: Canvas does not support adding external apps for free accounts and cannot be used with GitHub Classroom at this time. See more about the restrictions [here](https://learn.canvas.net/courses/1233/pages/canvas-free-for-teachers-account-registration-and-login).
{: class="warning"}
### Prerequisites
1. An up-to-date version of Canvas
1. [Credentials generated by GitHub Classroom](/help/generate-lms-credentials) (keep this page easily accessible during
the configuration process)
### Step by step installation guide
1. Log into Canvas.
1. Select the Canvas course to integrate with GitHub Classroom.
1. In the course sidebar, navigate to _Settings_, then _Apps_.
![Canvas step 4](/images/help/lms/canvas/step-4.png)
1. Click **+ App** in the top right. A popup appears.
1. In _Configuration Type_ dropdown, select **By URL**.
![Canvas step 6](/images/help/lms/canvas/step-6.png)
1. Fill in the following options:
| Option | Set to |
|-------------------------------------------------------------------------|-------------------------------------------------------------------------------|
| Consumer Key | The _Consumer key_ generated by GitHub Classroom |
| Shared Secret | The _Shared secret_ generated by GitHub Classroom |
| Allow this tool to access the IMS Names and Role Provisioning Service <br/><br/> _Note: if you do not see this option, please see [Troubleshooting](#troubleshooting)_ | Checked |
| Configuration URL | The _Launch URL_ generated by GitHub Classroom |
After entering that information, the form should look like:
![Canvas step 7](/images/help/lms/canvas/step-7.png)
1. Click _Submit_ and navigate out of settings.
![Canvas step 9](/images/help/lms/canvas/step-9.png)
1. Click _GitHub Classroom_ to finish linking GitHub Classroom. You should see following screen:
![Canvas success](/images/help/lms/canvas/success.png)
### Next steps
[Importing your course roster from Canvas to GitHub Classroom](/help/import-roster-from-lms)
### Troubleshooting: _Enable Membership Service_ checkbox is not visible
If you don’t see a checkbox in Canvas labeled _Allow this tool to access the IMS Names and Role Provisioning Service_, then you may have to ask your institution’s Canvas administrator to enable _Membership Service Configuration_ for your account.
![canvas troubleshooting](/images/help/lms/canvas/troubleshooting-1.png)
You may continue linking GitHub Classroom to Canvas without this capability, but you will be unable to sync your roster from Canvas to GitHub Classroom.
Not finding what you need? Want to talk to a human? [Open an issue on the GitHub Classroom repository.](https://github.com/education/classroom/issues)
{: class="flash"}