Skip to content
AdCrunch
Esc
↑↓navigate↵open⌘Jpreview
On this page

campaign_plan_assignee_add

Make a member of your organization an Assignee of a Campaign Plan.

Ask to make a member accountable for a Campaign Plan. An Assignee is a person of your organization who answers for the plan.

“Add me as an Assignee of the spring sale plan.”

The agent calls campaign_plan_assignee_add with the slug of the Campaign Plan and one person. The person is me (you), a usr_… id or an email. To find the members, the agent calls organization_member_list.

  • The person must be a current member. A person outside your organization and an unknown email get the same refusal. The refusal does not tell whether an email has an AdCrunch account.
  • An Assignee grants no access. Each role that can edit the plan can still edit it.
  • The call is idempotent. A second call with the same person changes nothing.
  • A Campaign Plan has at most 10 Assignees.
  • The plan does not change. Its revision stays, and an approved plan stays approved.

The row names the agent that added it, for example Claude, and you as its author. The Assignees show in the console on the page of the Campaign Plan.

Reference

Make a member of the organization an Assignee of a Campaign Plan: a person accountable for it. Send person as me (the person who connected you), a usr_… id or an email. organization_member_list gives the members. It is idempotent: a person who is an Assignee already stays as is. A record has at most 10 Assignees. An Assignee is a current member of the organization who is accountable for the record. An Assignee has no extra access: every role with the write scope can still edit the record. The change does not touch the revision or the status of the target. The row names your client as the agent that added it, and the person who connected you as its author. An approved plan stays approved. A Campaign Plan is AdCrunch’s own planning document — it is not a campaign on Meta or Google. For those, use list_campaigns and get_campaign.

Input

Argument Type Required Description
person string, at least 1 character yes The member: me (the person who connected you), a usr_… id or an email.
campaign_plan_name string yes The Campaign Plan slug — its stable per-organization handle.

Output

A successful call returns this object in structuredContent.

Field Type Always present Description
assignees array of object yes The current members who are accountable for the record, oldest first, at most 10. An Assignee grants no access.
assignees[].id string yes The usr_… id of the member.
assignees[].name string yes The name of the member.

Failure codes

A failed call has isError set, and structuredContent.error holds one of these codes. Errors describes the shape of a failed call.

  • not_found
  • not_a_member
  • assignee_limit
  • organization_unentitled
  • forbidden
  • invalid_request
  • internal_error

Scope

The token must hold campaign_plan:write. Auth & scopes lists each scope.

Annotations

A client reads these hints. A hint that the tool does not declare has the default value of the MCP specification.

  • Writes. The tool can change data.
  • Not destructive. The tool makes only additive changes.
  • Idempotent. A second call with the same arguments changes nothing more.
  • Closed world. The tool reads and writes the data of AdCrunch only.

Example

The arguments:

{
  "person": "ana@acme.test",
  "campaign_plan_name": "spring-sale"
}

The result, in structuredContent:

{
  "assignees": [
    {
      "id": "usr_4d8b12",
      "name": "Ana Silva"
    }
  ]
}

Was this page helpful?