PlatformDocs
MCP server

update_automation

Changes an existing automation: its name, rule, action settings or on/off state.

View as Markdown

Update automation · Changes data · Acts outside your account

Changes an existing automation: its name, rule, action settings or on/off state. Fields you leave out keep their current values, but a new actions object replaces all of the saved action settings. To only switch it on or off, use toggle_automation. Get automationId from list_automations, and read the current setup with get_automation first. Changes apply to every future matching lead, and an active LinkedIn campaign automation enrolls matching leads when saved. Confirm with the user when it changes where leads are sent. Returns the updated automation.

ConnectionAccount URL, team member URL or OAuth

Parameters

ParameterTypeRequiredAcceptsDescription
automationIdstringYesanyAutomation _id from list_automations.
namestringNoanyNew name.
triggerobjectNoanyRule fields to change (same values as create_automation); anything left out keeps its saved value.
trigger.whenstringNo7 valuesWhat starts it.
trigger.thenstringNo16 valuesThe action: where matching leads go.
trigger.triggerstringNoonly-on-first-visit, on-every-visit, noneonly-on-first-visit, on-every-visit or none.
trigger.intervalstringNoimmediately, after-session, daily, weekly, monthlyimmediately, after-session, daily, weekly or monthly.
trigger.repeatWindowHoursintegerNo7 valuesAct at most once per company or person in this many hours.
trigger.dedupeScopestringNocontact, companyWhat counts as the same for the repeat limit: contact or company.
trigger.contactSelectionStrategystringNoflexible-job-titles, exact-job-titles, flexible-find-at-least-one-job-titlesHow contacts are matched to the job titles: flexible-job-titles, exact-job-titles or flexible-find-at-least-one-job-titles.
trigger.maxContactsToSendintegerNomin 1Most contacts sent per company (at least 1).
trigger.emailVerificationobjectNoanyWhich emails count: allowOnlyValidEmails, allowCatchAllEmails, allowGuessedEmails, allowWithoutEmails (true/false).
trigger.filterstringNoanyA saved filter id from list_filters, or null to drop the filter.
actionsobjectNoanyThe action settings object, e.g. { "sentToSlack": { "sendMessagesTo": "leads" } }. Replaces all saved action settings. For HubSpot, { sentToHubspot: { createDeal: true, pipelineId, dealStageId } } also creates a deal per lead (ids from list_crm_pipelines).
enabledbooleanNoanytrue to activate, false to deactivate.

Accepted values

The exact values these fields take; anything else is refused.

trigger.when

new-lead-is-identified · new-intent-data-triggered · new-prospector-lead · new-web-scraping-signal · new-scout-lead · new-linkedin-engagement · new-tag-added-to-lead

trigger.then

send-to-slack · send-to-hubspot · send-to-pipedrive · send-to-salesforce · send-to-zoho · send-to-gohighlevel · trigger-webhook · send-to-zapier · send-to-clay · send-to-emailCampaign · send-to-linkedinCampaign · send-email-alert · send-csv-on-email · send-to-googleAdsCampaign · send-to-linkedinAdsAudience · send-to-metaAdsAudience

trigger.repeatWindowHours

12 · 24 · 72 · 168 · 720 · 2160 · 4320

Tool definition

What your assistant receives from tools/list:

{
  "name": "update_automation",
  "title": "Update automation",
  "annotations": {
    "title": "Update automation",
    "readOnlyHint": false,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": true
  },
  "inputSchema": {
    "type": "object",
    "properties": {
      "automationId": {
        "type": "string",
        "pattern": "^[0-9a-fA-F]{24}$",
        "description": "Automation _id from list_automations."
      },
      "name": {
        "type": "string",
        "description": "New name."
      },
      "trigger": {
        "type": "object",
        "properties": {
          "when": {
            "type": "string",
            "enum": [
              "new-lead-is-identified",
              "new-intent-data-triggered",
              "new-prospector-lead",
              "new-web-scraping-signal",
              "new-scout-lead",
              "new-linkedin-engagement",
              "new-tag-added-to-lead"
            ],
            "description": "What starts it."
          },
          "then": {
            "type": "string",
            "enum": [
              "send-to-slack",
              "send-to-hubspot",
              "send-to-pipedrive",
              "send-to-salesforce",
              "send-to-zoho",
              "send-to-gohighlevel",
              "trigger-webhook",
              "send-to-zapier",
              "send-to-clay",
              "send-to-emailCampaign",
              "send-to-linkedinCampaign",
              "send-email-alert",
              "send-csv-on-email",
              "send-to-googleAdsCampaign",
              "send-to-linkedinAdsAudience",
              "send-to-metaAdsAudience"
            ],
            "description": "The action: where matching leads go."
          },
          "trigger": {
            "type": "string",
            "enum": [
              "only-on-first-visit",
              "on-every-visit",
              "none"
            ],
            "description": "only-on-first-visit, on-every-visit or none."
          },
          "interval": {
            "type": "string",
            "enum": [
              "immediately",
              "after-session",
              "daily",
              "weekly",
              "monthly"
            ],
            "description": "immediately, after-session, daily, weekly or monthly."
          },
          "repeatWindowHours": {
            "type": "integer",
            "enum": [
              12,
              24,
              72,
              168,
              720,
              2160,
              4320
            ],
            "description": "Act at most once per company or person in this many hours."
          },
          "dedupeScope": {
            "type": "string",
            "enum": [
              "contact",
              "company"
            ],
            "description": "What counts as the same for the repeat limit: contact or company."
          },
          "contactSelectionStrategy": {
            "type": "string",
            "enum": [
              "flexible-job-titles",
              "exact-job-titles",
              "flexible-find-at-least-one-job-titles"
            ],
            "description": "How contacts are matched to the job titles: flexible-job-titles, exact-job-titles or flexible-find-at-least-one-job-titles."
          },
          "maxContactsToSend": {
            "type": "integer",
            "minimum": 1,
            "description": "Most contacts sent per company (at least 1)."
          },
          "emailVerification": {
            "type": "object",
            "description": "Which emails count: allowOnlyValidEmails, allowCatchAllEmails, allowGuessedEmails, allowWithoutEmails (true/false)."
          },
          "filter": {
            "type": "string",
            "description": "A saved filter id from list_filters, or null to drop the filter."
          }
        },
        "description": "Rule fields to change (same values as create_automation); anything left out keeps its saved value."
      },
      "actions": {
        "type": "object",
        "description": "The action settings object, e.g. { \"sentToSlack\": { \"sendMessagesTo\": \"leads\" } }. Replaces all saved action settings. For HubSpot, { sentToHubspot: { createDeal: true, pipelineId, dealStageId } } also creates a deal per lead (ids from list_crm_pipelines)."
      },
      "enabled": {
        "type": "boolean",
        "description": "true to activate, false to deactivate."
      }
    },
    "required": [
      "automationId"
    ]
  }
}

On this page