Skip to main content
This page covers the board’s webhook intake, which every plan can use, and syncing cards with an external tracker. For the board itself, see Track work on the ops board.

Post a card from a webhook

One POST opens one card in Triage. Use it from a form, a script, a CI job or a Slack Workflow Builder step. Your webhook token is at the top of Integrations, Webhooks. It is the same token every other webhook uses, so keep it private.
Only title is required. You also get description, priority, labels (the first 10 are kept), service, assignee_email (assigns a member, never invites anyone) and dedup_key. The answer is 201 with the card’s id, key and url. Three details to know:
  • The body cannot set the column, source or author. New cards always land in Triage.
  • Send your own dedup_key (or an Idempotency-Key header) when your sender can deliver an event twice. A redelivery then answers 200 with the same card and "duplicate": true instead of opening another.
  • Use the key you got back to keep working on the card. POST .../webhooks/tickets/<token>/OPS-12 updates its fields or column (status takes backlog, triage, todo, in_progress, blocked or done, and the won’t-do spellings such as wontfix archive it), and POST .../webhooks/tickets/<token>/OPS-12/comments with a body adds a comment.
To link a card to a Slack thread, send "slack": {"channel": "<channel-id>", "thread_ts": "<thread-root-ts>"}. Use the channel id (it starts with C, G or D) and the root message’s timestamp. Once linked, card comments and column changes post in the thread, and thread replies become card comments automatically, so do not forward replies yourself.

Sync with Jira, Zoho Sprints or GitHub

Connecting a tracker and syncing cards needs the Business plan. The board and its webhook are on every plan. A card can mirror an issue in Jira, Zoho Sprints or GitHub. Title, description, status and comments stay converged in both directions.
  1. An organization admin connects the tracker under Integrations, Tickets. Jira takes a URL, account email, API token and project key. Zoho Sprints takes its API details and project IDs. GitHub uses your existing GitHub App installation and asks only for the repository.
  2. Set the status mapping (which board column becomes which tracker state) and, if you want existing issues to become cards, the import rule for that tracker. Import now catches up on everything already open.
  3. On a card, open External issue and either Link an existing issue (choose the Tracker, enter the Reference such as PROJ-123 or owner/repo#12) or File in a tracker.
  4. Pause sync stops changes going out and Resume sync sends what was held. Unlink ends the pairing.
Archiving a card is a statement about your board, so it never closes the issue in your tracker. A card mirrored to a tracker does not put its key in the issue, which keeps its own title and body.