Activities
Activities are a universal event log — calls, emails, notes, meetings, transcripts, lead submissions, status changes. Every significant action on a contact or company should generate an activity.
Routes
GET /api/activities
List activities for a contact or company.
Auth: Required
Query params:
| Param | Type | Description |
|---|---|---|
contact_id | string | Filter by contact |
company_id | string | Filter by company |
type | string | Filter by activity_type |
limit | number | Max results. Default: 50 |
Response:
json
{
"ok": true,
"data": [
{
"id": "act_a1b2c3d4",
"contact_id": "ct_...",
"contact_name": "Jane Smith",
"company_id": "co_...",
"company_name": "Acme Corp",
"activity_type": "call",
"title": "Discovery call",
"description": "...",
"source": "manual",
"metadata": {},
"created_at": "2026-05-13T10:00:00Z"
}
]
}Activity types: call, email, meeting, note, transcript, lead_submitted, status_change, invoice_paid, support_request, portal_login, deal_created, engagement_started, hiring_intake, ai_summary
POST /api/activities
Log a new activity.
Auth: Required
Request body:
| Field | Type | Required | Description |
|---|---|---|---|
activity_type | string | yes | Type of activity |
contact_id | string | no | Link to contact |
company_id | string | no | Link to company |
title | string | no | Short title |
description | string | no | Full description or body |
source | string | no | Source system (e.g. gmail, manual, meetily) |
source_id | string | no | External ID in source system |
agent_id | string | no | Agent or user who performed action |
metadata | object | no | Arbitrary JSON metadata |
Response: 201 Created
json
{ "ok": true, "data": { "id": "act_a1b2c3d4" } }POST /api/activities/transcript
Log a meeting transcript from Meetily. Extracts speakers, generates AI summary, links to contacts.
Auth: Required
Request body:
| Field | Type | Required | Description |
|---|---|---|---|
transcript | string | yes | Full transcript text |
contact_ids | array | no | CRM contact IDs of participants |
company_id | string | no | Associated company |
meeting_title | string | no | Meeting title |
meeting_date | string | no | ISO date |
speakers | object | no | Map of speaker labels to contact IDs |
Response: 201 Created
json
{
"ok": true,
"data": {
"id": "act_a1b2c3d4",
"summary": "AI-generated meeting summary...",
"action_items": ["Follow up on proposal", "..."]
}
}