sequence/post_followups_by_id
Tool: create
Add a new followup email to a sequence.
Creates and attaches a new followup to the specified sequence. Returns the created followup with its assigned ID and counters (all zero at creation).
Always send an explicit
waitMinbetween 1 and 1000. IfwaitMinis omitted, Manyreach treats it as 0 and returns a validation error "must be between 1 and 1000" — the error message does not distinguish absent from out-of-range, so includewaitMinin every request.
subjectandbodytake personalization variables from a closed list — a variable is not the upper-cased prospect field, socustom1is{{CUSTOM_1}}and{{CUSTOM1}}is invalid. Full vocabulary, fallbacks and conditionals: personalization-variables. Follow-upsubjectandbodytake spintax too — spintax. Nothing is checked here; campaign/start_by_id validates every name and 422s on the bad ones.
useOriginalSubject: truedoes not waive the subject requirement.campaign/start_by_idstill validates that this followup has a non-empty effective subject — if the campaign's ownsubjectis empty, start fails even though this followup setuseOriginalSubject: true. Give the campaign a non-emptysubject(or set one directly on this followup instead). Omitsubjectentirely to inherit the campaign's subject. Do not sendsubject: "": an explicit empty string defeats inheritance andcampaign/start_by_idwill fail with a followup-validation error.
Conditional — shown while this account's documentation includes the Outreach Playbook
How many followups to add, and what to set waitMin/waitUnits to, is Sequence architecture's subject: the touch-count schools compared, with a stated default of 3-5 emails counting the opener, gaps widening — day 1, 3, 7, 14 — and a different angle each touch. For what each followup should say and whether it should ride the original thread (sendInSameThread), see Follow-up emails: a bump is a new argument — a proof point, a sharper angle, a smaller question — never "just bumping this up".
Arguments
| name | type | req | notes |
|---|---|---|---|
| id | integer | ✓ | Sequence ID — the object's sequenceId (int64) |
Body
| field | type | req | constraints | description |
|---|---|---|---|---|
| waitMin | integer | ✓ | 1–1000 | Wait duration before sending this followup |
| waitUnits | string | ✓ | one of: Minutes, Hours, Days | Unit for the wait period |
| subject | string | – | ≤1024 chars | Email subject line; may include personalization variables (see the note above) |
| body | string | – | HTML email body; may include personalization variables, Liquid conditionals and A/Z variants (see the note above) | |
| useOriginalSubject | boolean | – | Use the original campaign subject instead of a custom subject | |
| sendInSameThread | boolean | – | Send as a reply in the same email thread | |
| replyInThread | boolean | – | Reply in the original email thread | |
| replyInThreadToFollowupId | integer | – | int64, positive | Reply to a specific earlier followup in the thread |
Response
201 — Created followup object: see schemas/followup. Deltas: all counters are 0 at creation, and bounceCount/replyInThread may be absent from this single-item response.
Errors: 400, 401, 404, 406, 409, 415, 422, 429, 500 — shared schema: schemas/errors.
Invoke
Call create with name: "sequence/post_followups_by_id".