Activities
Anything that happened touching a contact or deal — notes, emails, calls, SMS, meetings, tasks, automation runs.
Type is one of NOTE, EMAIL, CALL, SMS, MEETING, TASK, AUTOMATION. Direction (where it applies) is INBOUND, OUTBOUND, or INTERNAL.
Log an activity
Record an activity. Most often called when a CRM agent finishes a touch (logged a call, sent an SMS) or when external automation completes.
Required scopes:
contacts.writeRequest body
| Name | Type | Description |
|---|---|---|
typerequired | string | Activity type. |
subjectrequired | string | Short label. 1–200 chars. |
body | string | Long body / note text. ≤ 8000 chars. |
direction | string | INBOUND | OUTBOUND | INTERNAL. |
contactId | string | Linked contact id. |
dealId | string | Linked deal id. |
Request body
{ "type": "NOTE", "subject": "Left voicemail", "contactId": "cln…" }Responses
201 CreatedCreated.example { "id": "act_7d3kp…", "type": "EMAIL", "direction": "OUTBOUND", "subject": "Follow-up on your visit", "body": "Hi Avery — wanted to check in…", "contactId": "cln1f8s7p…", "dealId": null, "createdAt": "2026-05-18T14:00:00Z" }
Code samples
curl -X POST https://app.contactfollowup.com/api/activities \
-H "Authorization: Bearer $HEARTHNOTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "type": "NOTE", "subject": "Left voicemail", "contactId": "cln…" }'List activities
Filtered activity feed. Sorted newest-first.
Required scopes:
contacts.readQuery parameters
| Name | Type | Description |
|---|---|---|
contactId | string | Activities for one contact. |
type | string | Filter by activity type. |
from | string | Earliest ISO 8601 datetime, inclusive. |
to | string | Latest ISO 8601 datetime, exclusive. |
Responses
200 OKActivities.example { "activities": [{ "id": "act_7d3kp…", "type": "EMAIL", "direction": "OUTBOUND", "subject": "Follow-up on your visit", "body": "Hi Avery — wanted to check in…", "contactId": "cln1f8s7p…", "dealId": null, "createdAt": "2026-05-18T14:00:00Z" }] }400 Bad RequestBadfromortodate.
Code samples
curl -X GET https://app.contactfollowup.com/api/activities \
-H "Authorization: Bearer $HEARTHNOTE_TOKEN" \
-H "Content-Type: application/json"