Skip to main content
POST
Create a one-off task
A one-off task is a to-do for one contact that belongs to no sequence. Use it for a follow-up a rep promised on a call, or for a channel the Sequencer does not automate.

Choosing an action

Good to know

  • due_at is an absolute instant. Convert the rep’s local date and time yourself. Up to 5 minutes in the past is accepted; anything earlier is refused.
  • user_id is recorded as the creator and assignee_id holds the task. The creator, the assignee or a team admin can later edit or cancel it.
  • Send an Idempotency-Key. Without one, a retried request creates a second task.
  • For the same task across many contacts, use Create one-off tasks in bulk.

Authorizations

x-api-key
string
header
required

Team-scoped API key generated in the Salesfinity dashboard under Settings → Connections → API & Webhooks. A missing or invalid key returns HTTP 403.

Headers

Idempotency-Key
string

Makes this write safe to retry. Send a unique value, such as a UUID, and send the same value again when you retry the same request. A retry with the same key and the same request (method, path including the query string, and JSON body) returns the original successful response without acting twice. The same key with a different body or path returns 409, and so does a retry while the first request is still running; that one is safe to repeat after a moment. A request that fails frees its key, so a retry runs the write again: after a 5xx on a create, confirm with a GET before retrying. Keys are kept for 24 hours and are scoped to your team.

Body

application/json
user_id
string
required

The team member this call acts as. Must be an active member of the team the API key belongs to. Recorded as the task's creator.

Example:

"507f1f77bcf86cd799439011"

action
enum<string>
required

What the task asks for. call is placed on the assignee's Sequencer dial list. Completing manual_email sends a real email. generic is a plain to-do. linkedin_connect, linkedin_message, linkedin_view, linkedin_interact, meeting and sms are reminders: nothing is sent or dialed for them.

Available options:
call,
manual_email,
generic,
linkedin_connect,
linkedin_message,
linkedin_view,
linkedin_interact,
meeting,
sms
due_at
string<date-time>
required

ISO 8601 instant, at most 365 days ahead. A time up to 5 minutes in the past is accepted, to absorb clock skew and latency; anything earlier returns due_at cannot be in the past. Convert the rep's local date and time to an instant yourself.

contact
string
required

The contact the task is about: a 24-character contact id on your team. An id from another team returns 404.

priority
enum<string>
default:medium

Priority band. Defaults to medium.

Available options:
high,
medium,
low
assignee_id
string

Who holds the task, as a team member id. Must be a member of the team. Defaults to user_id.

subject
string

Short title. For a manual_email task, also the email's subject line.

Maximum string length: 998
note
string

Instructions for whoever works the task.

Maximum string length: 2000

Response

The created task, with contact and sequence expanded.

A task in a rep's queue. contact, sequence, sequence_step and user are documented as ids, but responses expand some of them into objects, as each property says.

_id
string

24-character hexadecimal id.

Example:

"507f1f77bcf86cd799439011"

team
string

Team id.

user
string

Assignee, as a team member id. GET /v2/sequencer/tasks with the default sort=due expands it to an object with _id, first_name, last_name, email and image.

contact
string

The contact the task is about. Every task response expands it to an object: _id plus whichever of these are set: first_name, last_name, email, linkedin_username, account (company), account_key, title, phone_numbers, timezone, website, email_domain, last_touched_at, last_touch, channel_stats, crm_facts.

sequence
string | null

The sequence that created the task. Absent on a one-off task. Every task response expands it to _id and name.

sequence_state
string | null

The enrollment the task belongs to. Absent on a one-off task.

sequence_step
string | null

The step that created the task. Absent on a one-off task. GET /v2/sequencer/tasks expands it to _id, order, step_type and display_name, and GET /v2/sequencer/tasks/{id} adds task_note; other responses return the id.

origin
enum<string>

sequence: created by a sequence step or a reaction. one_off: created by a rep.

Available options:
sequence,
one_off
created_by
string

Who created a one-off task. Absent on sequence tasks.

standalone
boolean

True for tasks outside the cadence: every one-off task, and to-dos a reaction created. Completing or skipping one never moves an enrollment.

action
enum<string>

What the task asks for. Sequence steps create call, manual_email and generic; the LinkedIn actions, meeting and sms occur only on one-off tasks.

Available options:
call,
manual_email,
generic,
linkedin_connect,
linkedin_message,
linkedin_view,
linkedin_interact,
meeting,
sms
state
enum<string>

pending: open. held: waiting while the enrollment is paused; it cannot be completed or skipped until it returns to pending. completed and skipped: resolved by a person. expired: skipped automatically at autoskip_at. cancelled: withdrawn, because the enrollment ended underneath it or a one-off task was cancelled.

Available options:
pending,
held,
completed,
skipped,
expired,
cancelled
priority
enum<string>

Priority band, copied from the step or set on a one-off task.

Available options:
high,
medium,
low
subject
string | null

Short title: the step's display name on a sequence task, or what the creator entered on a one-off task.

note
string | null

Instructions for the rep: the step's task note, or the one-off task's note. A note sent on completion replaces it.

body
string

The drafted email of a manual_email task, rendered when the step came due, or the body sent on completion.

due_at
string<date-time>

When the task is due.

autoskip_at
string<date-time> | null

When an untouched task is skipped automatically, moving to expired. Set from the step's auto-skip delay; absent when the step has none.

completed_at
string<date-time> | null

When the task was completed or skipped.

held_at
string<date-time> | null

When the task went held with its paused enrollment; null otherwise.

call_log
string | null

The call that resolved a call task: from a disposition in the dialer, or from call_log on complete.

outcome_applied_at
string<date-time> | null

When the outcome of the call that resolved this task was applied to the enrollment.

contact_list
string | null

The Sequencer dial list a pending call task is placed on; null or absent when it is not on one.

contact_list_item
string | null

The task's row in that dial list.

sending_claimed_at
string<date-time> | null

Set while the email of a manual_email task is being sent. The task stays pending until the send is confirmed; a failed send clears this.

error_reason
string

Why the last send of a manual_email task failed. Cleared when a new send starts.

created_at
string<date-time>
updated_at
string<date-time>