Linking Shortcut as a source
Contents
Alpha release
This source is currently in alpha. The interface and available tables may change.
The Shortcut connector syncs your Shortcut project management data – stories, epics, iterations, members, and more – into the PostHog data warehouse.
Adding a data source
- Go to the sources tab of the data pipeline section in PostHog.
- Click + New source and then click Link next to Shortcut.
- Next, you need an API token from Shortcut. In your Shortcut account, go to Settings → Account → API Tokens (or visit your API tokens settings directly) and generate a token. The token grants access to the entire workspace it belongs to and becomes invalid if you are removed from that workspace.
- Back in PostHog, enter the token in the
API tokenfield and click Next. - Select the tables you want to sync, set the sync method and frequency, then click Import.
Once the syncs are complete, you can start using Shortcut data in PostHog.
Available tables
| Table | Description | Sync method |
|---|---|---|
members | Members of your Shortcut workspace | Full refresh |
groups | Groups (teams) in your workspace | Full refresh |
projects | Projects | Full refresh |
workflows | Workflows and their states | Full refresh |
epics | Epics | Full refresh |
iterations | Iterations | Full refresh |
labels | Labels | Full refresh |
categories | Categories | Full refresh |
objectives | Objectives | Full refresh |
custom_fields | Custom field definitions | Full refresh |
files | Uploaded files | Full refresh |
linked_files | Linked files | Full refresh |
repositories | Connected version control repositories | Full refresh |
entity_templates | Story entity templates | Full refresh |
stories | Stories (work items) | Incremental |
Incremental tables sync only new or updated records on each run. Full refresh tables reload all data on each sync.
Sync limitations
Only the stories table supports incremental sync (via the created_at or updated_at cursor). Every other Shortcut endpoint returns its full collection in a single response with no server-side timestamp filter, so those tables are always synced as a full refresh.
Configuration
| Option | Type | Required |
|---|---|---|
API token | password | Yes |