- Getting started with Airtable
- Introduction to Airtable basics
- Contacting Airtable Support Updated
- Airtable home screen
- Glossary of Airtable terminology
- Airtable technical requirements
- Feature differences between Airtable on desktop and mobile
- Airtable keyboard shortcuts
- Using Markdown in Airtable
- Adding descriptions in Airtable
- Finding Airtable IDs
- Airtable Automations
- Automations Overview
- Automation feature walkthroughs
- Integrated automation walkthroughs
- Airtable automation walkthroughs
- Linking existing records using automations
- Conditional groups of automation actions
- Repeating groups of Airtable automation actions
- Creating recurring records using automations
- How to delay Airtable automation runs
- Prevent automations from triggering by mistake
- Use automations to timestamp status updates
- Automation Triggers
- Airtable Triggers
- Airtable automation trigger: When record matches conditions
- Airtable automation trigger: When a form is submitted
- Airtable automation trigger: When record created
- Airtable automation trigger: When record updated
- Airtable automation trigger: When record enters view
- Airtable automation trigger: At scheduled time
- Airtable automation trigger: When webhook received
- Airtable automation trigger: When a button is clicked
- Airtable automation trigger: When email received Updated
- Integrated Triggers
- Airtable Triggers
- Automation Actions
- Airtable Actions
- Airtable automation action: Send email Updated
- Airtable automation action: Create record
- Airtable automation action: Update record
- Airtable automation action: Find records
- Airtable automation action: Sort list
- Airtable automation action: Run a script Updated
- Airtable automation action: Generate with AI
- Integrated Actions
- Airtable automation actions: Slack
- Airtable automation actions: Google Workspace
- Airtable automation action: Send MS Teams message
- Airtable automation actions: Outlook
- Airtable automation actions: Jira Cloud
- Airtable automation actions: Jira Server / Data Center
- Airtable automation actions: Salesforce
- Airtable automation action: Create post in Facebook Pages
- Airtable automation actions: GitHub Issues
- Airtable automation action: Hootsuite post
- Airtable automation action: Send Twilio SMS
- Airtable Actions
- Airtable Bases
- Using Airtable Cobuilder
- Airtable bases overview
- Creating and managing Airtable bases
- Structuring bases in Airtable
- Moving bases between workspaces in Airtable
- Creating and managing tables in Airtable
- Creating Airtable base share links
- Importing third-party data into Airtable
- Using insights in Airtable
- Troubleshooting Airtable base performance
- Airtable Betas
- Collaborating in Airtable
- Airtable Enterprise Support
- General Enterprise information
- External badging in Airtable
- Using app library and components in Airtable Updated
- Ask an Expert beta overview
- European data residency at Airtable
- Airtable user groups overview
- Airtable Enterprise API
- Creating and managing data retention policies in Airtable
- eDiscovery APIs in Airtable
- Airtable and data loss prevention
- Accessing Enterprise audit logs in Airtable
- Set up Jira Server / Data Center to connect with Airtable
- Admin panel pages
- Airtable admin panel overview
- Users - Airtable enterprise admin panel
- Airtable admin panel user details
- Groups - Airtable admin panel
- Workspaces - Airtable Enterprise Admin Panel
- Bases - Airtable admin panel
- Interfaces - Airtable admin panel
- Data sets - Airtable admin panel
- Managed apps - Airtable admin panel
- Components - Airtable admin panel
- Reports - Airtable admin panel
- Settings - Airtable admin panel Updated
- Managing Enterprise organizations
- Managing Enterprise admins in admin panel
- Using Organizations
- Organization branding for apps in Airtable
- Enterprise Hub in Airtable
- Enterprise Hub: Org unit assignment with user groups Updated
- Deactivating, removing access, and reactivating users in the admin panel
- Managing user access to workspaces and bases
- Airtable Enterprise Key Management Updated
- Custom terms of use New
- Enterprise SSO
- General Enterprise information
- Airtable Extensions
- Airtable Fields
- Fields Overview
- Attachment
- Date-based fields
- Formula
- Getting Started with Formulas
- Formula Foundations
- The essentials of Airtable formulas
- Formula writing tips for beginners
- Troubleshooting formulas
- Basic calculations
- Conditional statements
- Logical arguments
- Working with dates
- Displaying DATETIME_FORMAT using the date field in Airtable
- Working with date functions in Airtable
- Calculating the difference between dates in Airtable
- Supported DATETIME_DIFF unit specifiers in Airtable
- Supported DATETIME_FORMAT format specifiers in Airtable
- Using the DATETIME_PARSE() formula in Airtable
- Working with timezones
- Record functions
- Text functions
- Numeric functions
- Common Solutions: Beginner
- Common Solutions: Intermediate
- Common Solutions: Advanced
- Long Text Field
- Linked Record Field
- Linking records in Airtable
- Limiting linked record selection to a view in Airtable
- Dynamic filtering in linked record fields
- Linking to one, many, or a subset of Airtable records
- Converting existing fields to Airtable linked records
- Reordering record links in Airtable
- Understanding linked record relationships in Airtable
- Number-Based Fields
- Other Fields
- Rollup, lookup, and count fields
- Select and user fields
- Integrating with Airtable
- API
- Getting started with Airtable's Web API
- Creating personal access tokens
- Airtable Webhooks API Overview
- Service accounts overview
- Airtable Web API - Using filterByFormula or sort parameters
- Airtable API Deprecation Guidelines
- Airtable API: Common troubleshooting
- Managing API call limits in Airtable
- URL length limitations for web API requests
- Integration services
- Third-party integrations via OAuth overview
- Troubleshooting disconnected OAuth integrations in Airtable
- Options for integrating with Airtable
- Third-party integrations - Common troubleshooting
- Low-code integrations - Common troubleshooting
- Integrating Airtable with external calendar applications
- Visualizing records from Airtable in Tableau
- Visualizing Airtable records in Microsoft Power BI & Power Query
- Integrating HubSpot with Airtable
- Using Zapier to integrate Airtable with other services
- Using Zapier's Multi-Step Zaps to find and update records
- Using IFTTT to integrate Airtable with other services
- Integrating with AWS Lambda & DynamoDB
- Developer tools
- API
- Airtable Interface Designer
- Interface Designer overview articles
- Interface layouts
- Interface elements
- Adding and removing elements in interfaces
- Adding layouts to interfaces
- Formatting elements in interfaces
- Interface element: Button
- Interface element: Calendar
- Interface element: Chart
- Interface element: Filter
- Interface element: Gallery
- Interface element: Grid
- Interface element: Kanban
- Interface element: Number
- Interface element: Record picker
- Interface element: Text
- Interface element: Timeline
- Learning and Resources
- Managing Airtable
- Airtable Policy
- Airtable Records
- Airtable Sync
- Airtable Views
- Airtable Workspaces
- Print
- Share
- DarkLight
- PDF
Airtable Sync integration: GitHub Pull Requests
- Updated on 15 Jul 2024
- 4 Minutes to read
- Print
- Share
- DarkLight
- PDF
Plan availability | All plan types |
Permissions | Owners/Creators - In order to create or update synced tables, you'll need to have creator permissions in the base where you are setting up the sync. |
Platform(s) | Web/Browser, Mac app, and Windows app |
Related reading |
|
Learn how to use the Airtable Sync integration feature to bring information from an external application into Airtable as a new table in your base. Sync integrations are always a one way sync from the external application into an Airtable base, so changes made in Airtable cannot be synced back to the external application that you are syncing with.
This article covers the process of syncing Pull requests connected to a GitHub branch repository, based on a customized filter set up in Airtable, to an Airtable base. It's worth noting that this sync integration only works with GitHub Enterprise Cloud or GitHub.com. This sync does not work with GitHub Enterprise Server.
Setting up GitHub PRs to sync with Airtable
Step 1: Add a new synced table
Start by clicking the "+" symbol next to your list of tables. Then, under “Sync data from”, select the “More...” option. From there, you should see the "GitHub Pull Requests" option.
Step 2: Select a GitHub account
Select an existing GitHub account (if you’ve already connected to GitHub before), or link to a new GitHub account if this is the first time you've set this sync up.
Connecting a new account will take you to the authentication window. For more info on authentication and authorization jump to the section below.
Step 3: Select a repo
After you have connected your account successfully, you will need to connect to a repository or "Repo."
If this is the first time you are syncing Airtable with Pull requests in GitHub, then you will need to install an app connector which you can click on within the sync setup window or by clicking here. This is a requirement on GitHub's end that is needed to allow this sync to work. The installation screen will look something like this:
Installing this app allows us to read metadata and read and/or write to issues. More information about this is in the Authentication and authorization section below.
During the app connector installation, you will choose whether to show “All repositories” or “Only select repositories.”
After installing the app successfully, you will see the repositories that you have set up in GitHub. Now you can choose the repo you would like to sync to Airtable.
Step 4: Select state and created after date
After choosing the repository you’ll need to choose which pull request state to sync. The options are to show only “Closed,” only “Open,” or “All” Pull requests. Additionally, you’ll choose a “Created after” date that will only sync in Pull requests after that selected date.
Once you’ve filled in these two fields, click Next.
Note
GitHub’s API has limits on pull requests. Therefore, when choosing a “Created after” date that is further back in the past you should expect longer wait times for the synced table to be created.
Step 5: Select fields to sync
Next, you’ll be presented with two sync options; you can sync:
All fields from the GitHub issue, including any fields added by Jira in the future.
Specific fields from the GitHub issue.
If you choose to sync specific fields you’ll be shown a menu where you can toggle each individual field that you want to sync from the GitHub Issues source.
Currently, GitHub supports 19 fields related to Pull requests:
Title | Updated At | Requested Reviewers |
PR Number | Closed At | Requested Teams |
State | Merged At | Locked |
Labels | Merge Commit SHA | Draft |
Body | Created By | Milestone |
Created At | Assignees | PR Link |
ID |
Click the Next button after you have chosen which fields should be synced to Airtable.
Step 6: Create synced table
In the last step before creating your synced table, there are “Settings” options that allow you choose how often you want to sync, and how to handle issues deleted or hidden in GitHub.
The frequency of syncing. Right now, the options are manual syncing and automatic syncing which happens around every 5 minutes.
Whether or not deleted issues in GitHub should be removed from the Airtable table. By default, deleted issues will be removed.
Once you’ve selected your desired settings, click the “Create table” button. This will create the new table with any synced Pull requests that match the conditions you’ve set up during the sync configuration process.
Security and OAuth scopes
Authentication and authorization
The authentication window will lead to an authorization window. Authorizing allows us to verify your GitHub identity, know which resources you can access, and act on your behalf.
Airtable only supports a single GitHub external account type, so the scopes listed below are used for the Airtable Sync integration as well as the GitHub automation actions. That is why Airtable requests write access even when setting up a sync, even though we only use the read request portion for the sync.
Airtable will only have access to the issues that the user who connected the GitHub account has access to. Furthermore, it will only have access to issues in repositories that the Airtable Connector GitHub App is installed in. If the user who connected the GitHub account leaves the company and their GitHub account gets deactivated, the sync and automation actions will stop working.
For more information on GitHub scopes, check out GitHub's documentation here.
FAQs
Why is the synced table taking so long to be created?
GitHub has API rate limits in place to prevent too many Pull requests being referenced at one time. For repositories with many pull requests, expect to wait for longer periods of time when initially creating the synced table.