Rename A Campaign, Change Its ICP, Or Make It Priority
li_edit_campaignChange a running campaign's NAME, its ICP label, or its invite PRIORITY — the same edit as on the dashboard, in our database only.
PRIORITY (priority: true) sends this campaign's invites before every non-priority campaign on the same LinkedIn account: the others wait while it has anyone it may invite now, and resume within about an hour once it runs out. Several priority campaigns on one account take turns. It only reorders that account's invites — caps, sending hours and pacing are unchanged, and messages/follow-ups are unaffected. Set it only when the user asks for a campaign to go first; priority: false puts it back in turn.
⚠️ A RENAME CHANGES WHAT A BY-NAME IMPORT FINDS. li_ingest_prospects matches a managed campaign on its EXACT name, so once this is renamed an import still saying the old name will CREATE A SECOND CAMPAIGN rather than adding to this one. The reply says so, and names the new name. Pass campaignId to li_ingest_prospects instead and the name stops mattering.
TWO THINGS IT REFUSES, in words rather than silently: • THE STRATEGY, once the campaign holds anybody. Every prospect carries their OWN copy of the message text and delays, taken when they were imported — so repointing the strategy would change nothing for the people already in it and silently change every future import. That is two behaviours under one word, and a success here would read as "everyone's cadence is fixed". To change copy that is already queued, that is li_bulk_edit_steps (one sentence across the whole campaign) or li_edit_step (per person). On an EMPTY campaign nothing is snapshotted yet, so the strategy IS changeable and the reply says what it applies to. EXCEPTION: while every member is still untouched (no invite sent, no step sent or scheduled), resnapshot=true changes it AND re-copies everyone's step kinds and delays from the new strategy, keeping their own text; a person with no text for a new step kind is named unless stepTexts supplies it. dryRun previews. • THE SENDING ACCOUNT, always. A campaign is bound to the LinkedIn identity that is mid-conversation with its prospects; moving it would have a stranger send the next message. Create a campaign on the other account instead, or move people with li_move_contact.
Pass icpId: null to clear the ICP. Omitted fields are left exactly as they are — a call that renames does not clear the ICP as a side effect. Get the id from li_list_campaigns.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | A new name, up to 200 characters. Trimmed, because a by-name import trims what it is given — storing "Foo " would make an ingest for it quietly create a second campaign. | |
| icpId | No | A new ICP from li_list_icps, or null to clear it. OMITTED leaves it alone — null and omitted are not the same thing here. | |
| dryRun | No | With resnapshot: preview who would be re-copied, write nothing. | |
| priority | No | true = send this campaign's invites before every non-priority campaign on its LinkedIn account (they wait while it has anyone to invite); false = take turns again. Only when the user asks. It reorders invites only: it NEVER raises a daily or weekly cap and never changes sending hours or messages. Omitted leaves it alone. | |
| sessionId | No | Accepted only so moving a campaign between accounts is refused in words. | |
| stepTexts | No | Per-person text for step kinds a person has no text for under the new strategy (or to replace theirs). Implies resnapshot. Text is never invented: a person missing text for a new step is named and nothing is written. | |
| campaignId | Yes | From li_list_campaigns | |
| resnapshot | No | Re-copy every member's step kinds and delays from strategyId (or, without one, from the campaign's own strategy), keeping each person's own text. Only while EVERY member is untouched: invite not sent, no step sent or scheduled, nothing launched for them. Otherwise refused, naming who. Writes nothing on refusal. | |
| strategyId | No | A new strategy. On an EMPTY campaign it simply applies. On one holding people it is refused unless resnapshot=true. | |
| sessionLabel | No | Accepted only so moving a campaign between accounts is refused in words. |