Skip to main content
POST
Rewrite a pending task's message

Authorizations

X-API-Key
string
header
required

Path Parameters

task_id
string<uuid>
required

Body

application/json

Rewrite what a pending task will send.

subject left out keeps the subject the task already carries; an explicit null clears it, which for an email means the follow-up lands in-thread. The two are told apart on the wire so a client fixing a typo in the body cannot silently strip a first email's subject.

body
string
required
Required string length: 1 - 50000
subject
string | null
Maximum string length: 255

Response

Successful Response

One row of the approval queue, every name the page shows resolved server-side.

The task table stores ids; the page shows names. The sequence, the step, the sender and the deciding person are all resolved here rather than by the client, so no raw actor id ever crosses the wire and a sequence or sender since deleted reads as a blank rather than a broken lookup.

approved_at
string<date-time> | null
required
approved_by_display_name
string | null
required

Who approved it, as a name. For a call, who made it. Null when nobody has, or the person could not be resolved.

body
string | null
required

The rendered message as it will send: an email body, a note, a LinkedIn message.

call_brief
string | null
required
channel
enum<string>
required

Which channel performs the task once it is allowed to run.

Available options:
linkedin,
email,
phone
contact_label
string | null
required

The contact as the queue names them: a name, else an address or a profile URL.

created_at
string<date-time>
required
due_at
string<date-time>
required

When the channel would run it if nobody were in the way.

editable
boolean
required

Whether the queue may rewrite the message before approving: pending, and a kind that carries text.

enrolment_id
string<uuid> | null
required
id
string<uuid>
required
kind
string
required

The LinkedIn action kind slug, email, or call.

linkedin_action_id
string<uuid> | null
required
note
string | null
required

What the person wrote when settling it: the call note, or why they rejected it.

outcome
string | null
required

How it ended: a call outcome, or the channel's own terminal word.

phone_number
string | null
required
record_id
string<uuid> | null
required
rejected_at
string<date-time> | null
required
rejected_by_display_name
string | null
required
resolved_at
string<date-time> | null
required
sender_profile_id
string<uuid> | null
required
sender_profile_name
string | null
required

Null when nobody in particular sends it, or the sender was deleted.

sequence_id
string<uuid> | null
required
sequence_name
string | null
required

Null for housekeeping work, or for a sequence since deleted.

status
enum<string>
required

Where one task stands.

PENDING is waiting on a person. SCHEDULED is approved, or never needed approval, and is waiting on the channel to execute it: the browser to claim the LinkedIn action, the engine to send the email. A LinkedIn task on an AUTO account is BORN scheduled, because the browser will run it regardless of what this row says, and a queue showing it as awaiting approval would be lying. A phone task never has approved_at at all: nobody approves a call, somebody makes it, and it goes PENDING to DONE with the outcome recorded. That is why approval is a stamp on the row and not a status of its own.

DONE, REJECTED and CANCELLED are terminal. DONE is the channel executed it, or the call was worked; REJECTED is a person refused it; CANCELLED is the channel gave up on it — failed, skipped, expired, or the contact was stopped underneath it.

Available options:
pending,
scheduled,
done,
rejected,
cancelled
step_id
string<uuid> | null
required
step_name
string | null
required

The step as the builder names it; null when the step no longer exists.

step_position
integer | null
required

The step's customer-visible ordinal, zero-based; null with the name.

subject
string | null
required
updated_at
string<date-time>
required