Workspace
Product analytics export
Send Deckbell events to your own Segment or PostHog, opt-in per workspace, with the full list of events and properties.
Send what happens in Deckbell (issues created and completed, cycles completed, agent runs) to your workspace's own Segment or PostHog, to chart how your team works next to the rest of your data. It's off until an admin turns it on.
Events contain ids, counts and settings only. Issue titles, descriptions, comments, chat messages, agent prompts and summaries, and cycle names are never sent.
Turn it on
- Open Integrations → Segment and PostHog → Configure. You need permission to manage integrations.
- Add one or both destinations:
- Segment write key: create an HTTP API source in Segment and copy its write key.
- PostHog project API key: in PostHog, Project settings → Project API
key (it starts with
phc_). Set PostHog host to US Cloud (https://us.i.posthog.com), EU Cloud (https://eu.i.posthog.com), or your self-hosted PostHog's public https address.
- Tick the events you want, turn on Send events and choose Save.
- Choose Send test event: a
Deckbell Test Eventshould arrive within a minute, and the page says whether each destination accepted it.
Keys are stored encrypted and never shown again; paste a new key to replace one, or choose Remove.
How events are sent
- Each event is queued and sent to each destination separately. If a destination is down, Deckbell retries for about two hours. A rejected key isn't retried; the error shows under Delivery on the settings page.
- Each event has one id for both destinations (Segment
messageId, PostHoguuid), so a retried event isn't counted twice. - The person who caused the event is the user: Segment
userIdand PostHogdistinct_idare their Deckbell user id. Events without a person useworkspace-<id>as an anonymous id. - The workspace is the group: Segment
context.groupIdand the PostHogworkspacegroup are the workspace id. - Issues brought in by an import don't send Issue Created.
Events
Every event has workspace_id and source (deckbell).
Issue Created
An issue was created, in the app, through the API or by an agent.
| Property | Description |
|---|---|
issue_id | The issue's id |
issue_key | Its key, such as HRB-142 |
project_id, project_key | Its project |
priority | none, urgent, high, medium or low |
estimate | Its estimate, if any |
cycle_id | Its cycle, if any |
is_subtask | Whether it's a sub-issue |
assignee_type | user, agent, or empty when unassigned |
Issue Completed
An issue moved to a done state. The same properties as Issue Created, plus:
| Property | Description |
|---|---|
hours_to_complete | Hours from creation to completion |
Cycle Completed
A cycle was completed.
| Property | Description |
|---|---|
cycle_id | The cycle's id |
project_id, project_key | Its project |
issues_total | Issues in the cycle |
issues_completed | Of those, how many are done |
completion_rate | issues_completed / issues_total, 0 to 1 |
planned_days | Days from start to end date |
days_late | Days completed after the end date (0 if on time) |
Agent Run Finished
An agent run succeeded, failed or was canceled.
| Property | Description |
|---|---|
run_id, agent_id | The run and agent |
agent_role | The agent's role, such as coder, reviewer or triage |
issue_id | The issue it worked on, if any |
status | succeeded, failed or canceled |
outcome | merged, closed or pr_open for its pull request, succeeded when it opened none, otherwise the status |
trigger | What started it, manual, assignment, schedule, mention or pull_request |
hosting_mode, task_size, strategy, escalated | How it ran |
duration_seconds | How long it ran |
input_tokens, output_tokens | Tokens used |
opened_pull_request | Whether it opened a pull request |
changed_files | Files changed |
Turn it off
Turn off Send events to stop sending right away, or choose Remove on both keys. Events already sent stay in Segment and PostHog.