GitHub app

Create GitHub issues directly from Intercom conversations or tickets, and get updated when they close.

Mark Sheldon avatar
Written by Mark Sheldon
Updated over a week ago

Create GitHub Issues directly from Intercom Conversations or Tickets with a single click, eliminating the need for time-consuming copy-pasting between tools.

How to integrate

You can integrate GitHub with Intercom simply by clicking through a few short steps.

You need to have admin permissions for Intercom and for the GitHub repositories you’d like to add.

First, go to the Intercom App Store then search for the GitHub app and click Install now.

If you already have the GitHub app installed, uninstall and reinstall it. Then remove and re-add your GitHub repos, making sure to select a main repo.

GitHub will open in a new tab and you'll be asked to authorize the application. Authorizing the application will enable Intercom to receive webhooks from GitHub when a connected issue is updated.

Once you authorize the application, on the Settings tab you’ll see a list of the repositories you have access to that you can connect to Intercom.

Each teammate will only be able to add the repositories they have access to in GitHub. You should select the repository where you log issues for your product with your development team, as well as any others you would like to link to Intercom.

Now, click Add repo to connect a GitHub repository to Intercom.

If you add more than one repository, make sure to "Choose your main repo" at the top of the Settings tab.

You can only choose one repository to create issues directly from Intercom. You can still link conversations to other repositories by pasting a conversation link into that repository, or by adding a GitHub issue as a note in a conversation.

Note about repositories: Each teammate will only see the GitHub repositories they have access to in the Settings tab of the GitHub app. This means it’s possible for the default repository to be (or be changed to) a repository that another teammate doesn’t have access to, so they wouldn’t be able to use it. You should ensure that your main repo is one that all teammates creating issues have access to.

Create GitHub issues from a conversation

It’s easy to create GitHub issues directly from a conversation in Intercom.

Just hover over a comment or note you’d like to create as a GitHub issue, and click on the three-dots icon:

Then, select New GitHub issue:

Your new GitHub issue will now open in a new tab. It will automatically include the conversation text, images, a link to the conversation and customer details. You can then edit this issue if needed and click Submit new issue in GitHub to create it:

You need to "Allow pop-ups" from Intercom in your browser to create GitHub issues from Intercom.

Once you create the issue, Operator will leave a note in the conversation linked to that issue:

Operator will also leave a note when the issue has been closed and re-open any snoozed or closed Conversations or Tickets linked to that GitHub issue, so you can update your customer.

Paste the conversation into a GitHub issue

For repositories other than your main one, you can link Intercom Conversations or Tickets to GitHub Issues by pasting the their URL into the GitHub Issue or Issue Comment. You can do this in any repository you added on the Settings tab. Fin AI Agent will then add a note, and notify you when the conversation is closed.

Fin AI Agent won't leave a new note in a conversation if you've previously linked it to a GitHub Issue.

Add the GitHub issue as a note

You can also link GitHub Issues to conversations by adding the URL of the GitHub Issue in a note on a conversation or ticket in Intercom. The conversation or ticket will re-open when the GitHub Issue is closed.

BETA Automate GitHub Issue creation with Workflows

If you have access to Intercom Workflows, you will find new GitHub Workflow Templates when you create a new Workflow.

To get access, check out our price and plans here.

There are three Workflow templates that come preinstalled with the GitHub app and you can customise them to meet your specific requirements:

  1. Create GitHub Issue - creates a GitHub issue in your main repository and links it to an Intercom Ticket.

  2. Add GitHub Issue comment - adds a comment to the linked GitHub Issue when a Teammate adds a Note to an Intercom Ticket.

  3. Update GitHub Issue - adds a comment to the linked GitHub Issue when an Intercom Ticket's State is updated.

If you do not see any GitHub Workflow Templates, you need to add a GitHub repository from the GitHub app Settings tab.

You can either use the default templates or edit them using the power of Workflows.

To edit what Intercom information is passed to the GitHub issue, click the three-dots icon on the GitHub Action step and choose Edit.

You can add more attributes to the GitHub Create Issue Action by editing and using the Attribute Selector in any fields: Title, Body, Labels and Assignees. Labels and Assignees should be separated by a comma and match the Labels and Assignees in your GitHub repository.

Once you make your changes, click Save on the GitHub Create Issue Action. You will then see your added attributes displayed in the action step.

Once you’re happy that your GitHub Workflow and Action are ready, click Set live to set the Workflow live.

The Workflow will run when the conditions of its trigger are met.

Read more about Workflows here.


FAQs

What if I have multiple GitHub accounts?

It’s possible to integrate multiple GitHub accounts with Intercom. But, you’ll only be able to create issues from Intercom in your main repo - this setting will apply for all teammates. When you go to your GitHub app Settings, the list of repositories you see will be from the GitHub account you are logged in to in your current browser session.

Intercom will attempt to find a template in your repository with one of the following names:

  • .github/ISSUE_TEMPLATE.md

  • .github/issue_template.md

  • issue_template.md

  • ISSUE_TEMPLATE.md

  • .github/ISSUE_TEMPLATE/bug-report.md

The first template found in this list will be used with the pre-filled information from the Intercom conversation appended after the template.

You can revoke Intercom's access to your GitHub account by going to your GitHub Application settings.

How do I change which GitHub account is linked?

If you remove the integration and then re-integrate it, it will automatically connect it to the original GitHub account you had authorized. If you want to connect to a different account, you need to log out of Intercom and then log back in again (and make sure you’re logged into the new GitHub account in the same browser) and then re-install and set up the app.

What if I have my own issue template?

If you use your own template for GitHub issues, Intercom will retain the template but add the pre-filled information from the Conversation or Ticket to the bottom of the template.

If you want to allow the GitHub app to access organization or enterprise level repos, you will need to approve the Intercom app’s access to those organizations explicitly through GitHub’s personal account settings.

Steps:

  1. Visit https://github.com/settings/applications (personal account settings).

  2. Select the Intercom application.

  3. Check whether Intercom has access to any of your organizations and request as needed.

Having issues with the app?

One useful troubleshooting step is to reconnect your app to GitHub. In the App Store in the GitHub app settings, you can click Connect to GitHub and follow the GitHub authorization flow to reconnect the app.

You may also be prompted to request Organization access in order to see all of your GitHub repositories.

Having issues with notes not being added to conversations?

Head over to your repository and under Settings > Webhooks, ensure that there's a ✅ beside Intercom webhook.

If not, you'll need to re-authorize the repository which should do the trick.

Hope this helps! 😊


💡Tip

Need more help? Get support from our Community Forum
Find answers and get help from Intercom Support and Community Experts


Did this answer your question?