update_automation
Changes an existing automation: its name, rule, action settings or on/off state.
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.
| Connection | Account URL, team member URL or OAuth |
|---|
Parameters
| Parameter | Type | Required | Accepts | Description |
|---|---|---|---|---|
automationId | string | Yes | any | Automation _id from list_automations. |
name | string | No | any | New name. |
trigger | object | No | any | Rule fields to change (same values as create_automation); anything left out keeps its saved value. |
trigger.when | string | No | 7 values | What starts it. |
trigger.then | string | No | 16 values | The action: where matching leads go. |
trigger.trigger | string | No | only-on-first-visit, on-every-visit, none | only-on-first-visit, on-every-visit or none. |
trigger.interval | string | No | immediately, after-session, daily, weekly, monthly | immediately, after-session, daily, weekly or monthly. |
trigger.repeatWindowHours | integer | No | 7 values | Act at most once per company or person in this many hours. |
trigger.dedupeScope | string | No | contact, company | What counts as the same for the repeat limit: contact or company. |
trigger.contactSelectionStrategy | string | No | flexible-job-titles, exact-job-titles, flexible-find-at-least-one-job-titles | How contacts are matched to the job titles: flexible-job-titles, exact-job-titles or flexible-find-at-least-one-job-titles. |
trigger.maxContactsToSend | integer | No | min 1 | Most contacts sent per company (at least 1). |
trigger.emailVerification | object | No | any | Which emails count: allowOnlyValidEmails, allowCatchAllEmails, allowGuessedEmails, allowWithoutEmails (true/false). |
trigger.filter | string | No | any | A saved filter id from list_filters, or null to drop the filter. |
actions | object | No | any | 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 | boolean | No | any | true 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"
]
}
}get_automation
Returns the full setup of one automation: name, isActive, when (trigger event), then (action), trigger, interval, frequency settings (repeatWindowHours, dedupeScope), contact selection, email verification rules, filter and the action settings, plus draft (true = unfinished, never runs) and errorMessage (why the last run failed, null when fine).
delete_automation
Deletes an automation permanently, so it no longer acts on any lead.