Teamwork Tickets (Desk) — Dashboard Integration

Support tickets come from Teamwork Desk — a different Teamwork product from Teamwork Projects (build/delivery; see teamwork-projects.md). This covers how ticket data reaches the dashboard and the endpoints that read it. Verified 2026-05-20.


Data flow

Teamwork Desk (support inboxes)
   │  n8n "Teamwork Ticket Sync + Roam Lookup"  (hquEYfG9XMMTJLYX)
   ▼
fcr_operations.teamwork_open_tickets   ← OPEN tickets only (filtered at sync time)
   ▲                                      (+ _staging, _old)
   │  reads
 Worker:  dashboard-tickets · dashboard-check-tickets
   │
   └── for OPEN+CLOSED history → Worker hits Teamwork Desk LIVE
        (dashboard-teamwork-desk-tickets)

The BQ table is open-only (closed tickets are filtered out at n8n sync time). For full history you must go live to the Desk API.

Endpoints

Route Source Use
dashboard-tickets BQ teamwork_open_tickets open tickets for a subscriber
dashboard-check-tickets BQ flexible open-ticket search — subscriberId, assignedTo, inbox (combinable) + summary
dashboard-teamwork-desk-tickets live Teamwork Desk API full open + closed history; ?status=closed supported. Resolves subscriber → CRM emails → Desk customer_id(s) → tickets, merged + deduped
dashboard-twd-deep-dive Teamwork Desk webhook SPIKE (not deployed) — on the deep-dive tag in whitelisted inboxes (AIB MS 35416, Pre-Sales 35422), HMAC-verify → async deep-dive

Skill: /tickets (open via BQ, or full history incl. closed via the live Desk API).

Key quirks (Teamwork Desk API)

  • Auth is Bearer, not Basic (Desk differs from Projects).
  • Only customerId + filter[status] actually filter server-side — other params are ignored.
  • subscriber_id lives in customFields[2].data and is not filterable — you can't query Desk by subscriber directly; you resolve the account's emails (Dynamics + dim_listings_with_subscriber_id) → Desk customer → tickets.
  • BQ teamwork_open_tickets is open-only; use the live endpoint for closed.

Tickets vs Projects — don't conflate

Teamwork Tickets (Desk) Teamwork Projects
What Support / service tickets Build & delivery projects, milestones, tasks
BQ teamwork_open_tickets (open-only) teamwork_project_tasks, teamwork_project_milestones
Live dashboard-teamwork-desk-tickets (Desk API) dashboard-teamwork-projects (Projects API, via n8n)
Doc this page teamwork-projects.md

FCR Dashboard documentation · generated from docs/ · keep counts verified, not guessed.

Ask the docsRAG over this site
Ask anything about the FCR Dashboard platform — architecture, BigQuery, the worker routes, billing rules, the LRC stack, scoring… Answers are grounded in this documentation, with source links.
How does the deal-brief refresh work? Which routes are Worker vs n8n? How is account health scored?