outreach_update_contacts
Rewrite the subject and body of contacts that are already in a campaign, in that same campaign (max 100 per call). Use this when the user asks to change or redo email copy; do NOT create a new campaign for that, and do not try outreach_add_contacts, which skips contacts the campaign already holds. Contacts are matched by email address; the address itself never changes. Only emails still waiting for review (the awaiting_launch count in outreach_get_campaign) are rewritten, and any approval they had is cleared so the user reviews the new copy. Emails that are queued, sending, sent or skipped come back as not_editable and are left exactly as they were: if a queued email should change too, ask the user to take it back to review in RankParse (Unapprove), then call this again; a sent email cannot change and a skipped one must be restored in RankParse first. Same copy rules as outreach_add_contacts: plain punctuation, NEVER use em-dashes, subject 2-5 words that reads like a note from a colleague, subject ≤500 chars, body ≤10,000. Returns one result per contact (updated, not_found, not_editable with the state it is in, or invalid with the reason). After updating, call outreach_launch_campaign again so the rewritten emails go back to the user for review.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| contacts | Yes | Contacts with their new copy | |
| campaign_id | Yes | Campaign id the contacts are already in |