The m3sh Webhook Triggers capability in the m3ter Connector for Salesforce managed package offers Salesforce administrators a declarative, no-code solution to send Salesforce record data to m3sh Workflows via webhook endpoints.This topic explains how to set up and work with the m3sh Webhook Triggers feature:
Check Version. The m3sh Triggers feature is only available in version 0.13 and above of the m3ter Connector for Salesforce managed package. See m3ter Connector for Salesforce - Changelog for details on how to check your current installed version.
The m3sh Triggers feature is built on top of the existing custom metadata framework developed for the m3ter Connector. Three distinct integration patterns are supported:
Scheduled Polling. Automated batch jobs that run on a configurable schedule - at 15, 30, or 60 minute intervals.
Manual/On-Demand Execution. Administrator-initiated webhook sent from the UI.
Flow/Apex Invocable Actions. Developer-triggered webhook sent from Salesforce Flows or custom Apex code.
All three patterns leverage the same underlying webhook delivery infrastructure, ensuring consistent behavior, authentication, payload formatting, and execution logging across all integration methods.
In order to create m3sh Webhook Triggers for your m3ter Connector for Salesforce, you must first enable them in the m3ter Admin App.To enable m3sh webhook triggers:
In your Salesforce Org, navigate to Setup > Custom Settings > m3 Org Settings > Manage > Edit:
Check the Enable m3sh Triggers box and then select Save.
The m3sh Webhook Triggers feature will make callouts to your m3ter Organization, which means you must configure a remote site setting for m3sh Webhook endpoints.To create aremote site setting for m3sh Webhook endpoints:
In your Salesforce Org, navigate to Setup > Security > Remote Site Settings:
Under Remote Site Settings >Remote Site Details enter these settings for the m3ter Webhook endpoint:
Remote Site Name: m3ter_Webhook
Remote Site URL: https//<m3ter_Org_ID>>.webhook.m3ter.com
When you’ve enabled m3sh Webhook Triggers feature for the m3ter Admin App in your Connector for Salesforce, you can create m3sh Webhook Triggers.To create a m3sh webhook trigger:
In your Salesforce Org, navigate to the m3ter Admin app.
Under Setup, select the m3sh Triggers tab:
Select Create New Trigger. The tab adjusts and you can enter the details of the new Trigger:
Use the m3ter Workflow drop-down to select the m3sh Workflow in your m3ter Organization that will be triggered. (Required)
Enter the Webhook URL.
Use the Salesforce Object drop-down to select which object’s data will be sent to the selected m3sh Workflow. (Required)
Select Active to enable the new Trigger.
Tip: m3sh Webhook Trigger naming? A composite name is given to a new m3sh Webhook Trigger using the Salesforce object selected followed by a dash followed by the name of the target m3sh Workflow selected - in the above example: Account - Amazing m3sh Workflow. You can update the name as required either by going directly to the CMDT record in the backend or after creating the trigger click Edit.
Select Create. The new m3sh Trigger is saved:
Note that if you want to review or edit an active m3sh Webhook Trigger, you can return to the m3sh Triggers tab and use the Active drop-down to select the Trigger:
Select Edit if you want to update the configuration of the Trigger.
Use the Active switch if you want to deactivate the Trigger.
This section provides further guidance on successfully implementing the m3sh Webhook Triggers feature for your m3ter Connector for Salesforce managed package:
m3sh Workflows in m3ter can be configured to use different types of Trigger, including webhooks. In addition to the setup required in your Salesforce Org when implementing the m3sh Webhook Triggers feature, you must also ensure a corresponding webhook is configured in the m3ter Console as the Trigger for the target m3sh Workflow.The correct credentials set up is necessary for the webhook you configure as a Trigger for the m3sh Workflow, and the m3sh Webhook Triggers feature uses the same Integration Credentials setup as used in the Connector for Salesforce managed package to sign requests made to m3ter. Therefore please ensure that when setting up the webhook Trigger for the m3sh Workflow, the integration credentials used match those of the service user used to set up the sync between the m3ter Connector for Salesforce managed package and m3ter, that is, the integration credentials in the managed package.
Once a m3sh Webhook Trigger has been successfully configured and tested, you are ready to implement it in your process. Three different implementation patterns are available.
You can find this by navigating to the underlying CMDT record, that is from Setup > Custom Metadata > find** m3sh Trigger Configs** and select Manage Records.
Record IDs:
The Ids for the Salesforce Records to send to the Webhook. These must be of the same type as the configured Salesforce Object.
The platform will send each record in a separate transaction.
Note: Because the Invocable Action makes callouts, it needs to be added to an Asynchronous Path.
For a configured m3sh Webhook Trigger, you can to set up scheduled Apex jobs to periodically send records to the m3sh Webhook:After selecting a Run Interval - available options are every 15 mins, every 30 mins, or every hour - select Enable Scheduled Runs:With this feature enabled the m3ter Connector for Salesforce managed package will, for every configured m3sh Webhook Trigger:
Query all the fields for the records from the associated Salesforce Object that have been updated/created since the last run.
Prepare the request payload.
Send the records to the Webhook endpoint.
Tip: Switching off scheduled jobs? You can easily turn off scheduled jobs using the Disable Scheduled Runs button from the Setup UI.
To aid debugging and monitoring of the callouts made to m3sh Workflows, a new object and tab has been added to the m3ter Connector for Salesforce managed package. This new tab in the m3ter Admin App is called m3sh Execution Logs:Each time a callout is made, the request payload, the response, and HTTP Status code is logged, along with other useful information like the Execution Type and name of the CMDT Config. The possible values for the Execution Type are listed below:
Scheduled - From scheduled batch jobs.
Manual - From admin UI Run Now or Test buttons.
Invocable Action - From Flow or Apex invocations.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"m3ter Documentation","description":"Guides, learning resources and API reference for integrating with m3ter","colors":{"primary":"#4caf4c","dark":"#449d44"},"logo":{"light":"https://mintcdn.com/m3ter/t6C65JBQiQOFtjBy/images/m3ter-logo-blue-sf.svg?fit=max\u0026auto=format\u0026n=t6C65JBQiQOFtjBy\u0026q=85\u0026s=3928db28c84ec6950e43caf96e635d80","dark":"https://mintcdn.com/m3ter/t6C65JBQiQOFtjBy/images/m3ter-logo-white-sf.svg?fit=max\u0026auto=format\u0026n=t6C65JBQiQOFtjBy\u0026q=85\u0026s=a018cb782e49a2fbdd811276476d0605"},"favicon":"https://mintcdn.com/m3ter/T0RRts393DSUkWFc/favicon.svg?fit=max\u0026auto=format\u0026n=T0RRts393DSUkWFc\u0026q=85\u0026s=9492b54cc98df6775983b287b6f865cd","navbar":{"links":[{"href":"https://m3ter.freshdesk.com","label":"Support"},{"href":"https://console.m3ter.com","label":"Console"}],"primary":{"type":"button","label":"Schedule a demo","href":"https://www.m3ter.com/contact"}},"footer":{"socials":{"linkedin":"https://uk.linkedin.com/company/m3ter","x":"https://x.com/m3terHQ","github":"https://github.com/m3ter-com"},"links":[{"items":[{"label":"Website","href":"https://www.m3ter.com"},{"label":"Legal","href":"https://www.m3ter.com/legal"},{"label":"Security","href":"https://www.m3ter.com/security"},{"label":"Trust Center","href":"https://trust.m3ter.com"}]}]},"fonts":{"family":"Montserrat"},"icons":{"library":"lucide"},"styling":{"eyebrows":"breadcrumbs","latex":false},"integrations":{"ga4":{"measurementId":"G-V9C7TTPRQT"}},"contextual":{"options":["copy","view"],"display":"header"},"thumbnails":{"fonts":{"family":"Montserrat"}},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"m3ter","hasAudioNarration":false,"actualSubdomain":"m3ter","customDomains":["docs.m3ter.com"],"gitSource":{"type":"github","owner":"m3ter-com","repo":"m3ter-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae9a09c36175fbf7124961d","collectionId":"92768e54-2234-4c9f-bb43-903eed567982","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae9a09c36175fbf7124961d"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae9a09c36175fbf7124961d","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"default","tag":"Guides","count":400},{"language":"default","tag":"API Reference","count":393},{"language":"default","tag":"Endpoints","count":387},{"language":"default","tag":"Integrations","count":66},{"language":"default","tag":"m3sh Function Reference","count":66},{"language":"default","tag":"Synthetic functions","count":50},{"language":"default","tag":"m3ter","count":50},{"language":"default","tag":"m3sh","count":43},{"language":"default","tag":"End-Customer Accounts","count":27},{"language":"default","tag":"m3ter Connector for Salesforce","count":24}]},"assistantConfig":{"enableAskAiButton":true,"enableStarterQuestions":false,"enableAskAiSearchBar":false},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[],"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"guides/m3ter-connector-for-salesforce/setting-up-m3sh-webhook-triggers","slug":"/guides/m3ter-connector-for-salesforce/setting-up-m3sh-webhook-triggers","pageMetadata":{"title":"Setting Up m3sh Webhook Triggers","description":null,"href":"/guides/m3ter-connector-for-salesforce/setting-up-m3sh-webhook-triggers"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,OptimizedImage,Tip,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`The m3sh Webhook Triggers capability in the m3ter Connector for Salesforce managed package offers Salesforce administrators a declarative, no-code solution to send Salesforce record data to m3sh Workflows via webhook endpoints.`}),`\n`,_jsx(_components.p,{children:`This topic explains how to set up and work with the m3sh Webhook Triggers feature:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/guides/m3ter-connector-for-salesforce/setting-up-m3sh-webhook-triggers#overview`,children:`Overview`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/guides/m3ter-connector-for-salesforce/setting-up-m3sh-webhook-triggers#prerequisite-configuration`,children:`Prerequisite Configuration`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/guides/m3ter-connector-for-salesforce/setting-up-m3sh-webhook-triggers#creating-m3sh-webhook-triggers`,children:`Creating m3sh Webhook Triggers`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/guides/m3ter-connector-for-salesforce/setting-up-m3sh-webhook-triggers#testing-active-m3sh-webhook-triggers`,children:`Testing Active m3sh Webhook Triggers`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/guides/m3ter-connector-for-salesforce/setting-up-m3sh-webhook-triggers#implementation-notes`,children:`Implementation Notes`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/guides/m3ter-connector-for-salesforce/setting-up-m3sh-webhook-triggers#monitoring-execution-logs`,children:`Monitoring Execution Logs`})}),`\n`]}),`\n`,_jsxs(Warning,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Important!`})}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Check Version`}),`. The m3sh Triggers feature is only available in version `,_jsx(_components.strong,{children:`0.13`}),` and above of the m3ter Connector for Salesforce managed package. See `,_jsx(_components.a,{href:`/guides/m3ter-connector-for-salesforce/m3ter-connector-for-salesforce-changelog`,children:`m3ter Connector for Salesforce - Changelog`}),` for details on how to check your current installed version.`]}),`\n`]})]}),`\n`,_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsx(_components.p,{children:`The m3sh Triggers feature is built on top of the existing custom metadata framework developed for the m3ter Connector. Three distinct integration patterns are supported:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Scheduled Polling`}),`. Automated batch jobs that run on a configurable schedule - at 15, 30, or 60 minute intervals.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Manual/On-Demand Execution`}),`. Administrator-initiated webhook sent from the UI.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Flow/Apex Invocable Actions`}),`. Developer-triggered webhook sent from Salesforce Flows or custom Apex code.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`All three patterns leverage the same underlying webhook delivery infrastructure, ensuring consistent behavior, authentication, payload formatting, and execution logging across all integration methods.`}),`\n`,_jsx(Heading,{level:`2`,id:`prerequisite-configuration`,children:`Prerequisite Configuration`}),`\n`,_jsx(_components.p,{children:`There is some prerequisite configuration you’ll need to perform in your Salesforce Org before creating and deploying m3sh Webhook Triggers:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/guides/m3ter-connector-for-salesforce/setting-up-m3sh-webhook-triggers#enabling-m3sh-webhook-triggers`,children:`Enabling m3sh Webhook Triggers`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/guides/m3ter-connector-for-salesforce/setting-up-m3sh-webhook-triggers#configuring-remote-site-settings`,children:`Configuring Remote Site Settings`})}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`enabling-m3sh-webhook-triggers`,children:`Enabling m3sh Webhook Triggers`}),`\n`,_jsx(_components.p,{children:`In order to create m3sh Webhook Triggers for your m3ter Connector for Salesforce, you must first enable them in the m3ter Admin App.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`To enable m3sh webhook triggers:`})}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`In your Salesforce Org, navigate to `,_jsx(_components.strong,{children:`Setup > Custom Settings > m3 Org Settings > Manage > Edit`}),`:`]}),`\n`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766063369-sfm3shtriggers7.png?fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=face815c6b6f273ce4b237afaee86c19`,alt:``,style:{maxWidth:`min(850px, 100%)`},\"data-og-width\":`1060`,width:`1060`,\"data-og-height\":`457`,height:`457`,\"data-path\":`images/1766063369-sfm3shtriggers7.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766063369-sfm3shtriggers7.png?w=280\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=3a0a264f9d17cec7f57193473480cfa6 280w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766063369-sfm3shtriggers7.png?w=560\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=4ae65594ebaf06993f49d30ee8128e0d 560w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766063369-sfm3shtriggers7.png?w=840\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=74761ba4974728a8fb702ebfc3103fa1 840w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766063369-sfm3shtriggers7.png?w=1100\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=04576fbfaad25f8e7bc9f303011e22d4 1100w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766063369-sfm3shtriggers7.png?w=1650\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=6fa1c96ce4164db558162168957ea630 1650w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766063369-sfm3shtriggers7.png?w=2500\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=323c70e70421915bf592ccd3c814cc6b 2500w`}),`\n`,_jsxs(_components.ol,{start:`2`,children:[`\n`,_jsxs(_components.li,{children:[`Check the `,_jsx(_components.strong,{children:`Enable m3sh Triggers`}),` box and then select `,_jsx(_components.strong,{children:`Save`}),`.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`configuring-remote-site-settings`,children:`Configuring Remote Site Settings`}),`\n`,_jsx(_components.p,{children:`The m3sh Webhook Triggers feature will make callouts to your m3ter Organization, which means you must configure a remote site setting for m3sh Webhook endpoints.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`To create a`}),` `,_jsx(_components.strong,{children:`remote site setting for m3sh Webhook endpoints:`})]}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`In your Salesforce Org, navigate to `,_jsx(_components.strong,{children:`Setup > Security > Remote Site Settings`}),`:`]}),`\n`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766066544-sfm3shtriggers8.png?fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=e97a7f5a77b72ffce2e0395fba065000`,alt:``,style:{maxWidth:`min(950px, 100%)`},\"data-og-width\":`1514`,width:`1514`,\"data-og-height\":`427`,height:`427`,\"data-path\":`images/1766066544-sfm3shtriggers8.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766066544-sfm3shtriggers8.png?w=280\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=fb59598d7a8a73d2d7f0e0d190dd7cea 280w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766066544-sfm3shtriggers8.png?w=560\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=090457d7b20d2bfad0d8eeb38f1ee636 560w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766066544-sfm3shtriggers8.png?w=840\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=d8eec4027e8d0134a2cbddfd4d4f1b09 840w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766066544-sfm3shtriggers8.png?w=1100\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=ab5f08e309abc85a7d4939e2347ae33b 1100w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766066544-sfm3shtriggers8.png?w=1650\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=33a137caf43407d4aa71751ebcbfc1a9 1650w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766066544-sfm3shtriggers8.png?w=2500\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=aac2bc7f20f7d56b560a52fd84aaf46a 2500w`}),`\n`,_jsxs(_components.ol,{start:`2`,children:[`\n`,_jsxs(_components.li,{children:[`Under `,_jsx(_components.strong,{children:`Remote Site Settings >`}),` `,_jsx(_components.strong,{children:`Remote Site Details`}),` enter these settings for the m3ter Webhook endpoint:`]}),`\n`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Remote Site Name`}),`: m3ter_Webhook`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Remote Site URL`}),`: https//\u003c`,_jsx(_components.em,{children:`m3ter_Org_ID`}),`>>.webhook.m3ter.com`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Active`}),`: TRUE`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`creating-m3sh-webhook-triggers`,children:`Creating m3sh Webhook Triggers`}),`\n`,_jsx(_components.p,{children:`When you’ve enabled m3sh Webhook Triggers feature for the m3ter Admin App in your Connector for Salesforce, you can create m3sh Webhook Triggers.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`To create a m3sh webhook trigger:`})}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`In your Salesforce Org, navigate to the `,_jsx(_components.strong,{children:`m3ter Admin`}),` app.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Under `,_jsx(_components.strong,{children:`Setup`}),`, select the `,_jsx(_components.strong,{children:`m3sh Triggers`}),` tab:`]}),`\n`]}),`\n`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765970242-sfm3shtriggers1.png?fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=8eebb76449ca0b00e65e9b06ef4eac29`,alt:``,style:{maxWidth:`min(900px, 100%)`},\"data-og-width\":`1134`,width:`1134`,\"data-og-height\":`442`,height:`442`,\"data-path\":`images/1765970242-sfm3shtriggers1.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765970242-sfm3shtriggers1.png?w=280\u0026fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=742bf54f1f667ba8b8199fae7a3c56ec 280w, https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765970242-sfm3shtriggers1.png?w=560\u0026fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=75dd581783717ee02821d3b022cd37f2 560w, https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765970242-sfm3shtriggers1.png?w=840\u0026fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=efbe31c5a29ecd158b524f1d0afc0366 840w, https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765970242-sfm3shtriggers1.png?w=1100\u0026fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=86a44edcf5e273761edae3b9145dfaf7 1100w, https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765970242-sfm3shtriggers1.png?w=1650\u0026fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=573fca2c4c29397d8ca02a5526abbbe7 1650w, https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765970242-sfm3shtriggers1.png?w=2500\u0026fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=7f84c9d67e4ba4a8aed26ba83c7368e8 2500w`}),`\n`,_jsxs(_components.ol,{start:`3`,children:[`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`Create New Trigger`}),`. The tab adjusts and you can enter the details of the new Trigger:`]}),`\n`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765971090-sfm3shtriggers2.png?fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=ec9e401a53459b567a961ce149804179`,alt:``,style:{maxWidth:`min(900px, 100%)`},\"data-og-width\":`1134`,width:`1134`,\"data-og-height\":`425`,height:`425`,\"data-path\":`images/1765971090-sfm3shtriggers2.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765971090-sfm3shtriggers2.png?w=280\u0026fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=10e3eed29cf938995d073c13ffe5d038 280w, https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765971090-sfm3shtriggers2.png?w=560\u0026fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=dff85d36fafcd206b6679b2d1415cd27 560w, https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765971090-sfm3shtriggers2.png?w=840\u0026fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=5af4542dd209f2de1f6c8105c5e014cb 840w, https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765971090-sfm3shtriggers2.png?w=1100\u0026fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=c14d8c2a24c0e515f905269a04faad27 1100w, https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765971090-sfm3shtriggers2.png?w=1650\u0026fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=1ed7dae6b282f345329a5feec1c960a1 1650w, https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765971090-sfm3shtriggers2.png?w=2500\u0026fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=e8cb95391327df2279957b5626c41d08 2500w`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Use the `,_jsx(_components.strong,{children:`m3ter Workflow`}),` drop-down to select the m3sh Workflow in your m3ter Organization that will be triggered. (`,_jsx(_components.em,{children:`Required`}),`)`]}),`\n`,_jsxs(_components.li,{children:[`Enter the `,_jsx(_components.strong,{children:`Webhook URL`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Use the `,_jsx(_components.strong,{children:`Salesforce Object`}),` drop-down to select which object’s data will be sent to the selected m3sh Workflow. (`,_jsx(_components.em,{children:`Required`}),`)`]}),`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`Active`}),` to enable the new Trigger.`]}),`\n`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Tip: m3sh Webhook Trigger naming?`}),` A composite name is given to a new m3sh Webhook Trigger using the Salesforce object selected followed by a dash followed by the name of the target m3sh Workflow selected - in the above example: `,_jsx(_components.strong,{children:`Account - Amazing m3sh Workflow`}),`. You can update the name as required either by going directly to the CMDT record in the backend or after creating the trigger click `,_jsx(_components.strong,{children:`Edit`}),`.`]})}),`\n`,_jsxs(_components.ol,{start:`4`,children:[`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`Create`}),`. The new m3sh Trigger is saved:`]}),`\n`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Note that if you want to review or edit an active m3sh Webhook Trigger, you can return to the `,_jsx(_components.strong,{children:`m3sh Triggers`}),` tab and use the `,_jsx(_components.strong,{children:`Active`}),` drop-down to select the Trigger:`]}),`\n`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765974155-sfm3shtriggers4.png?fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=04f053a2f972a60f03a6970c02804b38`,alt:``,style:{maxWidth:`min(900px, 100%)`},\"data-og-width\":`1135`,width:`1135`,\"data-og-height\":`420`,height:`420`,\"data-path\":`images/1765974155-sfm3shtriggers4.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765974155-sfm3shtriggers4.png?w=280\u0026fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=01694a155be213093947cb1abf8bcff3 280w, https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765974155-sfm3shtriggers4.png?w=560\u0026fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=7639d66c30fb54478bcba2899e7a954e 560w, https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765974155-sfm3shtriggers4.png?w=840\u0026fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=79214d2e564007a69d5ece3d1bc9279e 840w, https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765974155-sfm3shtriggers4.png?w=1100\u0026fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=d6599780f399c7e812859f4b395f0d3a 1100w, https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765974155-sfm3shtriggers4.png?w=1650\u0026fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=c955e418bab0aaf171c1e35231cc7203 1650w, https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765974155-sfm3shtriggers4.png?w=2500\u0026fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=1dab85858af5fc816ae098a1fd1ff4e4 2500w`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`Edit`}),` if you want to update the configuration of the Trigger.`]}),`\n`,_jsxs(_components.li,{children:[`Use the `,_jsx(_components.strong,{children:`Active`}),` switch if you want to deactivate the Trigger.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`testing-active-m3sh-webhook-triggers`,children:`Testing Active m3sh Webhook Triggers`}),`\n`,_jsx(_components.p,{children:`You can run a test of an active m3sh Webhook Trigger.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`To test an active m3sh trigger:`})}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`In your Salesforce Org, navigate to the `,_jsx(_components.strong,{children:`m3ter Admin`}),` app.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Under `,_jsx(_components.strong,{children:`Setup`}),`, select the `,_jsx(_components.strong,{children:`m3sh Triggers`}),` tab.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`In the `,_jsx(_components.strong,{children:`Active`}),` drop-down list, select the m3sh Webhook Trigger. The Trigger configuration is shown and you can read-off:`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`The Salesforce `,_jsx(_components.strong,{children:`Object`}),` the Trigger is configured to transfer data for to the m3sh Workflow - in this example `,_jsx(_components.strong,{children:`Account`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`The `,_jsx(_components.strong,{children:`Status`}),` of the Trigger - in this example `,_jsx(_components.strong,{children:`Never Run`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`The `,_jsx(_components.strong,{children:`Webhook URL`}),` defined for the Trigger.`]}),`\n`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765986151-sfm3shtriggers5.png?fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=c2c9a01dc9dc28fe2fcd8d6fdc7f793f`,alt:``,style:{maxWidth:`min(900px, 100%)`},\"data-og-width\":`1135`,width:`1135`,\"data-og-height\":`420`,height:`420`,\"data-path\":`images/1765986151-sfm3shtriggers5.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765986151-sfm3shtriggers5.png?w=280\u0026fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=59c4e28f15d0c9714edc28b8ca2c05dd 280w, https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765986151-sfm3shtriggers5.png?w=560\u0026fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=3ccebf0123f4228a119f08a91d441ca4 560w, https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765986151-sfm3shtriggers5.png?w=840\u0026fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=3e3ddfccb03dfc68823d63930ec00716 840w, https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765986151-sfm3shtriggers5.png?w=1100\u0026fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=aebc712bfabf8469985491400c8b04e4 1100w, https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765986151-sfm3shtriggers5.png?w=1650\u0026fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=a577fef1e716460655510cfe2bd65ee2 1650w, https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765986151-sfm3shtriggers5.png?w=2500\u0026fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=0e83b0758711f415c4e0f5e877cb1a1c 2500w`}),`\n`,_jsxs(_components.ol,{start:`4`,children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Test`}),`. A `,_jsx(_components.strong,{children:`Test Webhook`}),` modal opens:`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`On the modal, select the `,_jsx(_components.strong,{children:`Account`}),` you want to run the test for, and then select `,_jsx(_components.strong,{children:`Run Test`}),`:`]}),`\n`]}),`\n`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765987006-sfm3shtriggers6.png?fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=a7b57b95b3feb100887516527e36ec69`,alt:``,style:{maxWidth:`min(900px, 100%)`},\"data-og-width\":`1136`,width:`1136`,\"data-og-height\":`498`,height:`498`,\"data-path\":`images/1765987006-sfm3shtriggers6.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765987006-sfm3shtriggers6.png?w=280\u0026fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=3c2e18361dc80d781203093be8919a8a 280w, https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765987006-sfm3shtriggers6.png?w=560\u0026fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=d12220c433624223f69af36b8be334da 560w, https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765987006-sfm3shtriggers6.png?w=840\u0026fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=5311dd30c07450768fd1b1b61812ab7b 840w, https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765987006-sfm3shtriggers6.png?w=1100\u0026fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=32868a4fdc5533cad11cc5918e2d9628 1100w, https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765987006-sfm3shtriggers6.png?w=1650\u0026fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=4acd47007ecdaa164914c0a4d0a34cb9 1650w, https://mintcdn.com/m3ter/YaytJAurDAHM7NoM/images/1765987006-sfm3shtriggers6.png?w=2500\u0026fit=max\u0026auto=format\u0026n=YaytJAurDAHM7NoM\u0026q=85\u0026s=e5c17b85212c183476958c642115304c 2500w`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`A successful test should return 200 http status code and a response such as the following example:`}),`\n`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766067259-sfm3shtriggers9.png?fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=a96c3385baad630e34a6343863b85bb2`,alt:``,style:{maxWidth:`min(850px, 100%)`},\"data-og-width\":`1128`,width:`1128`,\"data-og-height\":`608`,height:`608`,\"data-path\":`images/1766067259-sfm3shtriggers9.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766067259-sfm3shtriggers9.png?w=280\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=18c22a4dce127d1ad00248dd3bc826db 280w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766067259-sfm3shtriggers9.png?w=560\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=052b150f9b69dcc45507bc5a49f05e58 560w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766067259-sfm3shtriggers9.png?w=840\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=863a75aed1f88124202d68c06e1e461e 840w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766067259-sfm3shtriggers9.png?w=1100\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=df5f6cbf2bc1eccd085a604e534003fa 1100w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766067259-sfm3shtriggers9.png?w=1650\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=8cba2967dc7dd6cc7248a975e76748a4 1650w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766067259-sfm3shtriggers9.png?w=2500\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=5112c4be70d9b3a2fd957f0bef2d39e9 2500w`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Note!`}),` Please be aware that Test runs will trigger the m3sh Workflow as normal.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`implementation-notes`,children:`Implementation Notes`}),`\n`,_jsx(_components.p,{children:`This section provides further guidance on successfully implementing the m3sh Webhook Triggers feature for your m3ter Connector for Salesforce managed package:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/guides/m3ter-connector-for-salesforce/setting-up-m3sh-webhook-triggers#adding-webhooks-as-triggers-for-m3sh-workflows`,children:`Adding Webhooks as Triggers for m3sh Workflows`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/guides/m3ter-connector-for-salesforce/setting-up-m3sh-webhook-triggers#implementation-patterns-options`,children:`Implementation Patterns - Options`})}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`adding-webhooks-as-triggers-for-m3sh-workflows`,children:`Adding Webhooks as Triggers for m3sh Workflows`}),`\n`,_jsx(_components.p,{children:`m3sh Workflows in m3ter can be configured to use different types of Trigger, including webhooks. In addition to the setup required in your Salesforce Org when implementing the m3sh Webhook Triggers feature, you must also ensure a corresponding webhook is configured in the m3ter Console as the Trigger for the target m3sh Workflow.`}),`\n`,_jsx(_components.p,{children:`The correct credentials set up is necessary for the webhook you configure as a Trigger for the m3sh Workflow, and the m3sh Webhook Triggers feature uses the same Integration Credentials setup as used in the Connector for Salesforce managed package to sign requests made to m3ter. Therefore please ensure that when setting up the webhook Trigger for the m3sh Workflow, the integration credentials used match those of the service user used to set up the sync between the m3ter Connector for Salesforce managed package and m3ter, that is, the integration credentials in the managed package.`}),`\n`,_jsx(Heading,{level:`3`,id:`implementation-patterns-options`,children:`Implementation Patterns - Options`}),`\n`,_jsx(_components.p,{children:`Once a m3sh Webhook Trigger has been successfully configured and tested, you are ready to implement it in your process. Three different implementation patterns are available.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/guides/m3ter-connector-for-salesforce/setting-up-m3sh-webhook-triggers#salesforce-flows`,children:`Use in Salesforce Flows`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/guides/m3ter-connector-for-salesforce/setting-up-m3sh-webhook-triggers#apex`,children:`Use in Apex`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/guides/m3ter-connector-for-salesforce/setting-up-m3sh-webhook-triggers#scheduled-apex-jobs`,children:`Scheduled Apex Jobs`})}),`\n`]}),`\n`,_jsx(Heading,{level:`4`,id:`salesforce-flows`,children:`Salesforce Flows`}),`\n`,_jsx(_components.p,{children:`The invocable action has two required inputs:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Config Developer Name`}),`:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`You can find this by navigating to the underlying CMDT record, that is from `,_jsx(_components.strong,{children:`Setup > Custom Metadata >`}),` find** m3sh Trigger Configs** and select `,_jsx(_components.strong,{children:`Manage Records`}),`.`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Record IDs`}),`:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`The Ids for the Salesforce Records to send to the Webhook. These must be of the same type as the configured Salesforce Object.`}),`\n`,_jsx(_components.li,{children:`The platform will send each record in a separate transaction.`}),`\n`]}),`\n`]}),`\n`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766139846-sfm3shtriggers10.png?fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=5eb86c9c1c72d58ebf874701efd738ee`,alt:``,style:{maxWidth:`min(950px, 100%)`},\"data-og-width\":`1287`,width:`1287`,\"data-og-height\":`510`,height:`510`,\"data-path\":`images/1766139846-sfm3shtriggers10.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766139846-sfm3shtriggers10.png?w=280\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=5ee4cda571103b4148cae2c26e2a5aa5 280w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766139846-sfm3shtriggers10.png?w=560\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=7190505588f29d3cb3c785dffaa1c2d3 560w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766139846-sfm3shtriggers10.png?w=840\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=c606dd2eae1f5f43cd0ad73ed9841e39 840w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766139846-sfm3shtriggers10.png?w=1100\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=2495e21300fd3e3fcc50b6c4c8c76517 1100w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766139846-sfm3shtriggers10.png?w=1650\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=f8af1b85718023ca725f4171be683aaf 1650w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766139846-sfm3shtriggers10.png?w=2500\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=1cfbc01ed370f8bc11d7125f111bcf7a 2500w`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Note:`}),` Because the Invocable Action makes callouts, it needs to be added to an `,_jsx(_components.em,{children:_jsx(_components.strong,{children:`Asynchronous Path`})}),`.`]})}),`\n`,_jsx(Heading,{level:`4`,id:`apex`,children:`Apex`}),`\n`,_jsx(_components.p,{children:_jsx(_components.code,{children:`Java:`})}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`39`,language:`java`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`java`,children:_jsxs(_components.code,{language:`java`,numberOfLines:`39`,children:[_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Trigger delegation pattern`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`trigger `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:`AccountTrigger`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` on `}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`Account`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (after insert, after update) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` AccountTriggerHandler`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`handleAfterInsertUpdate`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Trigger`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`new`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Trigger`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`oldMap`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Trigger Handler class`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`public`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` class`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` AccountTriggerHandler`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` `})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` public`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` static`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:` void`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` handleAfterInsertUpdate`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:`List`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:`Account`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`> `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`newRecords`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:`Map`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:`Id`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:`Account`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`> `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`oldMap`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Trigger`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`isInsert`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ||`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Trigger`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`isUpdate`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u0026\u0026`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` needsSync`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(newRecords, oldMap))) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:` Set`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:`Id`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#D4D4D4`},children:`> `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`recordIds`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` new`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:` Map`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:`Id`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:`Account`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`>(newRecords).`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`keySet`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` sendToWebhookAsync`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(recordIds, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'Account_Realtime_Sync'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` `})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` @`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:`future`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`Callout`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` public`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` static`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:` void`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` sendToWebhookAsync`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:`Set`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:`Id`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`> `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`recordIds`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:`String`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` configDeveloperName`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Note: In subscriber orgs, use the namespace prefix 'm3' before class names`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Example: m3.M3shSendWebhookService for production installations`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` `})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:` m3`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:`M3shSendWebhookService`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:`M3shWebhookRequest`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` request`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` new`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` m3.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`M3shSendWebhookService`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`M3shWebhookRequest`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` request`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`configDeveloperName`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` configDeveloperName;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` request`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`recordIds`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` new`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:` List`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:`Id`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`>(recordIds);`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` `})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:` List`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:`m3`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:`M3shSendWebhookService`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:`M3shWebhookResult`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#D4D4D4`},children:`> `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`results`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` `})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` m3`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`M3shSendWebhookService`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`sendToWebhook`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`new`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:` List`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:`m3`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:`M3shSendWebhookService`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:`M3shWebhookRequest`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`>{ request });`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` `})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`!`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`results`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`isEmpty`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`() `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`\u0026\u0026`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` !`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`results[`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`].`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`success`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` System`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`debug`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`LoggingLevel`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`ERROR`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'Webhook failed: '`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` +`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` results[`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`].`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`message`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` `})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` private`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` static`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:` Boolean`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` needsSync`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:`List`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:`Account`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`> `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`newRecords`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:`Map`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:`Id`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#4EC9B0`},children:`Account`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`> `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`oldMap`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Implement your logic here`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`]})})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Note that given the service makes callouts, it will need to be wrapped in a `,_jsx(_components.code,{children:`@future(Callout=true) `}),`method.`]}),`\n`,_jsxs(_components.li,{children:[`See: `,_jsx(_components.a,{href:`https://help.salesforce.com/s/articleView?id=000386018\u0026type=1`,children:`https://help.salesforce.com/s/articleView?id=000386018\u0026type=1`})]}),`\n`]}),`\n`,_jsx(Heading,{level:`4`,id:`scheduled-apex-jobs`,children:`Scheduled Apex Jobs`}),`\n`,_jsx(_components.p,{children:`For a configured m3sh Webhook Trigger, you can to set up scheduled Apex jobs to periodically send records to the m3sh Webhook:`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766140918-sfm3shtriggers11.png?fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=0cf8015bfc252f95bcebfb35776a356e`,alt:``,style:{maxWidth:`min(950px, 100%)`},\"data-og-width\":`1287`,width:`1287`,\"data-og-height\":`536`,height:`536`,\"data-path\":`images/1766140918-sfm3shtriggers11.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766140918-sfm3shtriggers11.png?w=280\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=fa47bfa5b727e016b113d1a4bd73805c 280w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766140918-sfm3shtriggers11.png?w=560\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=bf32700241c2a277015284a263b627fb 560w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766140918-sfm3shtriggers11.png?w=840\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=3316fc86161d65cdceeb6de852595fee 840w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766140918-sfm3shtriggers11.png?w=1100\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=572cc85c8a17bbc6a56a404ee1c4897e 1100w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766140918-sfm3shtriggers11.png?w=1650\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=f1ee0a454c07e52a3c527aa5e9c2039a 1650w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766140918-sfm3shtriggers11.png?w=2500\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=4667a40122dcdc8ab2ef93dc281838fd 2500w`}),`\n`,_jsxs(_components.p,{children:[`After selecting a `,_jsx(_components.strong,{children:`Run Interval`}),` - available options are every 15 mins, every 30 mins, or every hour - select `,_jsx(_components.strong,{children:`Enable Scheduled Runs`}),`:`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766402247-sfm3shtriggers12a.png?fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=ef2aed7f202ed03421115a30c7a34d74`,alt:``,style:{maxWidth:`min(950px, 100%)`},\"data-og-width\":`1287`,width:`1287`,\"data-og-height\":`526`,height:`526`,\"data-path\":`images/1766402247-sfm3shtriggers12a.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766402247-sfm3shtriggers12a.png?w=280\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=f16cc5a7f689617503843623e496a90a 280w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766402247-sfm3shtriggers12a.png?w=560\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=5e80bc3c86d8fb81021a471333c30d40 560w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766402247-sfm3shtriggers12a.png?w=840\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=800ad866953ba43813b8bd81f573c788 840w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766402247-sfm3shtriggers12a.png?w=1100\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=c35e0641a6a0bbc06f7eced18b8efa4d 1100w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766402247-sfm3shtriggers12a.png?w=1650\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=d6c89948df874c232af735e5a18240b2 1650w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766402247-sfm3shtriggers12a.png?w=2500\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=3217ac5b177ac3e5b36c231da40943af 2500w`}),`\n`,_jsx(_components.p,{children:`With this feature enabled the m3ter Connector for Salesforce managed package will, for every configured m3sh Webhook Trigger:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Query all the fields for the records from the associated Salesforce Object that have been updated/created since the last run.`}),`\n`,_jsx(_components.li,{children:`Prepare the request payload.`}),`\n`,_jsx(_components.li,{children:`Send the records to the Webhook endpoint.`}),`\n`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Tip: Switching off scheduled jobs?`}),` You can easily turn off scheduled jobs using the `,_jsx(_components.strong,{children:`Disable Scheduled Runs`}),` button from the Setup UI.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`monitoring-execution-logs`,children:`Monitoring Execution Logs`}),`\n`,_jsxs(_components.p,{children:[`To aid debugging and monitoring of the callouts made to m3sh Workflows, a new object and tab has been added to the m3ter Connector for Salesforce managed package. This new tab in the m3ter Admin App is called `,_jsx(_components.strong,{children:`m3sh Execution Logs`}),`:`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766142704-sfm3shtriggers13.png?fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=ce8a389f388d717d4da25ea4206d14da`,alt:``,style:{maxWidth:`min(950px, 100%)`},\"data-og-width\":`1286`,width:`1286`,\"data-og-height\":`387`,height:`387`,\"data-path\":`images/1766142704-sfm3shtriggers13.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766142704-sfm3shtriggers13.png?w=280\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=4d014568516357a912782381c88dc334 280w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766142704-sfm3shtriggers13.png?w=560\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=accae5d5ddc9614f84faa88540666e04 560w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766142704-sfm3shtriggers13.png?w=840\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=8ddf7a4ef108cb3d896452d31a6a1f01 840w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766142704-sfm3shtriggers13.png?w=1100\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=c6ed5aa5bd046e205682051b9a8a04d6 1100w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766142704-sfm3shtriggers13.png?w=1650\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=7c6615133f276aabfdf4d3928ecb12b3 1650w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766142704-sfm3shtriggers13.png?w=2500\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=da8f05718b86583c19ef02ca8939b6af 2500w`}),`\n`,_jsx(_components.p,{children:`Each time a callout is made, the request payload, the response, and HTTP Status code is logged, along with other useful information like the Execution Type and name of the CMDT Config.\\xA0`}),`\n`,_jsx(_components.p,{children:`The possible values for the Execution Type are listed below:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Scheduled`}),` - From scheduled batch jobs.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Manual`}),` - From admin UI `,_jsx(_components.strong,{children:`Run Now`}),` or `,_jsx(_components.strong,{children:`Test`}),` buttons.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Invocable Action`}),` - From Flow or Apex invocations.`]}),`\n`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766143223-sfm3shtriggers14.png?fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=60b78122eeece8be95846a120590fb7d`,alt:``,style:{maxWidth:`min(950px, 100%)`},\"data-og-width\":`1060`,width:`1060`,\"data-og-height\":`817`,height:`817`,\"data-path\":`images/1766143223-sfm3shtriggers14.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766143223-sfm3shtriggers14.png?w=280\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=6f040898c016d521d63aa23246c967f2 280w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766143223-sfm3shtriggers14.png?w=560\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=2bdad1d46fbaa93e3a3b3dd4ed722fdf 560w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766143223-sfm3shtriggers14.png?w=840\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=39ed895329d62fe3d08d07e137f49f99 840w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766143223-sfm3shtriggers14.png?w=1100\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=82f42c6879f373a439c7b0d26c73a073 1100w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766143223-sfm3shtriggers14.png?w=1650\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=1d992b8d72fde81c898bc5a3ab6516b6 1650w, https://mintcdn.com/m3ter/IIVPvL7530sHdexY/images/1766143223-sfm3shtriggers14.png?w=2500\u0026fit=max\u0026auto=format\u0026n=IIVPvL7530sHdexY\u0026q=85\u0026s=330506976a649c8d6204f5adc3cb8206 2500w`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Setting Up m3sh Webhook Triggers","description":null,"href":"/guides/m3ter-connector-for-salesforce/setting-up-m3sh-webhook-triggers"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[]},{"title":"Prerequisite Configuration","slug":"prerequisite-configuration","depth":2,"children":[{"title":"Enabling m3sh Webhook Triggers","slug":"enabling-m3sh-webhook-triggers","depth":3,"children":[]},{"title":"Configuring Remote Site Settings","slug":"configuring-remote-site-settings","depth":3,"children":[]}]},{"title":"Creating m3sh Webhook Triggers","slug":"creating-m3sh-webhook-triggers","depth":2,"children":[]},{"title":"Testing Active m3sh Webhook Triggers","slug":"testing-active-m3sh-webhook-triggers","depth":2,"children":[]},{"title":"Implementation Notes","slug":"implementation-notes","depth":2,"children":[{"title":"Adding Webhooks as Triggers for m3sh Workflows","slug":"adding-webhooks-as-triggers-for-m3sh-workflows","depth":3,"children":[]},{"title":"Implementation Patterns - Options","slug":"implementation-patterns-options","depth":3,"children":[]},{"title":"Salesforce Flows","slug":"salesforce-flows","depth":4,"children":[]},{"title":"Apex","slug":"apex","depth":4,"children":[]},{"title":"Scheduled Apex Jobs","slug":"scheduled-apex-jobs","depth":4,"children":[]}]},{"title":"Monitoring Execution Logs","slug":"monitoring-execution-logs","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"m3ter","siteName":"m3ter Documentation","title":"Setting Up m3sh Webhook Triggers - m3ter Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-30T15:11:25.292Z","originalFileLocation":"guides/m3ter-connector-for-salesforce/setting-up-m3sh-webhook-triggers.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"m3ter Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/m3ter/zwvZvZyvpa8TKV7c/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/m3ter/zwvZvZyvpa8TKV7c/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/m3ter/zwvZvZyvpa8TKV7c/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/m3ter/zwvZvZyvpa8TKV7c/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/m3ter/zwvZvZyvpa8TKV7c/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/m3ter/zwvZvZyvpa8TKV7c/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/m3ter/zwvZvZyvpa8TKV7c/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/m3ter/zwvZvZyvpa8TKV7c/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/m3ter/zwvZvZyvpa8TKV7c/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Setting Up m3sh Webhook Triggers - m3ter Documentation\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"m3ter Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.m3ter.com/guides/m3ter-connector-for-salesforce/setting-up-m3sh-webhook-triggers\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://m3ter.mintlify.app/_mintlify/api/og/v2?division=m3ter+Connector+for+Salesforce\u0026amp;title=Setting+Up+m3sh+Webhook+Triggers\u0026amp;theme=a12cf6d8598fbb808e7ba8a7\u0026amp;signature=ff6eadbb6dfbef53c8495482f579ebb129f45af56b9a88630e1a98db10e70572\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Setting Up m3sh Webhook Triggers - m3ter Documentation\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://m3ter.mintlify.app/_mintlify/api/og/v2?division=m3ter+Connector+for+Salesforce\u0026amp;title=Setting+Up+m3sh+Webhook+Triggers\u0026amp;theme=a12cf6d8598fbb808e7ba8a7\u0026amp;signature=ff6eadbb6dfbef53c8495482f579ebb129f45af56b9a88630e1a98db10e70572\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/m3ter/zwvZvZyvpa8TKV7c/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"m3ter Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4caf4c\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.m3ter.com/guides/m3ter-connector-for-salesforce/setting-up-m3sh-webhook-triggers\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/guides/m3ter-connector-for-salesforce/setting-up-m3sh-webhook-triggers.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.m3ter.com/#organization\",\"name\":\"m3ter Documentation\",\"url\":\"https://docs.m3ter.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/m3ter/t6C65JBQiQOFtjBy/images/m3ter-logo-blue-sf.svg?fit=max\u0026auto=format\u0026n=t6C65JBQiQOFtjBy\u0026q=85\u0026s=3928db28c84ec6950e43caf96e635d80\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.m3ter.com#website\",\"name\":\"m3ter Documentation\",\"url\":\"https://docs.m3ter.com\",\"publisher\":{\"@id\":\"https://docs.m3ter.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.m3ter.com/guides/m3ter-connector-for-salesforce/setting-up-m3sh-webhook-triggers#webpage\",\"url\":\"https://docs.m3ter.com/guides/m3ter-connector-for-salesforce/setting-up-m3sh-webhook-triggers\",\"name\":\"Setting Up m3sh Webhook Triggers\",\"dateModified\":\"2026-10-30T15:11:25.292Z\",\"isPartOf\":{\"@id\":\"https://docs.m3ter.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.m3ter.com/guides/m3ter-connector-for-salesforce/setting-up-m3sh-webhook-triggers#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.m3ter.com/guides/m3ter-connector-for-salesforce/setting-up-m3sh-webhook-triggers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Guides\",\"item\":\"https://docs.m3ter.com/guides/getting-started/quick-start-worked-example\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"m3ter Connector for Salesforce\",\"item\":\"https://docs.m3ter.com/guides/m3ter-connector-for-salesforce\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Setting Up m3sh Webhook Triggers\",\"item\":\"https://docs.m3ter.com/guides/m3ter-connector-for-salesforce/setting-up-m3sh-webhook-triggers\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.m3ter.com/guides/m3ter-connector-for-salesforce/setting-up-m3sh-webhook-triggers#article\",\"headline\":\"Setting Up m3sh Webhook Triggers\",\"name\":\"Setting Up m3sh Webhook Triggers\",\"url\":\"https://docs.m3ter.com/guides/m3ter-connector-for-salesforce/setting-up-m3sh-webhook-triggers\",\"mainEntityOfPage\":{\"@id\":\"https://docs.m3ter.com/guides/m3ter-connector-for-salesforce/setting-up-m3sh-webhook-triggers#webpage\"},\"dateModified\":\"2026-10-30T15:11:25.292Z\",\"publisher\":{\"@id\":\"https://docs.m3ter.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.m3ter.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"m3ter Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"m3ter Documentation","nav":{"global":null,"tabs":[{"tab":"Exploring m3ter","pages":[{"title":"Exploring m3ter","href":""}]},{"tab":"Guides","pages":[{"group":"Guides","pages":[{"group":"Getting Started","root":{"title":"Getting Started","href":"/guides/getting-started"},"expanded":false,"pages":[{"title":"Quick Start","href":"/guides/getting-started/quick-start-worked-example"},{"title":"m3ter Console","href":"/guides/getting-started/working-in-the-m3ter-console"},{"title":"Configuration Workflow","href":"/guides/getting-started/previewing-main-configuration-steps"},{"group":"Worked Examples","expanded":false,"pages":[{"title":"Worked Examples","href":"/guides/getting-started/metering-for-production-worked-examples"},{"title":"Example 1: Cloud Storage and File Cleanup","href":"/guides/getting-started/metering-for-production-worked-examples/worked-example-1-cloud-storage-and-file-cleanup"},{"title":"Example 2: Compound Aggregation for Sign-Up Bonus","href":"/guides/getting-started/metering-for-production-worked-examples/example-2-compound-aggregation-for-sign-up-bonus"},{"title":"Example 3: Segmented Aggregation on Single Meter Usage","href":"/guides/getting-started/metering-for-production-worked-examples/example-3-segmented-aggregation-on-single-meter-usage"}]},{"title":"Dates in m3ter - Quick Reference Starter","href":"/guides/getting-started/working-with-dates-in-m3ter-easy-reference"},{"title":"Feature Release Stages","href":"/guides/getting-started/feature-release-stages"},{"title":"Knowledge Index","href":"/guides/getting-started/knowledge-index"},{"title":"Contacting m3ter Support","href":"/guides/getting-started/contacting-m3ter-support"}]},{"group":"Authentication","root":{"title":"Authentication","href":"/guides/authenticating-with-the-platform"},"expanded":false,"pages":[{"title":"User/Password Authentication","href":"/guides/authenticating-with-the-platform/user-password-authentication"},{"title":"m3ter Single Sign-On","href":"/guides/authenticating-with-the-platform/m3ter-single-sign-on"},{"title":"Service Authentication","href":"/guides/authenticating-with-the-platform/service-authentication"}]},{"group":"Creating, Managing, and Reviewing Products","root":{"title":"Creating, Managing, and Reviewing Products","href":"/guides/creating-and-managing-products"},"expanded":false,"pages":[{"title":"Working with Custom Fields","href":"/guides/creating-and-managing-products/working-with-custom-fields"}]},{"group":"Usage Data: Meters","root":{"title":"Usage Data: Meters","href":"/guides/usage-data-meters"},"expanded":false,"pages":[{"title":"Reviewing Meter Options","mode":"default","href":"/guides/usage-data-meters/reviewing-meter-options"},{"title":"Creating Product Meters","href":"/guides/usage-data-meters/creating-meters"},{"title":"Creating Global Meters","href":"/guides/usage-data-meters/creating-global-meters"},{"title":"Working in Meter Details","href":"/guides/usage-data-meters/working-in-meter-details"},{"title":"Working with Meter Derived Fields and Examples","href":"/guides/usage-data-meters/derived-fields-for-meters-examples-and-supported-syntax"}]},{"group":"Pricing Metrics: Aggregations","root":{"title":"Pricing Metrics: Aggregations","href":"/guides/usage-data-aggregations"},"expanded":false,"pages":[{"title":"Reviewing Aggregation Options","href":"/guides/usage-data-aggregations/reviewing-aggregation-options"},{"title":"Creating Product Aggregations","href":"/guides/usage-data-aggregations/creating-aggregations"},{"title":"Creating Global Aggregations","href":"/guides/usage-data-aggregations/creating-global-aggregations"},{"title":"Compound Aggregations","href":"/guides/usage-data-aggregations/compound-aggregations"},{"title":"Working with Compound Aggregation Calculations","href":"/guides/usage-data-aggregations/compound-aggregation-calculations"},{"title":"Compound Aggregations - Examples","href":"/guides/usage-data-aggregations/compound-aggregations-examples"},{"title":"Segmented Aggregations","href":"/guides/usage-data-aggregations/segmented-aggregations"},{"title":"Custom SQL Aggregations","href":"/guides/usage-data-aggregations/custom-sql-aggregations"},{"title":"Reviewing Aggregation Details","href":"/guides/usage-data-aggregations/reviewing-aggregation-details"}]},{"group":"Recurring Charges: Counters","root":{"title":"Recurring Charges: Counters","href":"/guides/recurring-charges-counters"},"expanded":false,"pages":[{"title":"Creating Counters and Pricing Plans","href":"/guides/recurring-charges-counters/creating-counters"},{"title":"Understanding and Creating Counter Adjustments for Accounts","href":"/guides/recurring-charges-counters/creating-counter-adjustments-for-accounts"},{"title":"Recurring Charges Billing: Seat-Based Pricing","href":"/guides/recurring-charges-counters/reviewing-bills-for-recurring-charges"},{"title":"Recurring Charges Billing: Hybrid Pricing","href":"/guides/recurring-charges-counters/recurring-charges-example-2-hybrid-pricing"}]},{"group":"Plans and Pricing","root":{"title":"Plans and Pricing","href":"/guides/plans-and-pricing"},"expanded":false,"pages":[{"group":"Creating and Working with Plan Templates, Plans, and Plan Groups","root":{"title":"Creating and Working with Plan Templates, Plans, and Plan Groups","href":"/guides/plans-and-pricing/working-with-plan-templates-and-plans"},"expanded":false,"pages":[{"title":"Reviewing Options for Plans and Plan Templates","href":"/guides/plans-and-pricing/working-with-plan-templates-and-plans/reviewing-configuration-options-for-plans-and-plan-templates"},{"title":"Understanding Billing Options for Plan Templates/Plans","href":"/guides/plans-and-pricing/working-with-plan-templates-and-plans/understanding-billing-options-for-plan-templates-plans"},{"title":"Creating Plan Templates","href":"/guides/plans-and-pricing/working-with-plan-templates-and-plans/creating-plan-templates"},{"title":"Creating Plans","href":"/guides/plans-and-pricing/working-with-plan-templates-and-plans/creating-plans"},{"title":"Working in Plan Template and Plan Details","href":"/guides/plans-and-pricing/working-with-plan-templates-and-plans/working-in-plan-details"},{"title":"Editing and Deleting Plan Templates and Plans","href":"/guides/plans-and-pricing/working-with-plan-templates-and-plans/editing-plan-templates-and-plans"},{"title":"Working with Plan Groups","href":"/guides/plans-and-pricing/working-with-plan-templates-and-plans/working-with-plan-groups"}]},{"group":"Pricing and Managing Plans and Plan Templates","root":{"title":"Pricing and Managing Plans and Plan Templates","href":"/guides/plans-and-pricing/pricing-plans"},"expanded":false,"pages":[{"title":"Reviewing Pricing Options for Plans and Plan Templates","href":"/guides/plans-and-pricing/pricing-plans/reviewing-pricing-options-and-pricing-plans"},{"title":"Pricing Plans and Plan Templates","href":"/guides/plans-and-pricing/pricing-plans/pricing-plans"},{"title":"Pricing Plans Using Segmented Aggregations","href":"/guides/plans-and-pricing/pricing-plans/pricing-plans-using-segmented-aggregations"},{"title":"Managing and Editing Priced Plans and Plan Templates","href":"/guides/plans-and-pricing/pricing-plans/managing-and-editing-priced-plans-or-plan-templates"},{"title":"Duplicating Priced Plans and Plan Templates","href":"/guides/plans-and-pricing/pricing-plans/duplicating-priced-plans-or-plan-templates"}]}]},{"group":"End-Customer Accounts","root":{"title":"End-Customer Accounts","href":"/guides/end-customer-accounts"},"expanded":false,"pages":[{"title":"Managing Accounts - Best Practices","href":"/guides/end-customer-accounts/managing-accounts-best-practices"},{"title":"Creating and Managing Accounts","href":"/guides/end-customer-accounts/creating-an-account"},{"title":"Attaching Plans to an Account","href":"/guides/end-customer-accounts/attaching-plans-to-an-account"},{"title":"Creating Custom Plans for Accounts","href":"/guides/end-customer-accounts/creating-custom-account-plans"},{"title":"Attaching Plan Groups to an Account","href":"/guides/end-customer-accounts/attaching-plan-groups-to-an-account"},{"title":"Creating Custom Plan Groups for Accounts","href":"/guides/end-customer-accounts/creating-custom-plan-groups-for-accounts"},{"title":"Creating Prepayments for Accounts","href":"/guides/end-customer-accounts/creating-prepayments-for-accounts"},{"group":"Working with Contracts for Accounts","root":{"title":"Working with Contracts for Accounts","href":"/guides/end-customer-accounts/creating-contracts-for-accounts"},"expanded":false,"pages":[{"title":"Creating and Managing Contracts","href":"/guides/end-customer-accounts/creating-contracts-for-accounts/creating-and-managing-contracts"},{"title":"Setting Up Contract Billing","href":"/guides/end-customer-accounts/creating-contracts-for-accounts/setting-up-contract-billing"},{"title":"Reviewing Organization Contracts","href":"/guides/end-customer-accounts/creating-contracts-for-accounts/reviewing-organization-contracts"}]},{"group":"Working with Balances for Accounts","root":{"title":"Working with Balances for Accounts","href":"/guides/end-customer-accounts/creating-balances-for-accounts"},"expanded":false,"pages":[{"title":"Understanding and Managing Billing for Balances","href":"/guides/end-customer-accounts/creating-balances-for-accounts/understanding-billing-for-balances"},{"title":"Creating and Managing Account Balances","href":"/guides/end-customer-accounts/creating-balances-for-accounts/creating-and-managing-account-balances"},{"title":"Creating and Managing Transactions for Balances","href":"/guides/end-customer-accounts/creating-balances-for-accounts/creating-and-managing-transactions-for-balances"},{"title":"Setting Up Transaction Schedules for Balances","href":"/guides/end-customer-accounts/creating-balances-for-accounts/setting-transaction-schedules-for-balances"},{"title":"Creating Charges for Balances","href":"/guides/end-customer-accounts/creating-balances-for-accounts/creating-charges-for-balances"},{"title":"Setting Up Charge Schedules for Balances","href":"/guides/end-customer-accounts/creating-balances-for-accounts/setting-charge-schedules-for-balances"},{"title":"Running and Viewing Bills for Balance Charges","href":"/guides/end-customer-accounts/creating-balances-for-accounts/runnning-viewing-bill-for-balance-charges"},{"title":"Reviewing Account Balances Summary","href":"/guides/end-customer-accounts/creating-balances-for-accounts/reviewing-account-balances-summary"},{"title":"Grants","href":"/guides/end-customer-accounts/creating-balances-for-accounts/balance-grants"}]},{"title":"Creating Charges for Accounts","href":"/guides/end-customer-accounts/creating-charges-for-accounts"},{"title":"Creating Counter Adjustments for Accounts","href":"/guides/end-customer-accounts/creating-counter-adjustments-for-accounts"},{"title":"Submitting Usage Data for an Account","href":"/guides/end-customer-accounts/submitting-usage-data-for-an-account"},{"title":"Working in Account Overview","href":"/guides/end-customer-accounts/working-in-account-overview"},{"title":"Reviewing and Recalculating Bills for an Account","href":"/guides/end-customer-accounts/reviewing-bills-for-an-account"},{"group":"Working with Parent/Child Accounts","root":{"title":"Working with Parent/Child Accounts","href":"/guides/end-customer-accounts/creating-and-working-with-child-accounts"},"expanded":false,"pages":[{"title":"Billing Hierarchy Modes for Parent/Child Accounts","href":"/guides/end-customer-accounts/creating-and-working-with-child-accounts/billing-for-parent-child-accounts"}]},{"title":"End Dating Account Billing Entities","href":"/guides/end-customer-accounts/end-dating-account-billing-entities"},{"title":"Creating and Managing External Mappings for Accounts","href":"/guides/end-customer-accounts/creating-and-managing-external-mappings-for-accounts"}]},{"group":"Billing and Usage Data","root":{"title":"Billing and Usage Data","href":"/guides/billing-and-usage-data"},"expanded":false,"pages":[{"group":"Submitting Usage Data","root":{"title":"Submitting Usage Data","href":"/guides/billing-and-usage-data/submitting-usage-data"},"expanded":false,"pages":[{"title":"API Calls for Data Ingest","href":"/guides/billing-and-usage-data/submitting-usage-data/api-calls-for-data-ingest"},{"title":"File Upload Service API","href":"/guides/billing-and-usage-data/submitting-usage-data/file-upload-service-api"},{"title":"Submitting and Checking Test Usage Data","href":"/guides/billing-and-usage-data/submitting-usage-data/submitting-test-usage-data"},{"title":"File Uploads for Usage Data by Meter","href":"/guides/billing-and-usage-data/submitting-usage-data/file-uploads-for-usage-data-by-meter"},{"title":"Submitting Usage Data Adjustments Using Timestamp","href":"/guides/billing-and-usage-data/submitting-usage-data/submitting-usage-data-adjustments-using-timestamp"},{"title":"Submitting Usage Data for Non-Existent Accounts","href":"/guides/billing-and-usage-data/submitting-usage-data/submitting-usage-data-for-non-existent-accounts"},{"title":"Reviewing and Resolving Ingest Events","href":"/guides/billing-and-usage-data/submitting-usage-data/reviewing-and-resolving-ingest-events"}]},{"group":"Running, Viewing, and Managing Bills","root":{"title":"Running, Viewing, and Managing Bills","href":"/guides/billing-and-usage-data/running-viewing-and-managing-bills"},"expanded":false,"pages":[{"title":"Running Bills and Viewing Bill Details","href":"/guides/billing-and-usage-data/running-viewing-and-managing-bills/running-bills-and-viewing-bill-details"},{"title":"Working with Bills in Bill Management","href":"/guides/billing-and-usage-data/running-viewing-and-managing-bills/managing-bills"},{"title":"Approving and Locking Bills - Managing Bill Lifecycle","href":"/guides/billing-and-usage-data/running-viewing-and-managing-bills/approving-and-locking-bills-managing-bill-lifecycle"},{"title":"Adding Credit Line Items to Bills","href":"/guides/billing-and-usage-data/running-viewing-and-managing-bills/adding-credit-line-items-to-bills"},{"title":"Adding Debit Line Items to Bills","href":"/guides/billing-and-usage-data/running-viewing-and-managing-bills/adding-debit-line-items-to-bills"},{"title":"Viewing Bill History","href":"/guides/billing-and-usage-data/running-viewing-and-managing-bills/viewing-bill-history"},{"title":"Scheduling Billing","href":"/guides/billing-and-usage-data/running-viewing-and-managing-bills/scheduling-billing"},{"title":"Working with Bill Statements","href":"/guides/billing-and-usage-data/running-viewing-and-managing-bills/working-with-bill-statements"},{"title":"Bill Line Item Types","href":"/guides/billing-and-usage-data/running-viewing-and-managing-bills/bill-line-item-types"},{"title":"Bill Line Items - Default Descriptions","href":"/guides/billing-and-usage-data/running-viewing-and-managing-bills/bill-line-items-default-descriptions"},{"title":"Bill Line Items - Mapping to Accounting Products","href":"/guides/billing-and-usage-data/running-viewing-and-managing-bills/bill-line-items-mapping-accounting-products"},{"title":"Troubleshooting Bills","href":"/guides/billing-and-usage-data/running-viewing-and-managing-bills/troubleshooting-bills"}]}]},{"group":"m3sh","root":{"title":"m3sh","href":"/guides/m3sh-automation"},"expanded":false,"pages":[{"group":"m3sh Workflows","root":{"title":"m3sh Workflows","href":"/guides/m3sh-workflows/m3sh-workflows"},"pages":[{"title":"m3sh Workflows - Key Concepts and Options","href":"/guides/m3sh-workflows/m3sh-workflows-key-concepts-and-options"},{"title":"Exploring m3sh Workflows","href":"/guides/m3sh-automation/exploring-m3sh-workflows"},{"title":"Reviewing m3sh Workflow Runs","href":"/guides/m3sh-automation/reviewing-m3sh-workflow-runs"},{"title":"Getting to Know the Workflow Builder","href":"/guides/m3sh-workflows/getting-to-know-the-workflow-builder"},{"title":"Creating Event Notification Workflows","href":"/guides/m3sh-workflows/creating-event-notification-workflows"},{"title":"Creating Incoming Webhook Workflows","href":"/guides/m3sh-workflows/creating-incoming-webhook-workflows"},{"title":"Working with Global Parameters","href":"/guides/m3sh-workflows/working-with-global-parameters"},{"title":"Utilizing Workflow Managed Templates","href":"/guides/m3sh-workflows/utilizing-workflow-managed-templates"},{"title":"Testing and Troubleshooting Workflows","href":"/guides/m3sh-workflows/testing-and-troubleshooting-workflows"},{"title":"Exporting and Importing Workflows","href":"/guides/m3sh-workflows/exporting-and-importing-workflows"}]},{"group":"Utilizing Events and Notifications","root":{"title":"Utilizing Events and Notifications","href":"/guides/alerts-events-and-notifications/utilizing-events-and-notifications"},"expanded":false,"pages":[{"title":"Key Concepts and Relationships","href":"/guides/alerts-events-and-notifications/utilizing-events-and-notifications/key-concepts-and-relationships"},{"title":"Object Definitions and API Calls","href":"/guides/alerts-events-and-notifications/utilizing-events-and-notifications/object-definitions-and-api-calls"},{"title":"Creating, Managing, and Reviewing Notifications","href":"/guides/alerts-events-and-notifications/utilizing-events-and-notifications/creating-managing-and-reviewing-notifications"},{"title":"Example - Notification Setup for Commitment Updated Event","href":"/guides/alerts-events-and-notifications/utilizing-events-and-notifications/example-1-commitment-updated-event"},{"title":"Working with Scheduled Events","href":"/guides/alerts-events-and-notifications/utilizing-events-and-notifications/working-with-scheduled-events"}]},{"group":"Creating and Managing Credentials","root":{"title":"Creating and Managing Credentials","href":"/guides/integrations/setting-up-integrations/managing-integration-credentials"},"expanded":false,"pages":[{"title":"Creating Stripe Integration Credentials","href":"/guides/integrations/setting-up-integrations/_managing-integration-credentials-legacy/creating-stripe-integration-credentials"},{"title":"Creating NetSuite Integration Credentials","href":"/guides/integrations/setting-up-integrations/_managing-integration-credentials-legacy/creating-netsuite-integration-credentials"},{"title":"Creating Paddle Integration Credentials","href":"/guides/integrations/setting-up-integrations/_managing-integration-credentials-legacy/creating-paddle-integration-credentials"},{"title":"Creating Chargebee Integration Credentials","href":"/guides/integrations/setting-up-integrations/_managing-integration-credentials-legacy/creating-chargebee-integration-credentials"},{"title":"Creating QuickBooks Integration Credentials","href":"/guides/integrations/setting-up-integrations/_managing-integration-credentials-legacy/creating-quickbooks-integration-credentials"},{"title":"Creating Xero Integration Credentials","href":"/guides/integrations/setting-up-integrations/_managing-integration-credentials-legacy/creating-xero-integration-credentials"},{"title":"Creating Salesforce Integration Credentials","href":"/guides/integrations/setting-up-integrations/_managing-integration-credentials-legacy/creating-salesforce-integration-credentials"},{"title":"Creating AWS Marketplace Integration Credentials","href":"/guides/integrations/setting-up-integrations/_managing-integration-credentials-legacy/creating-aws-marketplace-integration-credentials"},{"title":"Creating Azure Marketplace Integration Credentials","href":"/guides/integrations/setting-up-integrations/_managing-integration-credentials-legacy/creating-azure-marketplace-integration-credentials"}]},{"group":"Integrations","root":{"title":"Integrations","href":"/guides/integrations"},"expanded":false,"pages":[{"title":"m3ter Integrations - Overview","sidebarTitle":"m3ter Integrations","href":"/guides/integrations/m3ter-integrations"},{"group":"Setting Up and Managing Integrations","root":{"title":"Setting Up and Managing Integrations","href":"/guides/integrations/setting-up-integrations"},"expanded":false,"pages":[{"title":"Creating and Managing Integrations","href":"/guides/integrations/setting-up-integrations/creating-and-managing-integration-configurations"},{"title":"Configuring Stripe Integrations","href":"/guides/integrations/setting-up-integrations/configuring-stripe-integrations"},{"title":"Configuring NetSuite Integrations","href":"/guides/integrations/setting-up-integrations/configuring-netsuite-integrations"},{"title":"Configuring Paddle Integrations","href":"/guides/integrations/setting-up-integrations/configuring-paddle-integrations"},{"title":"Configuring Chargebee Integrations","href":"/guides/integrations/setting-up-integrations/configuring-chargebee-integrations"},{"title":"Configuring QuickBooks Integrations","href":"/guides/integrations/setting-up-integrations/configuring-quickbooks-integrations"},{"title":"Configuring Xero Integrations","href":"/guides/integrations/setting-up-integrations/configuring-xero-integrations"},{"title":"Configuring Salesforce Entity Data Sync Integrations","href":"/guides/integrations/setting-up-integrations/configuring-sf-entity-data-integrations"},{"title":"Configuring AWS Marketplace Integrations","href":"/guides/integrations/setting-up-integrations/configuring-aws-integrations"},{"title":"AWS Marketplace Integrations - Reconciliation Features","href":"/guides/integrations/setting-up-integrations/aws-marketplace-integrations-reconciliation-features"},{"title":"Configuring Azure Marketplace Integrations","href":"/guides/integrations/setting-up-integrations/configuring-azure-marketplace-integrations"},{"title":"Azure Marketplace Integrations - Reconciliation Features","href":"/guides/integrations/setting-up-integrations/azure-marketplace-integrations-reconciliation-features"},{"title":"Managing Multiple Third Party Destinations for Integrations","href":"/guides/integrations/setting-up-integrations/managing-multiple-destinations-for-integrations"},{"title":"Reviewing Integration Run Details","href":"/guides/integrations/setting-up-integrations/reviewing-integration-run-details"}]}]},{"title":"Creating and Managing Outgoing Webhooks","href":"/guides/integrations/setting-up-integrations/creating-and-managing-destinations"},{"title":"Reviewing and Resolving Integration Events","href":"/guides/integrations/setting-up-integrations/reviewing-and-resolving-integration-events"},{"title":"Creating and Managing External Mappings","href":"/guides/integrations/setting-up-integrations/creating-and-managing-external-mappings"},{"title":"Creating and Managing Transformations","href":"/guides/m3sh-workflows/creating-and-managing-transformations"}]},{"group":"m3ter APIs","root":{"title":"m3ter APIs","href":"/guides/m3ter-apis"},"expanded":false,"pages":[{"title":"Config API Limits","href":"/guides/m3ter-apis/config-api-limits"},{"title":"Ingest API Limits and Optimizing Measurement Submissions","href":"/guides/m3ter-apis/ingest-api-limits"},{"title":"WAF Rules for HTTP Requests","href":"/guides/m3ter-apis/waf-rules-for-http-requests"},{"title":"Getting Started with API Calls","href":"/guides/m3ter-apis/getting-started-with-api-calls"},{"title":"HTTP Error Codes","href":"/guides/m3ter-apis/http-error-codes"}]},{"title":"m3ter Calculation Engine","href":"/guides/m3ter-calculation-engine"},{"group":"Lookup Tables","root":{"title":"Lookup Tables (Beta)","href":"/guides/lookup-tables"},"tag":"Beta","expanded":false,"pages":[{"title":"Creating and Managing Lookup Tables","href":"/guides/lookup-tables/creating-and-managing-lookup-tables"},{"title":"Adding Data to, Publishing, and Managing Lookup Table Revisions","href":"/guides/lookup-tables/adding-data-to-and-publishing-table-revisions"},{"title":"Worked Example - Variable Usage Discounting","href":"/guides/lookup-tables/worked-example-variable-usage-discounting"},{"title":"Worked Example - Variable Usage Discounting by Account","href":"/guides/lookup-tables/worked-example-variable-usage-discouting-by-account"},{"title":"Lookup Functions","href":"/guides/lookup-tables/lookup-functions"}]},{"title":"System Alerts","href":"/guides/alerts-events-and-notifications/viewing-and-managing-alerts"},{"group":"Organization and Access Management","root":{"title":"Organization and Access Management","href":"/guides/organization-and-access-management"},"expanded":false,"pages":[{"group":"Managing your Organization","root":{"title":"Managing your Organization","href":"/guides/organization-and-access-management/viewing-and-editing-organization"},"expanded":false,"pages":[{"title":"Viewing and Editing Organization Configuration","href":"/guides/organization-and-access-management/viewing-and-editing-organization/viewing-and-editing-organization-configuration"},{"title":"Timezone Settings - Notes and Recommendations","href":"/guides/organization-and-access-management/viewing-and-editing-organization/timezone-settings-notes-and-recommendations"},{"title":"Creating and Managing Currencies","href":"/guides/organization-and-access-management/viewing-and-editing-organization/creating-and-managing-currencies"},{"title":"Creating Credit Reasons","href":"/guides/organization-and-access-management/viewing-and-editing-organization/creating-credit-reasons"},{"title":"Creating Debit Reasons","href":"/guides/organization-and-access-management/viewing-and-editing-organization/creating-debit-reasons"},{"title":"Creating Transaction Types","href":"/guides/organization-and-access-management/viewing-and-editing-organization/creating-transaction-types"},{"title":"Adding and Editing Custom Fields","href":"/guides/organization-and-access-management/viewing-and-editing-organization/adding-and-editing-custom-fields"}]},{"title":"Understanding, Creating, and Managing Permission Policies","href":"/guides/organization-and-access-management/creating-and-managing-permissions"},{"group":"Managing Access and Users","root":{"title":"Managing Access and Users","href":"/guides/organization-and-access-management/managing-users"},"expanded":false,"pages":[{"title":"Managing Users and Assigning Permission Policies","href":"/guides/organization-and-access-management/managing-users/managing-users-and-assigning-permission-policies"},{"title":"Creating and Configuring Service Users","href":"/guides/organization-and-access-management/managing-users/creating-and-configuring-service-users"},{"title":"Creating and Managing User Groups","href":"/guides/organization-and-access-management/managing-users/creating-and-managing-user-groups"},{"title":"Inviting Users to Organization","href":"/guides/organization-and-access-management/managing-users/inviting-users-to-organization"},{"title":"Tracking User Activity in Organization","href":"/guides/organization-and-access-management/managing-users/tracking-user-activity-in-organization"},{"title":"Granting m3ter Support Access to Organization","href":"/guides/organization-and-access-management/managing-users/granting-m3ter-support-access-to-organization"},{"title":"Viewing and Managing Permission Policies","href":"/guides/organization-and-access-management/managing-users/viewing-and-managing-permission-policies"}]}]},{"group":"m3ter Connector for Salesforce","root":{"title":"m3ter Connector for Salesforce","href":"/guides/m3ter-connector-for-salesforce"},"expanded":false,"pages":[{"title":"Overview - Functional Scope and Limitations","href":"/guides/m3ter-connector-for-salesforce/overview-functional-scope-and-limitations"},{"title":"Configuring the m3ter Connector for Salesforce","href":"/guides/m3ter-connector-for-salesforce/configuring-m3ter-salesforce-connector"},{"title":"Reviewing and Managing Metadata Mappings","href":"/guides/m3ter-connector-for-salesforce/reviewing-and-managing-metadata-mappings"},{"title":"Creating Custom Metadata Mappings","href":"/guides/m3ter-connector-for-salesforce/creating-metadata-mappings"},{"title":"Testing Sync Setup from Salesforce to m3ter","href":"/guides/m3ter-connector-for-salesforce/testing-sync-setup-from-salesforce-to-m3ter"},{"title":"Setting Up and Using Sync to m3ter Invocable Action","href":"/guides/m3ter-connector-for-salesforce/setting-up-invocable-action-for-event-driven-sync"},{"title":"Setting Up Sync for End Dating m3ter Account Billing Entities","href":"/guides/m3ter-connector-for-salesforce/setting-up-sync-for-end-dating-m3ter-account-billing-entities"},{"title":"Enabling Two-Way Automated Sync for m3ter Objects","href":"/guides/m3ter-connector-for-salesforce/enabling-two-way-automated-sync-for-m3ter-objects"},{"title":"Mapping Custom Fields on m3ter Entities","href":"/guides/m3ter-connector-for-salesforce/mapping-custom-fields-on-m3ter-entities"},{"title":"Mapping Segment Attributes for Pricing","description":null,"href":"/guides/m3ter-connector-for-salesforce/mapping-segment-attributes-for-pricing"},{"title":"Setting Up m3sh Webhook Triggers","href":"/guides/m3ter-connector-for-salesforce/setting-up-m3sh-webhook-triggers"},{"title":"CRUD for Metering Entities","description":null,"href":"/guides/m3ter-connector-for-salesforce/crud-for-metering-entities"},{"title":"Usage Design Targets","href":"/guides/m3ter-connector-for-salesforce/usage-design-targets"},{"title":"Generic m3ter API Invocable Action","href":"/guides/m3ter-connector-for-salesforce/generic-m3ter-api-invocable-action"},{"title":"Product Mapping Resolution","href":"/guides/m3ter-connector-for-salesforce/product-mapping-resolution"},{"title":"Checking Sync Logs and Troubleshooting","href":"/guides/m3ter-connector-for-salesforce/checking-sync-logs-and-troubleshooting"},{"group":"m3ter Connector - Sample Mappings","root":{"title":"m3ter Connector - Sample Mappings","href":"/guides/m3ter-connector-for-salesforce/m3ter-connector-sample-mappings"},"expanded":false,"pages":[{"title":"Sample Mappings 1 - Account","href":"/guides/m3ter-connector-for-salesforce/m3ter-connector-sample-mappings/sample-mapping-1-account"},{"title":"Sample Mappings 2 - Commitment","href":"/guides/m3ter-connector-for-salesforce/m3ter-connector-sample-mappings/sample-mappings-2-commitment"},{"title":"Sample Mappings 3 - Contract","href":"/guides/m3ter-connector-for-salesforce/m3ter-connector-sample-mappings/sample-mappings-3-contract"},{"title":"Sample Mappings 4 - AccountPlan","href":"/guides/m3ter-connector-for-salesforce/m3ter-connector-sample-mappings/sample-mappings-4-accountplan"},{"title":"Sample Mappings 5 - Plan","href":"/guides/m3ter-connector-for-salesforce/m3ter-connector-sample-mappings/sample-mappings-5-plan"},{"title":"Sample Mappings 6 - Pricing","href":"/guides/m3ter-connector-for-salesforce/m3ter-connector-sample-mappings/sample-mappings-6-pricing"},{"title":"Sample Mappings 7 - Pricing Bands","href":"/guides/m3ter-connector-for-salesforce/m3ter-connector-sample-mappings/sample-mappings-7-pricing-bands"}]},{"title":"m3ter Connector for Salesforce - Changelog","href":"/guides/m3ter-connector-for-salesforce/m3ter-connector-for-salesforce-changelog"}]},{"group":"Data Explorers","root":{"title":"Data Explorers","href":"/guides/data-explorer"},"expanded":false,"pages":[{"title":"Usage Data Explorer","href":"/guides/data-explorer/performing-usage-queries-and-reviewing-results"},{"title":"Usage Data Explorer (v2)","href":"/guides/data-explorer/usage-data-explorer-v2"},{"title":"Billing Data Explorer","href":"/guides/data-explorer/performing-billing-queries-and-reviewing-results"},{"title":"Prepayments Data Explorer","href":"/guides/data-explorer/performing-commitments-queries-and-reviewing-results"},{"title":"Data Explorers: Saving, Updating, and Re-Using Queries","href":"/guides/data-explorer/saving-queries"},{"title":"Data Explorers: Exporting Query Results","href":"/guides/data-explorer/exporting-usage-query-results"}]},{"group":"Data Exports","root":{"title":"Data Exports (Preview)","href":"/guides/data-exports"},"tag":"Preview","expanded":false,"pages":[{"title":"Creating and Managing Export Destinations","href":"/guides/data-exports/creating-data-export-destinations"},{"group":"Creating Usage Data Export Schedules","root":{"title":"Creating Usage Data Export Schedules","href":"/guides/data-exports/creating-export-schedules"},"expanded":false,"pages":[{"title":"Creating Legacy Usage Data Export Schedules","href":"/guides/data-exports/creating-export-schedules/creating-legacy-usage-export-schedules"}]},{"title":"Creating Operational Data Export Schedules","href":"/guides/data-exports/creating-operational-data-export-schedules"},{"title":"Reviewing and Managing Export Schedules","href":"/guides/data-exports/reviewing-and-managing-export-schedules"},{"group":"Running Ad-Hoc Usage Data Exports","root":{"title":"Running Ad-Hoc Usage Data Exports","href":"/guides/data-exports/running-ad-hoc-data-exports"},"expanded":false,"pages":[{"title":"Running Ad-Hoc Legacy Usage Data Exports","href":"/guides/data-exports/running-ad-hoc-data-exports/running-ad-hoc-legacy-data-exports"}]},{"title":"Running Ad-Hoc Operational Data Exports","href":"/guides/data-exports/running-ad-hoc-operational-data-exports"},{"title":"Downloading Data Export Files Locally","href":"/guides/data-exports/downloading-data-export-files-locally"},{"title":"Reviewing Export Jobs","href":"/guides/data-exports/reviewing-export-jobs"},{"title":"Data Export - Entity Schema and Relationship Diagram","href":"/guides/data-exports/data-export-object-relationship-diagram"}]}]}]},{"tab":"Glossary","pages":[{"title":"Glossary","href":"/glossary-of-terms"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api/introduction"}]},{"tab":"m3sh Function Reference","pages":[{"title":"m3sh Function Reference","href":"/m3sh-function-reference/m3ter/introduction"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"Setting Up m3sh Webhook Triggers - m3ter Documentation","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-B4-wUcHm.js","lightbox-handle-r17bVUz3.js"]}