edit_campaign
Change settings for a running or drafted HeyLead campaign without sending messages or adding prospects; update only the fields you pass.
Instructions
Change one running or drafted campaign's settings.
Pass only what you want to change; every field left empty keeps its current
value. Use it to rename a campaign, give it a booking link, feed it context
that makes the messages more specific (offerings, case studies, project
brief), say who it is for (campaign_intent, campaign_type), or set the
limits it sends under (volume, caps, follow-ups, business hours).
It edits settings only: it sends nothing and adds no prospects. A change
applies to the messages written from now on, not to ones already sent. Use
create_campaign for a new campaign, and campaign(action=...) to launch,
pause or stop one.
Args:
campaign_id: Which campaign to edit. Edits the first active campaign if empty.
name: New campaign name. Leave empty to keep current name.
mode: Only "autopilot" supported (copilot mode was removed). Whether
messages wait for a person is the workspace's approval mode:
scheduler(action="approval_mode").
booking_link_page_ok: Explicitly keep a website page as the booking link.
booking_link: Calendar/booking URL (e.g., "https://cal.com/you/15min").
Used in reply_to_prospect() for positive replies to suggest meetings.
offerings: What you offer (products, services, value props). Used in follow-up messages.
case_studies: Brief case studies or success stories. Used for social proof in messages.
social_proofs: Social proof (logos, metrics, testimonials). Used in follow-up messages.
campaign_preferences: Custom messaging preferences (tone, topics to avoid, etc.).
campaign_intent: Message stance: "sell", "buy", "partner", "recruit" or "research".
campaign_type: Prompt family: "outbound" (default) or "job_search".
job_search replaces the intent-specific invitation note and first
DM with ones that may name the company and the role, use one
credible proof point at most and never list a CV. InMail is not
routed by this switch, and campaign_intent still selects the
system prompt. Empty keeps the current value.
goal: What the campaign is for: "sell", "job_search", "hire",
"partner", "buy" or "research". Rewrites campaign_type and
campaign_intent to match. Empty keeps the current value.
project_brief: Full project paste the model sees. Required before launch,
resume, or auto-send.
offer_outcome: The Offer card's outcome: what changes for the reader,
in their words. Editing it unconfirms the card.
offer_how: The Offer card's how: what the sender does, said only in a
reply. Editing it unconfirms the card.
offer_proof: The Offer card's proof, used at most once per thread.
Editing it unconfirms the card.
offer_ask: The Offer card's one question. Editing it unconfirms the card.
offer_confirm: "on" confirms the Offer card; first messages resume.
product: Optional structured fact: product / what you buy or sell.
go_live: Optional structured fact: go-live date.
volume: Optional structured fact: volume model.
must_confirm: Optional comma-separated questions a vendor must confirm.
voice_mode: "text_only". Messages are text. Leave empty to keep current value.
enable_profile_views: View prospect profiles before following: "on" or "off".
enable_follows: Follow prospects before inviting: "on" or "off".
enable_endorsements: Endorse skills before inviting: "on" or "off".
enable_engagements: Comment/react on posts before inviting: "on" or "off".
enable_followups: Send follow-up DMs after connection: "on" or "off".
enable_auto_replies: "on" or "off". On: HeyLead answers replies itself,
or holds each answer in Approvals when the workspace reviews every
message. Off: HeyLead answers no reply and drafts none; every reply
waits for you in Needs attention, and no booking link or calendar
invite goes out. To read answers before they go, keep it on with
review mode, not off.
enable_invitations: Send connection invitations: "on" or "off".
When off, campaign only DMs existing connections (no invitations sent).
enable_discovery: Auto-find and enrol new prospects: "on" or "off".
exclude_connections: "on" to never message anyone who was already a
1st-degree connection before this campaign started — they are
refused at enrolment and skipped at send time instead of being
DMed. People who accept this campaign's own invitation still get
the opener. Turning it on turns connections_only off.
connections_only: "on" to target only your existing 1st-degree
connections (DM-only, no invitations). Turning it on turns
exclude_connections off.
Turn off for curated campaigns with a fixed, hand-picked list.
exclude_competitors: "on" to never first-touch people who work at
competing companies. Default on. Empty list excludes nobody
until research or competitor_companies names them.
competitor_companies: Comma-separated employer names to skip.
enable_reply_agent: Reply exception agent: "on" (act), "off", or
"observe". Empty keeps the current value. Unset defaults to act.
enable_strategist_replan_agent: Strategist replan: "on", "off", or
"observe". Empty keeps the current value.
enable_hot_lead_closer: Hot-lead closer: "on", "off", or "observe".
Empty keeps the current value.
enable_coordinator_agent: Coordinator digest/hold: "on", "off", or
"observe". Empty keeps the current value.
engagement_mode: Engagement style: "auto" (30% react / 70% comment),
"comment_only", or "react_only".
max_followups: Max follow-up messages (1-5). 0 to keep current.
weekly_meeting_target: Meetings this campaign should book per week.
The daily report reads it as the Key Result and says whether the
campaign is on track. 0 means no goal this week; -1 keeps current.
followup_delay_days: Custom day intervals as comma-separated list
(e.g., "1,3,7,14"). Leave empty to keep current.
invite_note: Invitations carry a note: "on" (default) or "off". Off sends
the bare invitation; the first words are the DM a working day after
they accept.
withdraw_stale_invites: Auto-withdraw stale invites: "on" or "off".
stale_invite_days: Days before withdrawing stale invites (7-60). 0 to keep current.
inmail_fallback: Escalate quiet invitations with one InMail: "on" or "off".
Free tier sends only to Open Profile members (zero credits).
inmail_fallback_days: Quiet days before the InMail (1-60). 0 to keep current.
inmail_first_touch: InMail as first touch: "on" or "off". Unset follows inmail_fallback.
send_in_business_hours: Send only in business hours: "on" or "off". On by default
(weekdays 08:00-22:00 in your own timezone, or London when it is unknown,
unless the workspace set its own window).
active_days: Active send days as comma-separated numbers (0=Mon, 6=Sun).
E.g., "0,1,2,3,4" for weekdays. Leave empty to keep current.
message_language: The language every message to a prospect is
written in: "en", "prospect" (their latest message, else their
LinkedIn profile's language, else English) or a code: uk, de, fr,
es, pl, pt, it. Never set this without asking the user. Any
explicit value, "en" included, answers launch's language question.
Empty keeps the current value.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| goal | No | ||
| mode | No | ||
| name | No | ||
| volume | No | ||
| go_live | No | ||
| product | No | ||
| offer_ask | No | ||
| offer_how | No | ||
| offerings | No | ||
| voice_mode | No | ||
| active_days | No | ||
| campaign_id | No | ||
| invite_note | No | ||
| offer_proof | No | ||
| voice_noise | No | ||
| booking_link | No | ||
| case_studies | No | ||
| must_confirm | No | ||
| campaign_type | No | ||
| max_followups | No | ||
| offer_confirm | No | ||
| offer_outcome | No | ||
| project_brief | No | ||
| social_proofs | No | ||
| enable_follows | No | ||
| voice_humanize | No | ||
| campaign_intent | No | ||
| engagement_mode | No | ||
| inmail_fallback | No | ||
| connections_only | No | ||
| enable_discovery | No | ||
| enable_followups | No | ||
| message_language | No | ||
| stale_invite_days | No | ||
| enable_engagements | No | ||
| enable_invitations | No | ||
| enable_reply_agent | No | ||
| inmail_first_touch | No | ||
| enable_auto_replies | No | ||
| enable_endorsements | No | ||
| exclude_competitors | No | ||
| exclude_connections | No | ||
| followup_delay_days | No | ||
| booking_link_page_ok | No | ||
| campaign_preferences | No | ||
| competitor_companies | No | ||
| enable_profile_views | No | ||
| inmail_fallback_days | No | ||
| weekly_meeting_target | No | ||
| enable_hot_lead_closer | No | ||
| send_in_business_hours | No | ||
| withdraw_stale_invites | No | ||
| enable_coordinator_agent | No | ||
| enable_strategist_replan_agent | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |