Skip to content

Create a follow-up task from your CRM

When a deal moves, a form comes back incomplete or a speaker emails your CRM, create a task in Sessionboard so the right person follows up on the right contact. You need a key with read:contacts, read:tasks and write:tasks, without an event restriction: see API keys. Tasks are part of Sessionboard Platform.

Use the Sessionboard contact id you stored when you synced the person from your CRM. If you don’t have it:

  • For a speaker or anyone else on a session, GET /v1/event/{eventId}/participants?email= gives the contact. It answers 404 for a contact with no session role.
  • For anyone else, page through Search event contacts and compare emails yourself. If more than one contact has the email, don’t guess: leave the task for a person, or link no record and say who it is in the description.

Keep the task’s data.id against the CRM record once you create it (step 3), and on later events update that task (step 4) instead of creating another.

If you have no stored id, list the contact’s open tasks and look for an exact match yourself. q matches words anywhere in the title or description, so a hit is not proof that it’s the same task:

Terminal window
curl "https://public-api.sessionboard.com/v1/tasks?record_type=contact&record_id=9b2e4c1a-0d3f-4a5b-8c7d-6e5f4a3b2c1d&limit=100" \
-H "x-access-token: $SESSIONBOARD_TOKEN"

Treat a task as yours only when its title is exactly the one you write, or its description carries your CRM case number. Page with offset while pagination.has_more is true. Update that task’s id only; if none matches, create one.

POST /v1/tasks with the event, the contact, the owner’s email from your CRM, and a due date in the event’s time zone:

Terminal window
curl -X POST "https://public-api.sessionboard.com/v1/tasks" \
-H "x-access-token: $SESSIONBOARD_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"event_id": 7001,
"title": "Chase Dr. Okafor'\''s disclosure",
"description": "Disclosure form came back unsigned (CRM case 58213).",
"records": [{ "type": "contact", "id": "9b2e4c1a-0d3f-4a5b-8c7d-6e5f4a3b2c1d" }],
"assignee_email": "dana@example.org",
"due_date": "2026-11-20",
"reminder": "9am",
"priority": "high"
}'

The response is 201 with { "data": { … } }. Store data.id against the CRM record so later changes find it. Dana is told about the task, and reminded at 09:00 on the 20th.

A 403 with TASKS_PLATFORM_ONLY means the organization uses a self-serve Sessionboard product, which has no Tasks. A 400 names the field to fix, such as an assignee who is not on the event; USER_REQUIRED means the key belongs to no user, so create one as a member of the organization.

Get release notes by email

A short digest on the days something new goes live — each change with a link to its note in the release notes. No marketing, and one click to stop.

Company email addresses only. We’ll send one email to confirm it’s you. Already use Sessionboard? You can also turn this on under Community → What’s new.