Skip to content

Tasks are your team’s to-dos in Sessionboard Platform. Each one has a title, an assignee, a due date with an optional time, an optional reminder, a priority, and the records it is about: contacts, sessions (a submission is a session), sponsors, exhibitors and groups. A task belongs to one event, or to the whole organization when it has no event. People see their tasks under My tasks, on the record’s Tasks card, and in their daily digest.

Tasks are not Portal tasks, which are the to-dos a speaker or other participant sees in the portal. The API does not change Portal tasks.

Tasks gives your team a single place to create, assign and track action items that are tied directly to the contacts, sessions and sponsors in your program. Each task carries a due date, optional reminder, priority and linked records, so nothing falls through the cracks between email threads and spreadsheets. The My Tasks view lets anyone on the team see their own queue or the full team’s workload, filter by status and export for reporting. Follow-up tasks attached to notes keep the reason a task was created visible alongside the conversation that prompted it.

ScopeLets the key
read:tasksList tasks and get a task
write:tasksCreate, update, complete, reopen and delete tasks

A write scope does not include the read scope. Tasks span every event, so a key restricted to particular events is refused with 403 ORG_WIDE_TOKEN_REQUIRED. Tasks are read and written as the key’s user: that person is the creator of the tasks the key makes, assignee=me is them, and the same rules apply as in Sessionboard. A key that belongs to no user gets 400 USER_REQUIRED. The assignee, the creator, a follower or an admin can change a task; only the creator or an admin can delete one. See API keys.

Terminal window
curl "https://public-api.sessionboard.com/v1/tasks?assignee=me&due=overdue" \
-H "x-access-token: $SESSIONBOARD_TOKEN"
FilterValues
event_idOne event’s tasks
assigneeme (the key’s user), a user id, the email of a member of your organization, none (unassigned) or any (everyone)
statusopen (the default) or completed
dueoverdue, today, upcoming or none (no due date)
due_from, due_toDue dates, YYYY-MM-DD, inclusive
record_type, record_idTasks linked to one record
prioritylow, normal, high or urgent
qWords in the title or description
sort, dirdue (the default), title, assignee, priority, event, created or records; asc or desc
tzThe time zone that decides “today” (defaults to the key’s user’s)
limit, offsetUp to 100 a page

The answer is { "data": [ … ], "pagination": { "total_results", "limit", "offset", "has_more" }, "counts": { … } }. counts gives open, due today, overdue, upcoming, no due date, milestone and completed totals for the same filters. One task comes back as { "data": { … } }, and errors as { "error", "message" }.

Send records as a list of { type, id }. The first record is the primary one. Every record must be in your organization, and in the task’s event when the task has an event.

typeid
contactThe contact’s id
sessionThe session’s id (submissions too)
sponsor, exhibitorThe sponsor’s or exhibitor’s id
groupThe group’s id

A task comes back with each record’s label (the contact’s name, the session’s title, the sponsor’s, exhibitor’s or group’s name). When the key’s user cannot read a record, it comes back with restricted: true and label: null.

Send assignee_email (or assignee_id). The assignee must be a member of your organization, or a user on the task’s event; anyone else is a 400. The assignee is told when a task is assigned to them, and again when someone else changes its due date, reassigns it or renames it. Send assignee_email: null to unassign.

Send the date as due_date (YYYY-MM-DD) and, if it matters, the time as due_time (HH:mm, 24-hour). Both are in the event’s time zone; an organization task uses the assignee’s time zone, else America/New_York. Without a time, the task is due at the end of that day and has_due_time is false. The response gives the local due_date, due_time and timezone, and due_at as a UTC timestamp.

reminder sends the assignee a reminder:

reminderWhen
noneNo reminder (the default for a task with no due date)
dueAt the due time
9am09:00 on the due date (the default for a task with a due date)
1hOne hour before the due time
1d09:00 the day before
1w09:00 a week before

reminder_at is when it goes out. Changing the due date, the reminder or the assignee moves it. An overdue task tells its assignee (and its creator) once.

Complete a task with an optional completion_note, a short reply such as “Forms received”. Pending reminders are cancelled and the creator and followers are told. Reopen a task to put it back; its reminder comes back if the time is still ahead.

Terminal window
curl -X POST "https://public-api.sessionboard.com/v1/tasks/7d1c2b8e-4f0a-4c3e-9b1d-2a6f8e0c41a1/complete" \
-H "x-access-token: $SESSIONBOARD_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "completion_note": "Forms received" }'

The MCP server has two tools on these endpoints: list_tasks and manage_task. Try: “What’s on my plate this week?”, “Remind Dana to chase Dr. Okafor’s disclosure by Friday”, “What’s overdue across my events?” or “Mark the AV task done: forms received”.

To create tasks from another system, see Create a follow-up task from your CRM.

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.