Create one-off tasks in bulk
Creates one one-off task per contact, for up to 500 contacts, all with the same action, due date, priority, assignee, subject and note.
A contact that cannot get the task does not fail the batch: it is listed in skipped and the rest are created. Each skip has contact (the id you sent), code, name (the person’s name, else their email; null when the contact could not be read) and reason, a sentence to show. code is not_found (not on your team), no_phone (a call task, and no number to dial), no_email (an email task, and no address), already_open (the same open one-off task, with the same assignee, action and subject, already exists, or the contact was sent twice), opted_out (marked do not call, every number on the do-not-contact list, opted out of email, or the address on that list) or other. Group by code: the reason wording may change.
Every task gets the same fields, so a body needs action: manual_email; with any other action the whole request is refused with 422. Otherwise it behaves like POST /v2/sequencer/tasks: origin: one_off, call tasks are queued for the assignee’s dial list once for the whole batch, and assignee_id must be a member of the team.
Returns created, the created tasks with contact and sequence expanded, and skipped. Send an Idempotency-Key: a retry without one creates every task again. Counts against the Sequencer writes rate limit.
Handling the response
tasks holds the created tasks (left empty here for brevity). Check skipped on every call: a contact that
cannot get the task is reported there, and the rest are still created. Each skip has the contact id you sent,
a code, the person’s name (their email when they have no name, null when the contact could not be read)
and a reason to show.
code: the reason wording may change.
Good to know
- A
manual_emailbatch can carry a draftedbody, and every task in the batch gets the same draft. It is plain text, as on Create a one-off task. With any other action, the whole request is refused with 422 and nothing is created. - Call tasks are queued for the assignee’s dial list once for the whole batch.
- Send an
Idempotency-Key. A retry without one creates every task again. - For more than 500 contacts, send batches of 500, each with its own key.
Authorizations
Team-scoped API key generated in the Salesfinity dashboard under Settings → Connections → API & Webhooks. A missing or invalid key returns HTTP 403.
Headers
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
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.
"507f1f77bcf86cd799439011"
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.
call, manual_email, generic, linkedin_connect, linkedin_message, linkedin_view, linkedin_interact, meeting, sms 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 ids, 1 to 500. One task is created per entry, so a contact listed twice gets two tasks. Ids not on your team are returned in skipped.
500Priority band. Defaults to medium.
high, medium, low Who holds the task, as a team member id. Must be a member of the team. Defaults to user_id.
Short title. For a manual_email task, also the email's subject line.
998Instructions for whoever works the task.
2000Up to 20,000 characters. A draft email that every task in the batch gets. Plain text: a blank line starts a new paragraph and a single line break stays a line break. HTML is not rendered; tags reach the recipient exactly as typed. Variables are not filled in: an email whose subject or body still has a {{...}} is not sent, and the task stays pending with an error_reason such as Not sent: fill in {{first_name}} first. Needs action: manual_email: with any other action the whole request is refused with 422.
20000