LeadStatus
new, contacted, qualified, proposal, negotiation, won, lost
The lifecycle stages of a lead. Custom pipeline stages live separately on stageId (see /pipeline/stages).
LeadSource
website, referral, social_media, advertising, bot_cold_outreach, cold_call, email, event, meta, landing_page, whatsapp, other
Custom strings are accepted. When you send an unknown value on
POST /leads, it’s stored as other on the enum column and the original string is preserved in sourceMetadata.providedSource. This lets you keep your own UTM mapping (e.g. "google_ads_lookalike_q3") without losing the value.LeadTemperature
cold, warm, hot
LeadActivityType
created, status_changed, field_updated, assigned, unassigned, synced, note, call, email, meeting, social_message
System-generated activities are typed as created, status_changed, field_updated, assigned, unassigned, synced. The rest (note, call, email, meeting, social_message) are produced by users or by the API endpoints POST /leads/{id}/notes and POST /leads/{id}/communications.
CommunicationDirection
inbound, outbound
Used together with type on POST /leads/{id}/communications.
WebhookEventType
Lead events:
lead.created, lead.updated, lead.stage_changed, lead.assigned, lead.unassigned, lead.won, lead.lost, lead.deleted, lead.note_added, lead.communication_logged
Project events:
project.created, project.updated, project.deleted
Unit events:
unit.created, unit.updated, unit.status_changed
You can also retrieve this list at runtime from GET /webhooks/events — useful for dynamic dropdowns.
Project status
draft, published, archived
draft projects are visible only inside the dashboard. published projects can be exposed externally. archived projects are hidden but recoverable.
Unit status
available, reserved, sold
A unit.status_changed webhook fires whenever this changes via the API.
LeadActivityScope
lead_event (default), and reserved values for future system scopes.
The activityScope filter on GET /leads/{id}/activities defaults to lead_event, which is what’s normally relevant to integrations.
SequenceStatus
draft, running, paused, completed
The lifecycle of a cold-outreach sequence. A sequence starts as draft, becomes running when launched, can be paused and resumed, and reaches completed once every enrolled contact has been processed.
SequenceChannel
call, whatsapp, email
call and whatsapp are dispatchable. A whatsapp sequence is a multi-step drip: a channelConfig names the sending account and an ordered list of steps carries the per-step message content. email remains reserved for a planned channel and is not yet processed by the dispatch worker.WhatsappMediaType
image, video, document
The media type for a media attachment on a WhatsApp sequence (channelConfig.media) or on POST /whatsapp/send.
SequenceStepDelayUnit
minutes, hours, days
The unit for a WhatsApp drip step’s delayValue (see steps). Defaults to days.
SequenceContactStatus
pending, in_progress, sent, failed, skipped, stopped
The per-contact queue state within a sequence. Contacts start pending, move to in_progress while being dispatched, then settle as sent, failed, or skipped. For WhatsApp drips, stopped means the drip was halted mid-flow — the lead replied, opted out, or reached a won/lost stage.
RoundRobinConnectionSource
automation, meta, webhook, workflow
Where an inbound connection that feeds a round-robin pool originates.
RoundRobinConnectionProvider
custom, make, n8n, zapier
The integration provider behind a round-robin connection.
RoundRobinAssignmentSource
manual, meta, webhook, whatsapp, system
How a lead came to be assigned through a round-robin pool.