Tool reference

    Approve and queue a campaign article

    Make an authorized change through your connected assistant.

    MCP TOOL outwrite_approve_campaign_article

    outwrite_approve_campaign_article

    Approve the exact source-checked campaign article for its saved destination. Requires an enabled campaign, matching revision, schedule, campaign version and destination fingerprint from get_article_publication. Source-review failures cannot be bypassed. Timing now reschedules this article explicitly. Publication remains bound to this connection and stops if permission, campaign or article changes before sending. Read publication history to confirm delivery. Requires explicit user intent, confirm:true, a UUID idempotencyKey and maximumCredits for this immediate action. Recurring settings require recurringConsent:true after the user approves their ongoing costs. Retry identical arguments with the same key; inspect an uncertain receipt before any new action.

    Access and behavior

    PropertyValue
    Permissionpro:publish
    EffectCan change your workspace

    Read the current workspace state before making a change. Respect the returned proposal, revision and operation state rather than assuming the request has finished.

    Parameters

    ParameterRequiredTypeDetails
    workspaceIdOptionalstringFormat: uuid.
    itemRequiredstringFormat: uuid.
    revisionRequiredintegerMaximum 9007199254740991.
    expectedScheduledAtRequiredstringFormat: date-time.
    campaignVersionRequiredintegerMaximum 9007199254740991.
    destinationFingerprintRequiredstringAt least 1 characters. Up to 128 characters.
    timingOptionalstringOne of: scheduled, now. Default: "scheduled".
    idempotencyKeyRequiredstringFormat: uuid.
    confirmRequiredbooleanValue: true.
    maximumCreditsRequirednumberMinimum 0. Maximum 100000.
    recurringConsentOptionalbooleanDefault: false.

    Complete input schema

    The schema is generated from the registered tool contract. Account permissions, revision checks and cross-field validation also apply on the server.

    Code example
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "workspaceId": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        },
        "item": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        },
        "revision": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "expectedScheduledAt": {
          "type": "string",
          "format": "date-time",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        "campaignVersion": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "destinationFingerprint": {
          "type": "string",
          "minLength": 1,
          "maxLength": 128
        },
        "timing": {
          "default": "scheduled",
          "type": "string",
          "enum": [
            "scheduled",
            "now"
          ]
        },
        "idempotencyKey": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        },
        "confirm": {
          "type": "boolean",
          "const": true
        },
        "maximumCredits": {
          "type": "number",
          "minimum": 0,
          "maximum": 100000
        },
        "recurringConsent": {
          "default": false,
          "type": "boolean"
        }
      },
      "required": [
        "item",
        "revision",
        "expectedScheduledAt",
        "campaignVersion",
        "destinationFingerprint",
        "idempotencyKey",
        "confirm",
        "maximumCredits"
      ],
      "additionalProperties": false
    }
    

    Working safely

    For an identical retry, reuse its idempotency key. If the saved state changed, read it again and prepare a new request. An operation that is queued or running is not complete.

    See permissions and safe actions and assistant workflows.

    Need a hand with your workspace?Get help