What Is About To Be Sent, To Whom, And When
li_scheduled_stepsEvery message step that has a send time on it, soonest first — the queue of what is actually about to go out.
No other read answers this. li_due_messages is what is already LATE, li_accepted_pending_message is an acceptance with no opener yet, and li_job_result lists JOBS — so it can say a send is queued without saying who it is to. This lists PEOPLE with times: stepId, kind, position, the full text, scheduledAt, originalDueAt, deferredSendAt, prospectTimezone, prospectLocalOriginalDue, prospectLocalDeferredSend, the campaign and the account that will really send it.
⚠️ IT DOES NOT FILTER ON CAMPAIGN STATUS, deliberately, and that is the most useful thing about it: PAUSING A CAMPAIGN DOES NOT STOP A STEP THAT IS ALREADY SCHEDULED. The worker never looks at the campaign when it sends a step, so a paused campaign's queued messages still leave. Each row carries campaignStatus so a paused one shows up as context rather than as an absence — and to actually stop those messages, hold them with li_cancel_steps.
A step with NO send time is not here: a later step's time is set when the one before it goes out, so those are sequence positions rather than messages waiting — thousands of them, and they would bury the sixty that are real.
Pass withinHours for a window (withinHours=24 is "what goes out today"), and campaignId to see one campaign's queue on its own — that filter goes into the QUERY, so the soonest steps it returns are the soonest steps OF THAT CAMPAIGN rather than whatever survived a page cut somewhere else. Both narrow on top of the account scope, never instead of it.
requeue is the last time this message was put back in the queue, or null when nothing has. Take the stepId straight to li_cancel_steps or li_edit_step.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many steps to return, soonest first (default 50, max 200). | |
| sessionId | No | Scope to one sending account id | |
| campaignId | No | One campaign only — "what is this campaign about to send". Narrows the QUERY on top of the account scope, so the page is the soonest steps OF THIS CAMPAIGN. From li_list_campaigns. | |
| withinHours | No | Only steps due within this many hours — "what is going out today" is withinHours=24. Omitted returns the soonest ones whenever they are due. | |
| sessionLabel | No | Scope to one sending account by label |