# ads_update_workflow (https://sellersheetai.com/docs/mcp-api/tools/ads_update_workflow)

> Replace a saved AMC query on the store's instance.

Access: **DESTRUCTIVE** · toolset amazon_ads · family ads.amc-reporting

Amazon replaces the whole workflow: send every field to keep (read it first with ads_get_workflow). Ask the seller first. Amazon Ads API · updateWorkflow · PUT /amc/reporting/{instanceId}/workflows/{workflowId} Docs: https://advertising.amazon.com/API/docs/en-us/amc-reporting#tag/Workflows/operation/updateWorkflow Gate: approve — interactive: show the change (Amazon's preview first where one exists), wait for an explicit approve; autopilot: only when the seller's own words asked for this change; otherwise ask.

## Call it

MCP tool call:

```json
{
  "name": "ads_update_workflow",
  "arguments": {
    "store": "myStore-US",
    "country_code": "<country_code>",
    "workflow_id": "<workflow_id>",
    "body": {}
  }
}
```

Tool API (early access — contact us):

```bash
curl -X POST https://api.sellersheetai.com/api/v1/tools/ads_update_workflow \
  -H "Authorization: Bearer $SELLERSHEET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"store":"myStore-US","country_code":"<country_code>","workflow_id":"<workflow_id>","body":{}}'
```

## Arguments

| Name | Type | Required | Description |
|---|---|---|---|
| `store` | string | yes | the store ref `<store>-<CC>` (name-country, e.g. 'myStore-US') — one of get_user_context's store_refs, verbatim. |
| `country_code` | string | yes | the Ads profile's 2-letter country code (e.g. 'US'). |
| `workflow_id` | string | yes | the saved workflow's id. |
| `body` | object | yes | the request body — its fields, enums and required marks are in this parameter's schema; sqlQuery is required. Its workflowId is always workflow_id. |

## Result

- `data.workflow_id` — the workflow's id.

## Gotchas

- Every schedule that runs the workflow runs the new SQL from then on.
- A synced report's workflow (data.synced_ids of ads_list_workflows) is refused.