Connectors · Email & messaging
Salesforce Marketing Cloud Engagement MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Salesforce Marketing Cloud Engagement and the rest of your systems. It gives your agent 271 Salesforce Marketing Cloud Engagement actions (130 reads, 103 writes and 38 that wait for a confirmation) and holds the Salesforce Marketing Cloud Engagement credential itself, so the agent never does. It paces Salesforce Marketing Cloud Engagement's limits and records every call.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "salesforce_marketing_cloud.assets.list", intent: "check which Salesforce Marketing Cloud Engagement account is connected"}# List assets · read · 1 upstream call- 271actionsin one signed file
- 130readlook, never change
- 103writecreate and update
- 38wait for a yesdestructive, confirmed first
Set up
Connect Salesforce Marketing Cloud Engagement in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect Salesforce Marketing Cloud Engagement.
OAuth 2.0, client credentials. Paste the app's client id and secret; actionlake fetches and renews the token, and nobody has to sign in. actionlake stores what you paste write-only, sealed under your tenant's key.
client_idClient ID of a Marketing Cloud installed package's API Integration component (Setup > Apps > Installed Packages >…client_secretClient secret of the same API Integration componentaccount_idMID of the business unit to act in (shown under the account name, top right of Marketing Cloud)tenant_hostWhere your Salesforce Marketing Cloud Engagement lives: your tenant host
account { op: "connections.requirements", service: "salesforce_marketing_cloud" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "salesforce_marketing_cloud.assets.list" }# list assets · read · 1 upstream callcheck { action: "salesforce_marketing_cloud.transactional_email.send", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Salesforce Marketing Cloud Engagement at a glance
- Sign-in
- OAuth 2.0, client credentials. Paste the app's client id and secret; actionlake fetches and renews the token, and nobody has to sign in.
- You provide
client_idclient_secretaccount_id- Setup fields
tenant_host- Limits we pace to
- 2,500 calls a minute, per connection
- API covered
- Marketing Cloud Engagement REST API (tenant-specific endpoints, OAuth 2.0 installed packages), at your Salesforce Marketing Cloud Engagement instance's API base URL, which you enter when connecting
- Built from
- Salesforce Marketing Cloud Engagement's documentation, read 23 October 2026developer.salesforce.comGitHubdeveloper.salesforce.com
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 108 of 130 reads, for up to 5 minutes; a write clears what it affects
- Shared entities
- 2, so ask can line Salesforce Marketing Cloud Engagement up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Salesforce Marketing Cloud Engagement.
271 actions in 55 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 130readlook, never change
- 103writecreate and update
- 38destructivewait for a confirmation
Journeys
3716 read · 14 write · 7 destructive
List journeys · Get journey · Create journey · Update journey version
Automations
123 read · 5 write · 4 destructive
List automations · Create automation · Get automation · Run automation once
Data events
120 read · 12 write · 0 destructive
Increment data extension column by data extension ID (asynchronous) · Increment data extension column by data extension key (asynchronous) · Increment data extension column by data extension ID · Increment data extension column by data extension key
SMS
114 read · 5 write · 2 destructive
Send SMS to numbers · Create SMS keyword · Create SMS opt-in message · Queue mobile-originated message
Transactional email
115 read · 4 write · 2 destructive
List Email send definitions · Send transactional Email · Create Email send definition · Get Email send definition
Transactional SMS
115 read · 4 write · 2 destructive
Send transactional SMS · List SMS send definitions · Create SMS send definition · List unsent transactional SMS
Push messages
103 read · 6 write · 1 destructive
Broadcast push message · Create push message · Send push message to contacts · Send push message to list
Assets
95 read · 3 write · 1 destructive
List assets · Get asset · Delete asset · Query assets (advanced)
47 more areas · 158 actions
- Contacts 9
- Data extension rows 9
- Journey history 9
- Event definitions 8
- Ens callbacks 7
- Events 6
- File transfers 6
- Queries 6
- Campaigns 5
- Categories 5
- Domain verification 5
- Ens subscriptions 5
- Push locations 5
- Attribute set definitions 4
- Campaign assets 4
- Definition templates 4
- Imports 4
- Journey activities 4
- Simulations 4
- Transactional journeys 4
- Journey categories 3
- Platform 3
- Sales cloud events 3
- System overview 3
- Triggered sends 3
- Abn tests 2
- Attribute groups 2
- Custom activities 2
- Dashboard config 2
- Goal statistics 2
- Journey logs 2
- Scripts 2
- Trigger stats 2
- Address 1
- Attributes 1
- Audit events 1
- Automation folders 1
- Contact schemas 1
- Definition logs 1
- Developer logs 1
- Engine settings 1
- FTP locations 1
- Journey builder 1
- Recommendation types 1
- Recommendations 1
- Security events 1
- Wait statistics 1
Top actions
The Salesforce Marketing Cloud Engagement API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 50 of Salesforce Marketing Cloud Engagement's 50 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
salesforce_marketing_cloud.assets.listList assets | List assets. | read | content.file.list77 connectors |
salesforce_marketing_cloud.categories.listList content folders | List content folders. | read | content.folder.list62 connectors |
salesforce_marketing_cloud.transactional_email.definitions.listList Email send definitions | List Email send definitions. | read | comm.email_template.list40 connectors |
salesforce_marketing_cloud.transactional_email.sendSend transactional Email | Send transactional Email. | write | comm.email.send32 connectors |
salesforce_marketing_cloud.transactional_sms.sendSend transactional SMS | Send transactional SMS. | write | comm.sms.send26 connectors |
salesforce_marketing_cloud.assets.getGet asset | Get asset. | read | content.file.get74 connectors |
salesforce_marketing_cloud.automations.listList automations | List automations. | read | automation.workflow.list51 connectors |
salesforce_marketing_cloud.platform.token_context.getGet token context | Get token context. | read | identity.current_user.get307 connectors |
salesforce_marketing_cloud.campaigns.listList campaigns | List campaigns. | read | comm.campaign.list41 connectors |
salesforce_marketing_cloud.categories.createCreate content folder | Create content folder. | write | content.folder.create62 connectors |
salesforce_marketing_cloud.campaigns.createCreate campaign | Create campaign. | write | comm.campaign.create38 connectors |
salesforce_marketing_cloud.assets.deleteDelete asset | Delete asset. | destructive | content.file.delete68 connectors |
Try it
Prompts to paste into Claude.
Each one names the Salesforce Marketing Cloud Engagement actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Which Salesforce Marketing Cloud Engagement files changed this week, and who changed them?
calls
salesforce_marketing_cloud.assets.list - Writewrite
Send transactional Email in Salesforce Marketing Cloud Engagement. Show me exactly what you will send before you save it.
calls
salesforce_marketing_cloud.transactional_email.send
Governance for Salesforce Marketing Cloud Engagement
Destructive actions wait for a yes.
38 Salesforce Marketing Cloud Engagement actions are destructive. The first 10:
- Delete asset
salesforce_marketing_cloud.assets.delete - Delete Email send definition
salesforce_marketing_cloud.transactional_email.definitions.delete - Delete campaign
salesforce_marketing_cloud.campaigns.delete - Delete content folder
salesforce_marketing_cloud.categories.delete - Run automation once
salesforce_marketing_cloud.automations.run_once - Delete automation
salesforce_marketing_cloud.automations.delete - Delete ENS callback
salesforce_marketing_cloud.ens_callbacks.delete - Delete journey
salesforce_marketing_cloud.journeys.delete - Remove contacts from journey
salesforce_marketing_cloud.journeys.contact_exit - Trigger automations
salesforce_marketing_cloud.automations.trigger
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
Delete asset?
intent: the user asked me to delete asset
account { op: "keys.create", name: "salesforce-marketing-cloud-agent", allowed_actions: ["salesforce_marketing_cloud.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "salesforce_marketing_cloud.assets.delete", approver: "[email protected]" }, { match: "salesforce_marketing_cloud.transactional_email.definitions.delete", approver: "[email protected]" }, { match: "salesforce_marketing_cloud.campaigns.delete", approver: "[email protected]" } ]}Cost
What Salesforce Marketing Cloud Engagement costs on actionlake.
Every Salesforce Marketing Cloud Engagement action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Salesforce Marketing Cloud Engagement refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 271 Salesforce Marketing Cloud Engagement actions
- 271actions pageeach page of a long list is one call
- 108reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Salesforce Marketing Cloud Engagement action.
271 actions by area: the id your agent calls, what it does, and its effect.
Journeys37
salesforce_marketing_cloud.journeys.auditGet journey audit logreadsalesforce_marketing_cloud.journeys.audit_by_keyGet journey audit log by keyreadsalesforce_marketing_cloud.journeys.audit_searchSearch journey audit logsreadsalesforce_marketing_cloud.journeys.campaign.updateAssociate journey with campaignwritesalesforce_marketing_cloud.journeys.contact_exitRemove contacts from journeydestructivesalesforce_marketing_cloud.journeys.contact_exit_statusGet contact exit statusreadsalesforce_marketing_cloud.journeys.contact_membershipList journeys a contact is inreadsalesforce_marketing_cloud.journeys.createCreate journeywritesalesforce_marketing_cloud.journeys.deleteDelete journeydestructivesalesforce_marketing_cloud.journeys.delete_by_keyDelete journey by keydestructivesalesforce_marketing_cloud.journeys.getGet journeyreadsalesforce_marketing_cloud.journeys.get_by_keyGet journey by keyreadsalesforce_marketing_cloud.journeys.listList journeysreadsalesforce_marketing_cloud.journeys.pausePause journeywritesalesforce_marketing_cloud.journeys.pause_by_keyPause journey by keywritesalesforce_marketing_cloud.journeys.priority.updateSet journey prioritieswritesalesforce_marketing_cloud.journeys.publishPublish journeywritesalesforce_marketing_cloud.journeys.publish_by_keyPublish journey by keywritesalesforce_marketing_cloud.journeys.publish_statusGet journey publish statusreadsalesforce_marketing_cloud.journeys.resumeResume journeywritesalesforce_marketing_cloud.journeys.resume_by_keyResume journey by keywritesalesforce_marketing_cloud.journeys.statusGet journey run statusreadsalesforce_marketing_cloud.journeys.status_by_keyGet journey run status by keyreadsalesforce_marketing_cloud.journeys.stopStop journeydestructivesalesforce_marketing_cloud.journeys.stop_asyncStop journey asynchronouslydestructivesalesforce_marketing_cloud.journeys.stop_async_by_keyStop journey asynchronously by keydestructivesalesforce_marketing_cloud.journeys.stop_by_keyStop journey by keydestructivesalesforce_marketing_cloud.journeys.summaryGet journey summaryreadsalesforce_marketing_cloud.journeys.updateUpdate journey versionwritesalesforce_marketing_cloud.journeys.update_by_idUpdate journey by IDwritesalesforce_marketing_cloud.journeys.update_by_keyUpdate journey by keywritesalesforce_marketing_cloud.journeys.validateValidate journeywritesalesforce_marketing_cloud.journeys.validate_by_keyValidate journey by keywritesalesforce_marketing_cloud.journeys.validate_statusGet journey validation statusreadsalesforce_marketing_cloud.journeys.version_contactsList journey version contacts by typereadsalesforce_marketing_cloud.journeys.version_contacts_by_statusList journey version contacts by type and statusreadsalesforce_marketing_cloud.journeys.version_countsGet journey version contact countsread
Automations12
salesforce_marketing_cloud.automations.createCreate automationwritesalesforce_marketing_cloud.automations.deleteDelete automationdestructivesalesforce_marketing_cloud.automations.file_trigger.updateActivate or deactivate file drop triggerwritesalesforce_marketing_cloud.automations.file_trigger.update_by_keyActivate or deactivate file drop trigger by keywritesalesforce_marketing_cloud.automations.getGet automationreadsalesforce_marketing_cloud.automations.listList automationsreadsalesforce_marketing_cloud.automations.run_onceRun automation oncedestructivesalesforce_marketing_cloud.automations.run_once_by_keyRun automation once by keydestructivesalesforce_marketing_cloud.automations.triggerTrigger automationsdestructivesalesforce_marketing_cloud.automations.trigger.updateActivate or deactivate automation triggerwritesalesforce_marketing_cloud.automations.trigger_statusGet automation trigger statusreadsalesforce_marketing_cloud.automations.updateUpdate automationwrite
Data events12
salesforce_marketing_cloud.data_events.async.increment_column_by_idIncrement data extension column by data extension ID (asynchronous)writesalesforce_marketing_cloud.data_events.async.increment_column_by_keyIncrement data extension column by data extension key (asynchronous)writesalesforce_marketing_cloud.data_events.async.upsert_row_by_idUpsert one data extension row by data extension ID (asynchronous)writesalesforce_marketing_cloud.data_events.async.upsert_row_by_keyUpsert one data extension row by data extension key (asynchronous)writesalesforce_marketing_cloud.data_events.async.upsert_rowset_by_idUpsert data extension rows by data extension ID (asynchronous)writesalesforce_marketing_cloud.data_events.async.upsert_rowset_by_keyUpsert data extension rows by data extension key (asynchronous)writesalesforce_marketing_cloud.data_events.sync.increment_column_by_idIncrement data extension column by data extension IDwritesalesforce_marketing_cloud.data_events.sync.increment_column_by_keyIncrement data extension column by data extension keywritesalesforce_marketing_cloud.data_events.sync.upsert_row_by_idUpsert one data extension row by data extension IDwritesalesforce_marketing_cloud.data_events.sync.upsert_row_by_keyUpsert one data extension row by data extension keywritesalesforce_marketing_cloud.data_events.sync.upsert_rowset_by_idUpsert data extension rows by data extension IDwritesalesforce_marketing_cloud.data_events.sync.upsert_rowset_by_keyUpsert data extension rows by data extension keywrite
SMS11
salesforce_marketing_cloud.sms.contact_deliveriesGet SMS send statusreadsalesforce_marketing_cloud.sms.contact_historyGet SMS history for a numberreadsalesforce_marketing_cloud.sms.keywords.createCreate SMS keywordwritesalesforce_marketing_cloud.sms.keywords.deleteDelete SMS keyworddestructivesalesforce_marketing_cloud.sms.keywords.delete_by_codeDelete SMS keyword by codedestructivesalesforce_marketing_cloud.sms.list_deliveriesGet SMS list send statusreadsalesforce_marketing_cloud.sms.optin_messages.createCreate SMS opt-in messagewritesalesforce_marketing_cloud.sms.queue_moQueue mobile-originated messagewritesalesforce_marketing_cloud.sms.send_to_contactsSend SMS to numberswritesalesforce_marketing_cloud.sms.send_to_listSend SMS to listwritesalesforce_marketing_cloud.sms.subscriptions.statusGet SMS subscription statusread
Transactional email11
salesforce_marketing_cloud.transactional_email.definitions.createCreate Email send definitionwritesalesforce_marketing_cloud.transactional_email.definitions.deleteDelete Email send definitiondestructivesalesforce_marketing_cloud.transactional_email.definitions.getGet Email send definitionreadsalesforce_marketing_cloud.transactional_email.definitions.listList Email send definitionsreadsalesforce_marketing_cloud.transactional_email.definitions.updateUpdate Email send definitionwritesalesforce_marketing_cloud.transactional_email.messages.getGet transactional Email statusreadsalesforce_marketing_cloud.transactional_email.messages.not_sentList unsent transactional Emailreadsalesforce_marketing_cloud.transactional_email.queue.deleteDelete queued Email messagesdestructivesalesforce_marketing_cloud.transactional_email.queue.getGet Email definition queue metricsreadsalesforce_marketing_cloud.transactional_email.sendSend transactional Emailwritesalesforce_marketing_cloud.transactional_email.send_batchSend transactional Email to manywrite
Transactional SMS11
salesforce_marketing_cloud.transactional_sms.definitions.createCreate SMS send definitionwritesalesforce_marketing_cloud.transactional_sms.definitions.deleteDelete SMS send definitiondestructivesalesforce_marketing_cloud.transactional_sms.definitions.getGet SMS send definitionreadsalesforce_marketing_cloud.transactional_sms.definitions.listList SMS send definitionsreadsalesforce_marketing_cloud.transactional_sms.definitions.updateUpdate SMS send definitionwritesalesforce_marketing_cloud.transactional_sms.messages.getGet transactional SMS statusreadsalesforce_marketing_cloud.transactional_sms.messages.not_sentList unsent transactional SMSreadsalesforce_marketing_cloud.transactional_sms.queue.deleteDelete queued SMS messagesdestructivesalesforce_marketing_cloud.transactional_sms.queue.getGet SMS definition queue metricsreadsalesforce_marketing_cloud.transactional_sms.sendSend transactional SMSwritesalesforce_marketing_cloud.transactional_sms.send_batchSend transactional SMS to manywrite
Push messages10
salesforce_marketing_cloud.push_messages.contact_deliveriesGet push send status (contacts)readsalesforce_marketing_cloud.push_messages.createCreate push messagewritesalesforce_marketing_cloud.push_messages.deleteDelete push messagedestructivesalesforce_marketing_cloud.push_messages.getGet push messagereadsalesforce_marketing_cloud.push_messages.list_deliveriesGet push send status (list)readsalesforce_marketing_cloud.push_messages.send_to_appBroadcast push messagewritesalesforce_marketing_cloud.push_messages.send_to_contactsSend push message to contactswritesalesforce_marketing_cloud.push_messages.send_to_listSend push message to listwritesalesforce_marketing_cloud.push_messages.send_to_tagsSend push message to tagswritesalesforce_marketing_cloud.push_messages.updateUpdate push messagewrite
Assets9
salesforce_marketing_cloud.assets.createCreate assetwritesalesforce_marketing_cloud.assets.deleteDelete assetdestructivesalesforce_marketing_cloud.assets.getGet assetreadsalesforce_marketing_cloud.assets.listList assetsreadsalesforce_marketing_cloud.assets.patchUpdate asset fieldswritesalesforce_marketing_cloud.assets.queryQuery assets (advanced)readsalesforce_marketing_cloud.assets.salutations.getGet email header and footerreadsalesforce_marketing_cloud.assets.salutations.listGet default header and footerreadsalesforce_marketing_cloud.assets.updateReplace assetwrite
Contacts9
salesforce_marketing_cloud.contacts.createCreate contactwritesalesforce_marketing_cloud.contacts.delete_by_idsDelete contacts by IDdestructivesalesforce_marketing_cloud.contacts.delete_by_keysDelete contacts by keydestructivesalesforce_marketing_cloud.contacts.delete_by_listDelete contacts in a list or data extensiondestructivesalesforce_marketing_cloud.contacts.delete_requests.listList contact delete requestsreadsalesforce_marketing_cloud.contacts.delete_requests.summarySummarise contact delete requestsreadsalesforce_marketing_cloud.contacts.delete_status.getGet contact delete statusreadsalesforce_marketing_cloud.contacts.search_by_emailFind contact keys by email addressreadsalesforce_marketing_cloud.contacts.updateUpdate contactwrite
Data extension rows9
salesforce_marketing_cloud.data_extension_rows.async_insert_by_idInsert data extension rows asynchronously by data extension IDwritesalesforce_marketing_cloud.data_extension_rows.async_insert_by_keyInsert data extension rows asynchronously by data extension keywritesalesforce_marketing_cloud.data_extension_rows.async_resultsGet asynchronous row request resultsreadsalesforce_marketing_cloud.data_extension_rows.async_statusGet asynchronous row request statusreadsalesforce_marketing_cloud.data_extension_rows.async_upsert_by_idUpsert data extension rows asynchronously by data extension IDwritesalesforce_marketing_cloud.data_extension_rows.async_upsert_by_keyUpsert data extension rows asynchronously by data extension keywritesalesforce_marketing_cloud.data_extension_rows.list_by_idList data extension rows by IDreadsalesforce_marketing_cloud.data_extension_rows.list_by_keyList data extension rows by keyreadsalesforce_marketing_cloud.data_extension_rows.list_by_tokenList data extension rows by request tokenread
Journey history9
salesforce_marketing_cloud.journey_history.by_contact_keyGet journey history for contactsreadsalesforce_marketing_cloud.journey_history.downloadDownload journey historyreadsalesforce_marketing_cloud.journey_history.estimateEstimate journey history exportreadsalesforce_marketing_cloud.journey_history.filterFilter journey historyreadsalesforce_marketing_cloud.journey_history.freshnessGet journey history freshnessreadsalesforce_marketing_cloud.journey_history.listList journey history entriesreadsalesforce_marketing_cloud.journey_history.searchSearch journey historyreadsalesforce_marketing_cloud.journey_history.summarySummarise journey historyreadsalesforce_marketing_cloud.journey_history.time_seriesGet journey history time seriesread
Event definitions8
salesforce_marketing_cloud.event_definitions.createCreate event definitionwritesalesforce_marketing_cloud.event_definitions.deleteDelete event definitiondestructivesalesforce_marketing_cloud.event_definitions.delete_by_keyDelete event definition by keydestructivesalesforce_marketing_cloud.event_definitions.getGet event definitionreadsalesforce_marketing_cloud.event_definitions.get_by_keyGet event definition by keyreadsalesforce_marketing_cloud.event_definitions.listList event definitionsreadsalesforce_marketing_cloud.event_definitions.updateUpdate event definitionwritesalesforce_marketing_cloud.event_definitions.update_by_keyUpdate event definition by keywrite
Ens callbacks7
salesforce_marketing_cloud.ens_callbacks.createCreate ENS callbackwritesalesforce_marketing_cloud.ens_callbacks.deleteDelete ENS callbackdestructivesalesforce_marketing_cloud.ens_callbacks.getGet ENS callbackreadsalesforce_marketing_cloud.ens_callbacks.listList ENS callbacksreadsalesforce_marketing_cloud.ens_callbacks.regenerate_secretRegenerate ENS signature keywritesalesforce_marketing_cloud.ens_callbacks.updateUpdate ENS callbackswritesalesforce_marketing_cloud.ens_callbacks.verifyVerify ENS callbackwrite
Events6
salesforce_marketing_cloud.events.async_statusGet bulk entry event statusreadsalesforce_marketing_cloud.events.fireFire journey entry eventwritesalesforce_marketing_cloud.events.fire_asyncFire journey entry events in bulkwritesalesforce_marketing_cloud.events.trigger_test.createCreate test entry eventwritesalesforce_marketing_cloud.events.trigger_test.deleteDelete test entry eventdestructivesalesforce_marketing_cloud.events.trigger_test.updateUpdate test entry eventwrite
File transfers6
salesforce_marketing_cloud.file_transfers.createCreate file transfer activitywritesalesforce_marketing_cloud.file_transfers.deleteDelete file transfer activitydestructivesalesforce_marketing_cloud.file_transfers.getGet file transfer activityreadsalesforce_marketing_cloud.file_transfers.listList file transfer activitiesreadsalesforce_marketing_cloud.file_transfers.startStart file transfer activitywritesalesforce_marketing_cloud.file_transfers.updateUpdate file transfer activitywrite
Queries6
salesforce_marketing_cloud.queries.createCreate SQL query activitywritesalesforce_marketing_cloud.queries.deleteDelete SQL query activitydestructivesalesforce_marketing_cloud.queries.getGet SQL query activityreadsalesforce_marketing_cloud.queries.listList SQL query activitiesreadsalesforce_marketing_cloud.queries.startRun SQL query activitywritesalesforce_marketing_cloud.queries.updateUpdate SQL query activitywrite
Campaigns5
salesforce_marketing_cloud.campaigns.createCreate campaignwritesalesforce_marketing_cloud.campaigns.deleteDelete campaigndestructivesalesforce_marketing_cloud.campaigns.getGet campaignreadsalesforce_marketing_cloud.campaigns.listList campaignsreadsalesforce_marketing_cloud.campaigns.updateUpdate campaignwrite
Categories5
salesforce_marketing_cloud.categories.createCreate content folderwritesalesforce_marketing_cloud.categories.deleteDelete content folderdestructivesalesforce_marketing_cloud.categories.getGet content folderreadsalesforce_marketing_cloud.categories.listList content foldersreadsalesforce_marketing_cloud.categories.updateUpdate content folderwrite
Domain verification5
salesforce_marketing_cloud.domain_verification.bulk_insertAdd from-addresses in bulkwritesalesforce_marketing_cloud.domain_verification.createAdd from-address for verificationwritesalesforce_marketing_cloud.domain_verification.deleteDelete from-addressesdestructivesalesforce_marketing_cloud.domain_verification.listList verified from-addressesreadsalesforce_marketing_cloud.domain_verification.updateUpdate from-addresseswrite
Ens subscriptions5
salesforce_marketing_cloud.ens_subscriptions.createCreate ENS subscriptionwritesalesforce_marketing_cloud.ens_subscriptions.deleteDelete ENS subscriptiondestructivesalesforce_marketing_cloud.ens_subscriptions.getGet ENS subscriptionreadsalesforce_marketing_cloud.ens_subscriptions.list_by_callbackList ENS subscriptions of a callbackreadsalesforce_marketing_cloud.ens_subscriptions.updateUpdate ENS subscriptionswrite
Push locations5
salesforce_marketing_cloud.push_locations.createCreate MobilePush locationwritesalesforce_marketing_cloud.push_locations.deleteDelete MobilePush locationdestructivesalesforce_marketing_cloud.push_locations.getGet MobilePush locationreadsalesforce_marketing_cloud.push_locations.listList MobilePush locationsreadsalesforce_marketing_cloud.push_locations.updateUpdate MobilePush locationwrite
Attribute set definitions4
salesforce_marketing_cloud.attribute_set_definitions.getGet attribute set definitionreadsalesforce_marketing_cloud.attribute_set_definitions.get_by_keyGet attribute set definition by keyreadsalesforce_marketing_cloud.attribute_set_definitions.get_by_nameGet attribute set definition by namereadsalesforce_marketing_cloud.attribute_set_definitions.listList attribute set definitionsread
Campaign assets4
salesforce_marketing_cloud.campaign_assets.createAssociate assets with campaignwritesalesforce_marketing_cloud.campaign_assets.deleteRemove campaign assetdestructivesalesforce_marketing_cloud.campaign_assets.getGet campaign assetreadsalesforce_marketing_cloud.campaign_assets.listList campaign assetsread
Definition templates4
salesforce_marketing_cloud.definition_templates.createCreate journey templatewritesalesforce_marketing_cloud.definition_templates.getGet journey templatereadsalesforce_marketing_cloud.definition_templates.listList journey templatesreadsalesforce_marketing_cloud.definition_templates.updateUpdate journey templatewrite
Imports4
salesforce_marketing_cloud.imports.createQueue data extension file importwritesalesforce_marketing_cloud.imports.summaryGet import statusreadsalesforce_marketing_cloud.imports.validation_resultsGet import validation resultsreadsalesforce_marketing_cloud.imports.validation_summaryGet import validation summaryread
Journey activities4
salesforce_marketing_cloud.journey_activities.summaryGet journey activity summaryreadsalesforce_marketing_cloud.journey_activities.time_seriesGet journey activity time seriesreadsalesforce_marketing_cloud.journey_activities.wait_expire_summaryGet wait activity expiry summaryreadsalesforce_marketing_cloud.journey_activities.wait_expire_time_seriesGet wait activity expiry time seriesread
Simulations4
salesforce_marketing_cloud.simulations.contactsList simulation contactsreadsalesforce_marketing_cloud.simulations.createCreate journey simulationwritesalesforce_marketing_cloud.simulations.deleteDelete journey simulationdestructivesalesforce_marketing_cloud.simulations.getGet journey simulationread
Transactional journeys4
salesforce_marketing_cloud.transactional_journeys.clear_queueClear transactional journey queuedestructivesalesforce_marketing_cloud.transactional_journeys.createCreate transactional journeywritesalesforce_marketing_cloud.transactional_journeys.pausePause transactional journeywritesalesforce_marketing_cloud.transactional_journeys.resumeResume transactional journeywrite
Journey categories3
salesforce_marketing_cloud.journey_categories.countsGet journey folder countsreadsalesforce_marketing_cloud.journey_categories.deleteDelete journey folderdestructivesalesforce_marketing_cloud.journey_categories.updateUpdate journey folderwrite
Platform3
salesforce_marketing_cloud.platform.endpoints.getGet API endpointreadsalesforce_marketing_cloud.platform.endpoints.listList API endpointsreadsalesforce_marketing_cloud.platform.token_context.getGet token contextread
Sales cloud events3
salesforce_marketing_cloud.sales_cloud_events.cdcList Sales Cloud CDC eventsreadsalesforce_marketing_cloud.sales_cloud_events.listList Sales Cloud entry eventsreadsalesforce_marketing_cloud.sales_cloud_events.usageGet Sales Cloud event usageread
System overview3
salesforce_marketing_cloud.system_overview.activitiesGet system overview activitiesreadsalesforce_marketing_cloud.system_overview.getGet Journey Builder system overviewreadsalesforce_marketing_cloud.system_overview.time_seriesGet system overview time seriesread
Triggered sends3
salesforce_marketing_cloud.triggered_sends.delivery_recordGet triggered send statusreadsalesforce_marketing_cloud.triggered_sends.sendSend triggered emailwritesalesforce_marketing_cloud.triggered_sends.tracking_subscription_typeSet triggered send tracking subscription typewrite
Abn tests2
salesforce_marketing_cloud.abn_tests.getGet path optimizer testreadsalesforce_marketing_cloud.abn_tests.updateUpdate path optimizer testwrite
Attribute groups2
salesforce_marketing_cloud.attribute_groups.getGet attribute groupreadsalesforce_marketing_cloud.attribute_groups.listList attribute groupsread
Custom activities2
salesforce_marketing_cloud.custom_activities.executeExecute custom activitywritesalesforce_marketing_cloud.custom_activities.test_setupTest custom activity setupwrite
Dashboard config2
salesforce_marketing_cloud.dashboard_config.getGet Journey Builder dashboard settingsreadsalesforce_marketing_cloud.dashboard_config.updateUpdate Journey Builder dashboard settingswrite
Goal statistics2
salesforce_marketing_cloud.goal_statistics.clearClear journey goal statisticsdestructivesalesforce_marketing_cloud.goal_statistics.getGet journey goal statisticsread
Journey logs2
salesforce_marketing_cloud.journey_logs.activity_via_kafkaCheck activity log sourcereadsalesforce_marketing_cloud.journey_logs.definition_via_kafkaCheck definition log sourceread
Scripts2
salesforce_marketing_cloud.scripts.listList script activitiesreadsalesforce_marketing_cloud.scripts.startStart script activitywrite
Trigger stats2
salesforce_marketing_cloud.trigger_stats.getGet entry event statisticsreadsalesforce_marketing_cloud.trigger_stats.get_for_journeyGet entry event statistics for a journeyread
Address1
salesforce_marketing_cloud.address.validate_emailValidate email addressread
Attributes1
salesforce_marketing_cloud.attributes.searchSearch contact attributesread
Audit events1
salesforce_marketing_cloud.audit_events.listList audit eventsread
Automation folders1
salesforce_marketing_cloud.automation_folders.listList Automation Studio foldersread
Contact schemas1
salesforce_marketing_cloud.contact_schemas.listList contact schemasread
Definition logs1
salesforce_marketing_cloud.definition_logs.searchSearch journey definition logsread
Developer logs1
salesforce_marketing_cloud.developer_logs.listList Journey Builder developer logsread
Engine settings1
salesforce_marketing_cloud.engine_settings.getGet Journey Builder engine settingsread
FTP locations1
salesforce_marketing_cloud.ftp_locations.listList FTP locationsread
Journey builder1
salesforce_marketing_cloud.journey_builder.discoveryGet Journey Builder discovery documentread
Recommendation types1
salesforce_marketing_cloud.recommendation_types.listList recommendation typesread
Recommendations1
salesforce_marketing_cloud.recommendations.getGet journey recommendationread
Security events1
salesforce_marketing_cloud.security_events.listList security eventsread
Wait statistics1
salesforce_marketing_cloud.wait_statistics.getGet journey wait statisticsread
Questions
The Salesforce Marketing Cloud Engagement MCP server, answered.
Is there a Salesforce Marketing Cloud Engagement MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 271 Salesforce Marketing Cloud Engagement actions across journeys, automations, data events and SMS, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Salesforce Marketing Cloud Engagement.
What do I need to connect Salesforce Marketing Cloud Engagement?
Client ID of a Marketing Cloud installed package's API Integration component (Setup > Apps > Installed Packages >…, Client secret of the same API Integration component and MID of the business unit to act in (shown under the account name, top right of Marketing Cloud). Plus your tenant host. The free call account { op: "connections.requirements", service: "salesforce_marketing_cloud" } lists exactly what to paste.
Can an AI agent delete or change things in Salesforce Marketing Cloud Engagement?
Only if its key allows it, and only with an explicit confirmation. 38 Salesforce Marketing Cloud Engagement actions are destructive, including delete asset, delete Email send definition and delete campaign. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my Salesforce Marketing Cloud Engagement API limit?
actionlake paces every call to the limits in the Salesforce Marketing Cloud Engagement service file: 2,500 calls a minute per connection. Repeated reads are answered from cache (108 Salesforce Marketing Cloud Engagement actions can be), which never reaches Salesforce Marketing Cloud Engagement.
What does a Salesforce Marketing Cloud Engagement action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (271 Salesforce Marketing Cloud Engagement actions page). Cache hits, searches, dry runs and calls Salesforce Marketing Cloud Engagement refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which Salesforce Marketing Cloud Engagement API does it cover?
The Marketing Cloud Engagement REST API (tenant-specific endpoints, OAuth 2.0 installed packages) at your Salesforce Marketing Cloud Engagement instance's API base URL, which you enter when connecting. It is built from Salesforce Marketing Cloud Engagement's documentation as read on 23 October 2026. 271 actions in 55 areas, each one in the signed service file (version 1.0.0).
Does actionlake keep my Salesforce Marketing Cloud Engagement data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Salesforce Marketing Cloud Engagement credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent Salesforce Marketing Cloud Engagement today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.