Linking Shortcut as a source
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 |
Supported tables
| Table | Description | Sync method | Incremental field | Primary key |
|---|---|---|---|---|
members | A user account that is a member of the Shortcut workspace. | Full refresh | — | — |
groups | A team (group) in Shortcut that owns stories and epics. | Full refresh | — | — |
projects | A project that organizes a collection of related stories. | Full refresh | — | — |
workflows | A workflow defining the set of states a story moves through. | Full refresh | — | — |
epics | An epic grouping a set of stories working toward a larger goal. | Full refresh | — | — |
iterations | A time-boxed iteration (sprint) of work with a start and end date. | Full refresh | — | — |
labels | A label that can be applied to stories and epics to categorize them. | Full refresh | — | — |
categories | A category used to group objectives (milestones). | Full refresh | — | — |
objectives | An objective (milestone) representing a high-level goal spanning multiple epics. | Full refresh | — | — |
custom_fields | A custom field definition that can hold structured values on stories. | Full refresh | — | — |
files | A file uploaded to Shortcut and attached to a story. | Full refresh | — | — |
linked_files | A reference to a file hosted in an external service (e.g. Google Drive, Dropbox) linked to a story. | Full refresh | — | — |
repositories | A version-control repository connected to the Shortcut workspace. | Full refresh | — | — |
entity_templates | A reusable template for creating stories with predefined values. | Full refresh | — | — |
stories | A unit of work in Shortcut — a feature, bug, or chore tracked through a workflow. | Incremental, Full refresh | updated_at, created_at | — |