Setup#
Create a repo to handle access request automatically.
- 1
Create an access requests repo
This must be a publicly accessible repo. It does not need any content. This is where customers can create issues using our auto-generated templates to request access to your private repos.
Reference repo: playground-access-requests-repo-prod

Access requests repo example in GitHub. - 2
Connect to GitHub
Follow our simple flow to install our GitHub app in your repositories. The app must be installed in your access requests repo and any private repo you wish to add entitlements for. Once installed, you'll be redirected back to creating a Github entitlement.
Connect GitHub on the integrations page.

Connect your GitHub account from Integrations. - 3
(Optional) Change your access requests repo
You may only have once access requests repo. You can set it now, or wait to choose it until you create an entitlement. At any time, you may choose to change your access requests repo in the integrations page.
Update this on the integrations page.

Update the access requests repo in GitHub settings.
Create a new entitlement#
Steps to create a new entitlement once setup is complete.
- 1
Create a new Github entitlement
Click the "New Github Entitlement" button on the entitlements page

Start a GitHub entitlement from the Entitlements page. - 2
Enter entitlement details
Enter the entitlemnt details. If you have not already chosen your access requests repo, you must add it here. Choose your private repo to grant access to. Set a name for the entitlement, a price, access duration, and sale end date. Click "Create" to finish. You will be sent to the page for the entitlement.

Fill in the GitHub entitlement details. - 3
Activate your entitlement
Your entitlement is deactivate by default. Click the activate button to activate it for customers to purchase.

Deactivated state before going live. 
Activated state after toggling on. - 4
Send customers to the access requests repo
Customers can now request access to your private repo from the access requests repo as shown below. Our app automatically creates an issue template to make requests easy for customers to fill out.
Customer flow#
Steps that a customer takes to purchase your entitlement.
- 1
Create an access request issue.
Visit the access requests repo and click "New Issue". Choose the appropriate issue template form for the desired entitlement. Optionally add your email to the form. Create the issue.

Customers click to start a new access request issue. 
Customers submit the access request form. - 2
Proceed through payment
Proceed through the payment flow using the checkout session link given in the issue.

Customers complete the access request flow. - 3
Enjoy access
Accept the invitation to the repo and enjoy access!