Workflows, Analytics, and Files
All routes here need a project API key: Authorization: Bearer gi_live_.... See Authentication.
Workflows#
Manage workflow definitions and their ordered steps, inspect runs, and start manual or test runs. For what triggers and actions do, see Workflows and Webhooks.
| Method | Path | Description |
|---|---|---|
| GET | /api/projects/:projectId/workflows |
List workflows. |
| POST | /api/projects/:projectId/workflows |
Create a workflow. |
| GET | /api/projects/:projectId/workflows/:workflowId |
Get a workflow. |
| PUT | /api/projects/:projectId/workflows/:workflowId |
Update a workflow. |
| DELETE | /api/projects/:projectId/workflows/:workflowId |
Delete a workflow. |
| GET | /api/projects/:projectId/workflows/:workflowId/steps |
List workflow steps. |
| POST | /api/projects/:projectId/workflows/:workflowId/steps |
Create a workflow step. |
| PUT | /api/projects/:projectId/workflows/:workflowId/steps/:stepId |
Update a workflow step. |
| DELETE | /api/projects/:projectId/workflows/:workflowId/steps/:stepId |
Delete a workflow step. |
| PUT | /api/projects/:projectId/workflows/:workflowId/steps/reorder |
Reorder workflow steps. |
| GET | /api/projects/:projectId/workflows/:workflowId/runs |
List workflow runs with an optional limit. |
| GET | /api/projects/:projectId/workflows/:workflowId/runs/:runId |
Get one run with step snapshots. |
| POST | /api/projects/:projectId/workflows/:workflowId/trigger |
Start a manual workflow run. |
| POST | /api/projects/:projectId/workflows/:workflowId/test |
Test a workflow against supplied context. |
- Create a workflow with
name,trigger, and an optionaltriggerConfig. Steps usesortOrder,type,config, and an optionalcondition; updates are partial. - Triggers:
form_submitted,booking_created,booking_cancelled,booking_pending,booking_confirmed,new_contact_created,tag_added,manual, andscheduled. - Step types:
send_email,ai_research,add_tag,remove_tag,wait,condition,webhook, andupdate_contact. - A workflow can have at most 3
send_emailsteps. Creating a fourth, or changing another step tosend_email, returns 400.
Analytics and recent activity#
Read project activity and unique-journey booking and form funnels, and configure the analytics providers your pages send events to.
| Method | Path | Description |
|---|---|---|
| GET | /api/projects/:projectId/activity/recent |
Get recent project activity. |
| GET | /api/projects/:projectId/analytics/filters |
Get available analytics filter values. |
| GET | /api/projects/:projectId/analytics/overview |
Get conversion and traffic overview metrics. |
| GET | /api/projects/:projectId/analytics/bookings |
Get booking analytics. |
| GET | /api/projects/:projectId/analytics/forms |
Get form analytics. |
| GET | /api/projects/:projectId/analytics/integrations |
List GA4, Meta Pixel, and PostHog configuration. |
| PUT | /api/projects/:projectId/analytics/integrations/:provider |
Configure one analytics provider. |
- Detailed analytics and provider configuration require Pro.
periodis7d,30d,90d, orcustom. Custom needs both inclusivestartandendISO dates.- Filter by
resourceSlug, UTM source, medium, and campaign, direct or widget source, and mobile, tablet, or desktop device. - Booking analytics also need an IANA
timezone; dates, weekdays, and times are grouped in it. - Pick one event type or form for exact stages; without one you get a high-level summary across all of them.
- Detailed reports count unique journeys and include
availableSince, stage visitors, continuation and drop-off rates, conditional skips, journey sources, and visitor devices. - Booking reports add clicked weekdays, slot checks for selected dates, and booked weekday and time distributions. Every booking request counts once whatever its status, including rescheduled originals and replacements. Those booking distributions follow the period and event type filters only; traffic and device filters apply to visitor journeys.
- Reports never return names, emails, raw answers, journey IDs, IP addresses, or raw errors.
- Provider writes accept only public GA4 measurement IDs, numeric Meta Pixel IDs, and PostHog project keys with a US or EU host. Raw scripts and arbitrary URLs are rejected.
Files and project calendars#
Upload project files and list the calendars available through the project's connected Google accounts.
| Method | Path | Description |
|---|---|---|
| POST | /api/projects/:projectId/uploads |
Upload a project file. |
| DELETE | /api/projects/:projectId/uploads/:key |
Delete a project upload. |
| GET | /api/projects/:projectId/calendar/calendars |
List calendars available to the project. |
- Uploads use
multipart/form-dataand return an object key or URL for later use. - Deleting an upload needs the complete object key, including nested path segments.
- Calendar listing is read-only. Connect or disconnect Google accounts in the dashboard, then pick calendars through the event type calendar endpoints.