Commit Graph
218 Commits
Author SHA1 Message Date
Matthew Meszaros 82e753735c feat: add integration and meetings dashboard 2026-06-08 06:25:44 +02:00
Matthew Meszaros 8773b7f7f3 feat: push contacts to integrations 2026-06-07 20:30:52 +02:00
Matthew Meszaros c724ba59ec feat: expose integration action metadata 2026-06-07 20:30:41 +02:00
Matthew Meszaros edce3f5e8d feat: add sidebar activity counts 2026-06-07 19:35:27 +02:00
Matthew Meszaros 84e225ac4c feat: use path based unibox routes 2026-06-07 19:35:16 +02:00
Matthew Meszaros e87cd7e8e9 feat: fix unibox seen updates 2026-06-07 19:35:12 +02:00
Matthew Meszaros e0a3ee13a4 feat: polish CRM task type colors 2026-06-07 19:35:05 +02:00
Matthew Meszaros bd5356c7ff feat: add CRM task team controls 2026-06-07 19:34:56 +02:00
Matthew Meszaros 81c4539b20 feat: warn when stop on reply is off 2026-06-07 17:27:00 +02:00
Matthew Meszaros bb91e6d3e2 feat: add instant branch controls 2026-06-07 17:26:50 +02:00
Matthew Meszaros 9e4c9515bd feat: model instant branch options 2026-06-07 17:24:51 +02:00
Matthew Meszaros ac269a29a7 feat: use themed select in campaign flow 2026-06-07 12:46:46 +02:00
Matthew Meszaros 813b655d13 feat: explain reply branch matching 2026-06-07 12:46:39 +02:00
Matthew Meszaros 95c37efaa1 feat: clarify branch disconnect action 2026-06-07 12:46:08 +02:00
Matthew Meszaros 5ca9a9d944 feat: show instant reply branch guidance 2026-06-07 12:45:33 +02:00
Matthew Meszaros 5e54f37154 feat: fan converging campaign flow edges 2026-06-07 12:44:42 +02:00
Matthew Meszaros 3bcfe7674e feat: label reply branches as instant 2026-06-07 12:43:57 +02:00
Matthew Meszaros 17351f0806 feat: add instant reply step shortcut 2026-06-07 12:43:07 +02:00
Matthew Meszaros f9d667ed6d feat: add themed select menu 2026-06-07 12:39:33 +02:00
Matthew Meszaros 6b1322ff17 feat: polish CRM deals table filters 2026-06-07 11:50:05 +02:00
Matthew Meszaros 650b7d6400 feat: add CRM deal sequence editor actions 2026-06-07 11:50:00 +02:00
Matthew Meszaros 87dc3b2647 feat: add reply intent branch editor 2026-06-07 11:49:52 +02:00
Matthew Meszaros c5135857e8 feat: refresh contact queries after deal changes 2026-06-07 11:07:29 +02:00
Matthew Meszaros 1286074ba8 feat: refresh contact queries after note changes 2026-06-07 11:07:24 +02:00
Matthew Meszaros 8287f5d8b4 feat: mark opened unibox threads seen 2026-06-07 11:07:19 +02:00
Matthew Meszaros aaaa2abf2b feat: polish CRM deals segmented controls 2026-06-07 11:07:15 +02:00
Matthew Meszaros 738629fa89 feat: add relative task due date control 2026-06-07 11:07:10 +02:00
Matthew Meszaros 8509d44bef feat: enrich unibox CRM panel actions 2026-06-07 10:46:09 +02:00
Matthew Meszaros 791165ad5e feat: refresh CRM task queries on create 2026-06-07 07:54:17 +02:00
Matthew Meszaros e482330351 feat: improve unibox contact context lookup 2026-06-07 07:54:13 +02:00
Matthew Meszaros 0a11049458 feat: add searchable task type picker 2026-06-07 07:54:10 +02:00
Matthew Meszaros 94673c3550 feat: page CRM deals board columns 2026-06-07 07:54:06 +02:00
Matthew Meszaros add5ecd2d2 feat: show overdue task indicator in nav 2026-06-07 07:04:36 +02:00
Matthew Meszaros 42edf23a6f feat: add server-driven CRM tasks view 2026-06-07 07:04:30 +02:00
Matthew Meszaros 608ca652ec feat: polish CRM task type picker 2026-06-07 07:04:25 +02:00
Matthew Meszaros 4e015e7efd feat: add CRM task search clients 2026-06-07 07:04:21 +02:00
Matthew Meszaros c969091577 feat: add teams settings page 2026-06-07 07:04:00 +02:00
Matthew Meszaros c10c4000e7 feat: add teams API hooks 2026-06-07 07:03:56 +02:00
Matthew Meszaros f9bc1dc40f feat: expose organization member display fields 2026-06-07 07:03:25 +02:00
Matthew Meszaros 03ddc2b6d8 feat: add unibox contact context panel 2026-06-07 06:18:38 +02:00
Matthew Meszaros 99d6a20c1b feat: add create task sequence action UI 2026-06-07 06:18:32 +02:00
Matthew Meszaros 484aea9597 feat: show task types on CRM tasks 2026-06-07 06:18:17 +02:00
Matthew Meszaros 30731f6595 feat: add CRM task type picker 2026-06-07 06:18:11 +02:00
Matthew Meszaros 49ac868956 feat: add CRM task type API hooks 2026-06-07 06:18:06 +02:00
Matthew Meszaros 64bf23500d feat: add contact email lookup client 2026-06-07 06:17:28 +02:00
Matthew Meszaros 1ae7afa4c8 feat: drop em dash from deals empty-state copy 2026-06-06 19:44:13 +02:00
Matthew Meszaros 0ac0ba80ca Merge remote-tracking branch 'origin/main' into feature/crm-system 2026-06-06 19:42:26 +02:00
Matthew Meszaros 050d09c961 feat: add cross-pipeline deals search surface
Replace the client-side, 100-row-capped deals board as the default view
with a server-driven cross-pipeline table so totals stop lying at scale.

- POST /crm/deals/search: faceted filter body (query, status, pipeline,
  stage, owner, campaign, value range, close-date range), whitelisted
  sort, offset pagination, and Contact/Stage/campaign hydrated via JOIN.
- POST /crm/deals/summary: COUNT + SUM(value) per status and per stage
  over the same filter, with a mixed-currency guard, so header and board
  column totals are true server aggregates.
- DealsTable: cross-pipeline default view (infinite scroll, server
  filters/sort, honest summary stats) with a Table|Board toggle; the
  kanban stays as the single-pipeline working view.
- Deal attribution: campaign_id + source_mailbox_id columns + indexes
  (migration 000022) as groundwork for revenue lineage.
2026-06-06 19:42:20 +02:00
Matthew Meszaros 2f5e0208f5 feat: refresh unibox labels after category delete
Invalidate Unibox search and overview caches after category deletion so cascaded thread-label removals are reflected immediately in the dashboard.
2026-06-06 19:37:19 +02:00
Matthew Meszaros 5f5f29c39f feat: add unibox thread label menu
Add the thread header label picker, create-and-add flow, cache-backed header chips, and keyboard access for assigning categories to conversations.
2026-06-06 19:37:19 +02:00