Tasks & Activities API
Overview
The Tasks & Activities API enables you to manage tasks, log activities (calls, emails, meetings, notes), and track work across your CRM. Tasks can be assigned to team members, linked to contacts or deals, and prioritized for efficient workflow management.
Tasks
List Tasks
GET /v1/tasksQuery Parameters
- assignee_id (string) — Filter by assigned user.
- status (string) — Filter:
pending,in_progress,completed,cancelled. - priority (string) — Filter:
low,medium,high,urgent. - type (string) — Filter:
todo,call,email,meeting,follow_up. - due_before (string) — ISO 8601 date. Tasks due before this date.
- due_after (string) — ISO 8601 date. Tasks due after this date.
- related_to_type (string) — Filter by related resource type:
contact,deal,project. - related_to_id (string) — Filter by related resource ID.
- sort (string) — Sort:
due_date,priority,created_at,updated_at.
Example Request
curl -X GET "https://app.automatenexuscrm.com/functions/v1/api/tasks?status=pending&priority=high&sort=due_date&limit=25" \
-H "Authorization: Bearer YOUR_API_KEY"Example Response
{
"success": true,
"data": [
{
"id": "task_001",
"title": "Follow up with Acme Corp",
"description": "Send proposal revision based on feedback",
"status": "pending",
"priority": "high",
"type": "follow_up",
"assignee_id": "usr_abc123",
"assignee_name": "Sarah Johnson",
"due_date": "2026-03-25T17:00:00Z",
"related_to": {
"type": "deal",
"id": "deal_xyz789",
"name": "Enterprise License - Acme Corp"
},
"created_by": "usr_def456",
"created_at": "2026-03-20T10:00:00Z",
"completed_at": null
}
],
"meta": {"total": 12, "limit": 25, "has_more": false}
}Get a Task
GET /v1/tasks/:idCreate a Task
POST /v1/tasksRequest Body
- title (string, required) — Task title.
- description (string) — Detailed description. Supports markdown.
- assignee_id (string) — User ID to assign the task to.
- due_date (string) — Due date in ISO 8601 format.
- priority (string) — Priority level:
low,medium,high,urgent. Default:medium. - type (string) — Task type:
todo,call,email,meeting,follow_up. Default:todo. - related_to_type (string) — Type of related resource:
contact,deal,project. - related_to_id (string) — ID of the related resource.
- reminder (object) — Reminder settings with
type(email, push) andbefore_minutes.
Example
curl -X POST "https://app.automatenexuscrm.com/functions/v1/api/tasks" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Send contract to TechStart",
"assignee_id": "usr_abc123",
"due_date": "2026-03-28T10:00:00Z",
"priority": "high",
"type": "follow_up",
"related_to_type": "deal",
"related_to_id": "deal_xyz789",
"reminder": {"type": "email", "before_minutes": 60}
}'Update a Task
PUT /v1/tasks/:idComplete a Task
PUT /v1/tasks/:id/completeMarks a task as completed and records the completion timestamp.
curl -X PUT "https://app.automatenexuscrm.com/functions/v1/api/tasks/task_001/complete" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"completion_note": "Contract sent via DocuSign"}'Delete a Task
DELETE /v1/tasks/:idActivities
Activities represent interactions with contacts and deals — calls, emails, meetings, and notes. Unlike tasks (which are forward-looking), activities are records of things that have already happened.
List Activities
GET /v1/activitiesQuery Parameters
- type (string) — Filter:
call,email,meeting,note,sms. - contact_id (string) — Filter by contact.
- deal_id (string) — Filter by deal.
- user_id (string) — Filter by user who logged the activity.
- date_from (string) — ISO 8601 start date.
- date_to (string) — ISO 8601 end date.
Log an Activity
POST /v1/activitiesRequest Body
- type (string, required) — Activity type:
call,email,meeting,note,sms. - subject (string) — Activity subject line.
- description (string) — Detailed notes or body content.
- contact_id (string) — Associated contact ID.
- deal_id (string) — Associated deal ID.
- duration (integer) — Duration in minutes (for calls and meetings).
- outcome (string) — Outcome:
connected,voicemail,no_answer,busy,scheduled,completed. - occurred_at (string) — When the activity occurred. Defaults to now.
Example — Log a Call
curl -X POST "https://app.automatenexuscrm.com/functions/v1/api/activities" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "call",
"subject": "Discovery call with Jane Smith",
"description": "Discussed requirements for Q2 rollout. Interested in enterprise plan.",
"contact_id": "con_abc123",
"deal_id": "deal_xyz789",
"duration": 30,
"outcome": "connected"
}'Example — Log a Meeting
curl -X POST "https://app.automatenexuscrm.com/functions/v1/api/activities" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "meeting",
"subject": "Product demo for Acme Corp",
"description": "Full platform demo with technical team. Follow up with pricing.",
"contact_id": "con_def456",
"deal_id": "deal_xyz789",
"duration": 60,
"outcome": "completed",
"attendees": ["con_def456", "con_ghi789"]
}'Activity Feed
GET /v1/activities/feedReturns a unified activity feed showing all recent interactions across your workspace, sorted by most recent first. Useful for building dashboards and activity streams.
Troubleshooting
- Task not appearing for assignee: Verify the
assignee_idis a valid user in your workspace with active access. - Activity not linking to contact: Ensure the
contact_idexists. Activities with invalid contact IDs are created but not linked. - Reminder not firing: Reminders require the assignee to have notification preferences enabled in their profile settings.