MCP tools

Add campaign

Add a new campaign node to the campaign tree.

Tool name: add-campaign.

Add a new campaign node to the campaign tree. Each batch holds AT MOST ONE campaign, if one already exists in this launch, the tool will refuse. Use only when the user is explicitly creating the first campaign in a fresh batch. Canonical objective values are 'website-conversions' | 'lead-form' | 'traffic', Meta's internal enums (OUTCOME_SALES, OUTCOME_LEADS, OUTCOME_TRAFFIC, etc.) are NOT accepted. If the user provided an explicit name in their message ('called X', 'named Y', 'name it Z'), pass that literal string as name, do NOT modify it to match the brand's naming convention. The naming convention is the DEFAULT pattern when the user did NOT specify a name; it is never an override of explicit user intent.

When to use

Create the FIRST campaign in a fresh batch. Each batch holds AT MOST ONE campaign, if one exists the tool refuses. NOT for adding ad sets or ads to an existing campaign, use addAdset/addAds for those.

Access

PropertyValue
Required scopewrite
PublishesNo
Read-onlyNo
DestructiveNo
IdempotentNo
Open worldNo

Input

FieldTypeRequiredDescription
campaignLaunchIdstringYesCampaign launch ID (a.k.a. batch ID). Read it from the Current Context block when one is in scope, or resolve it from a mention via listAccountCampaigns / the campaign tree when the user @-mentioned a different launch.
namestringYesName for the new campaign. At most 500 characters.
objectivestringNoCampaign objective. Must be one of: 'website-conversions', 'lead-form', 'traffic'. These are Koast-side canonical values, DO NOT pass Meta-native objective enum names like OUTCOME_SALES or OUTCOME_LEADS. One of website-conversions, lead-form, traffic.

Output

FieldTypeRequiredDescription
idstringYes
namestringYes
objectivestring | nullNo
validationobjectNo

REST equivalent

POST /v1/brands/{brandId}/launches/{launchId}/campaigns, Add campaign. CLI: koast add-campaign.

On this page