Create Activity
Activities
Create Activity
Log a new activity (call, email, meeting, note, AI action) against a contact or deal
POST
Create Activity
Use this endpoint to record any user or agent action — a call, a sent email, a meeting, a handwritten note — so it appears on the contact and deal timeline.
Request
Headers
Requires an API key with the
activities:write permission. Fires the activity.created webhook event.Body Parameters
Activity type (e.g.,
call, email, email_sent, email_replied, meeting, note, task_completed, ai_action). Free-form — custom types are allowed.Short human-readable title (max 500 chars)
Full description or body (markdown supported)
UUID of the related contact
UUID of the related deal
Polymorphic entity type (e.g.,
campaign, task, list) when the activity relates to something other than a contact or dealUUID of the polymorphic entity
Human-readable name of the entity (for timeline display)
Arbitrary structured JSON for type-specific data (call duration, email subject, attendees, etc.). Max 8 KB serialized.
Response
Example Response
Errors
| Status | Code | Description |
|---|---|---|
| 400 | missing_required_field | type is missing |
| 400 | metadata_too_large | Serialized metadata exceeds 8 KB |
| 401 | invalid_key | Invalid or expired API key |
| 403 | insufficient_permissions | Missing activities:write permission |
| 404 | contact_not_found | Referenced contact_id does not exist |
| 404 | deal_not_found | Referenced deal_id does not exist |
| 429 | rate_limited | Rate limit exceeded |