configure_ad_step
Configure ONE step of an ad's setup wizard and save it. Saving a step never activates or publishes: the summary step is refused here — finish setup with activate_ad. Use this to set up an ad step by step IN ORDER, repeatedly targeting each step the previous result reported as nextStepType, until nextStepType is 'summary' (then call activate_ad). Identify the step by step_index (from get_ad steps[].index) — step_type alone targets the FIRST step of that type. Out-of-order calls return 'prerequisite_not_met' / 'step_not_available'. CONNECTION IS NOT CONFIGURABLE HERE: the connection/auth step (credentials, API keys, OAuth) can never be set through MCP. 'oauth_required' / 'credentials_in_ui' is TERMINAL — hand the returned oauthUrl or editUrl to the USER, then STOP and wait; do NOT resend the step, guess field codes or retry. Returns {integrationId, stepType, status, ready, lastStep, nextStepType, oauthUrl, transitions[], message}; status is 'saved', 'oauth_required', 'credentials_in_ui', 'prerequisite_not_met', 'step_not_available' or 'validation_failed'. A product export/generation and a deferred category-attribute download run ASYNC — poll ad_status (productsRefreshing, productsSubmitting, categoryAttributeWarmup) before trusting counts or reading the attribute list. A dropdown field takes options[].value, never its position in the list. Full walkthrough (every step type's payload, the product-filter flags, optionsPending, the deferred-attribute branch): call get_koongo_help with slug 'ad-wizard-steps'. ad_id is from list_ads / create_ad. project_id is OPTIONAL (inferred for a single-project customer; project_id_required otherwise — then call list_projects).
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"ad_id": "<ad_id>"
},
"name": "configure_ad_step"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ad_id | Yes | ||
| payload | No | Settings for this step. Form / order-settings: {items: {fieldCode: value}} from get_ad steps[].fields. A connection/auth step takes NO payload and cannot be configured here — omit it (also for advance-only steps). | |
| step_type | No | Target the step by type (the nextStepType from the previous step). Ambiguous when two steps share a type — then pass step_index. | |
| project_id | No | ||
| step_index | No | Target the step by its index (get_ad steps[].index) — use this to disambiguate steps that share a step_type. |