Extole webhooks submit real-time data about your participants and their journey through programs to your own HTTPS endpoints. Extole webhooks support a variety of authentication methods and can be customized to format the request body in as needed. Our Support Team is available and equipped to help you customize your webhooks.
Webhooks require configuration within the Extole platform. You may configure your Extole account to use webhooks by logging in and going to Tech Center > Outbound Webhooks.You need to provide the information required for the webhook to know where and how to send your data. At the most basic level, you can configure your webhooks by including:
Name: How we will refer to the webhook in My Extole
Client Key: The secret / key used to verify the authenticity of the Extole integration. Client Keys can be created by navigating to the Security Center, clicking + New Key.
The payload URL: The destination URL the webhook will GET or POST to.
Description: An optional description for your webhook.
Advanced configuration is also optionally available to allow you more control over the structure and format of the data you’d like to receive in the request. If you need changes to the payload, the events, or the Advanced configuration, please contact your customer success or implementation manager. You can also let your Extole Team know what data you’d like to receive in the request and they can set this up for you.
In the My Extole Security Center you can easily create Client Keys for your webhooks. We support HS256 signing, Password, Basic, OAuth, and a variety of vendor-specific variations of OAuth.These authorization options are configurable within the Security Center in your My Extole account under the Keys section.
HMAC Validation in Node.jsWe do not recommend using webhook signature validation with Node.js. Node.js has a habit of changing integer formatting when processing application/json responses. Special care should be taken if using Node.js to process the request.
The webhook signs the body of each webhook post with a client-specified secret key, specified with the webhook. The signature is passed as the header X-Extole-Signature when the event is posted.The signature is a hash against the exact string sent in the HTTP request. It does not include the headers and it is not pretty-formatted. It looks like this:
Once you have a webhook configured, you’ll be able to see a detailed view of it from the Outbound Webhooks page. Here you will see the top-level details of your webhook as well as a live view of the events happening. Webhook Alerts and the Live View explains each column, the full dispatch result behind a row, and the alert each kind of failure sends.
Webhooks occasionally encounter temporary service disruptions or issues on the receiving (client) side. A response code in the 5xx range (e.g., 500 Internal Server Error, 503 Service Unavailable) indicates a server-side error and must be handled by the client system.
When you receive a 5xx response, the webhook delivery will be retried based on a predefined retry schedule. However, retries are not guaranteed indefinitely.You will receive alerts from the Extole system if persistent failures are detected. These alerts are intended to help your engineering team respond promptly to issues in your infrastructure or downstream services.It is your responsibility to monitor these alerts and take corrective actions (e.g., fix application errors, scale resources, restore service availability).
Implement logging and alerting on your webhook server to capture and diagnose all 5xx responses.
Ensure your system can handle concurrent retries or fallback gracefully.
Avoid long response times, which may result in timeouts and trigger retries.
By handling 5xx errors effectively on your end, you ensure minimal data loss and uninterrupted integration with Extole’s systems. For assistance setting up alert forwarding or retry configuration details, please contact your Extole implementation manager.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Extole Documentation","description":"Guides, product documentation, and API reference for the Extole platform.","colors":{"primary":"#ee0049","light":"#ee0049","dark":"#ee0049"},"logo":{"light":"https://mintcdn.com/extole/qEcOgc0BuXrP2LAU/extole-logo.png?fit=max\u0026auto=format\u0026n=qEcOgc0BuXrP2LAU\u0026q=85\u0026s=d7152863dcc1c598d4fac27f91b3658e","dark":"https://mintcdn.com/extole/qEcOgc0BuXrP2LAU/extole-logo.png?fit=max\u0026auto=format\u0026n=qEcOgc0BuXrP2LAU\u0026q=85\u0026s=d7152863dcc1c598d4fac27f91b3658e","href":"/"},"favicon":{"light":"https://mintcdn.com/extole/qEcOgc0BuXrP2LAU/Extole-icon-bug.svg?fit=max\u0026auto=format\u0026n=qEcOgc0BuXrP2LAU\u0026q=85\u0026s=963cb7a87707b61559c35c47c8d7fd14","dark":"https://mintcdn.com/extole/qEcOgc0BuXrP2LAU/Extole-icon-bug.svg?fit=max\u0026auto=format\u0026n=qEcOgc0BuXrP2LAU\u0026q=85\u0026s=963cb7a87707b61559c35c47c8d7fd14"},"api":{"url":"full"},"navbar":{"links":[{"href":"https://github.com/extole","label":"GitHub"},{"href":"https://my.extole.com","label":"My Extole"},{"href":"#request-sandbox","label":"Request Sandbox"}]},"footer":{"socials":{"github":"https://github.com/extole"}},"integrations":{"ga4":{"measurementId":"G-7QCR5R4J61"}},"contextual":{"options":["copy","assistant","download-spec","chatgpt","claude","cursor"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"extole","hasAudioNarration":false,"actualSubdomain":"extole","customDomains":["docs.extole.com"],"gitSource":{"type":"github","owner":"extole","repo":"product-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"feedback":{"agentFeedback":true,"thumbs":true,"issues":true,"edits":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af238b8df0682813ec0c847","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"API Reference","count":447},{"language":"default","tag":"Management API","count":310},{"language":"default","tag":"Guides","count":253},{"language":"default","tag":"Technical Docs","count":130},{"language":"default","tag":"Server to Extole API","count":72},{"language":"default","tag":"Programs \u0026 Campaigns","count":58},{"language":"default","tag":"Dashboards and Reporting","count":57},{"language":"default","tag":"Product Docs","count":56},{"language":"default","tag":"Components","count":49},{"language":"default","tag":"Product Overview","count":40}],"searchSettings":{"maxResults":20,"showContentSnippets":true,"isFiltersEnabled":true}},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"public/style.css","content":":root{--extole-coral: #ee0049;--extole-navy: #0b123d;--extole-primary-fill: #ee0049;--extole-icon-navy-bg: #0b123d;--extole-slate: #7d90a4;--extole-ink: #151a2d;--extole-muted: #4f5c6d;--extole-page-bg: #faf9f7;--extole-card-bg: #faf9f7;--extole-surface: #ffffff;--extole-surface-muted: rgba(255, 255, 255, 0.45);--extole-logo-bg: #ffffff;--extole-secondary-bg: #ffffff;--extole-border: #e2e2e0;--extole-border-strong: #d0dae6;--extole-shadow: 0 16px 44px rgba(11, 18, 61, 0.08);--extole-hero-shadow: 0 10px 32px rgba(11, 18, 61, 0.06);--extole-radius: 16px;--extole-heading-font: \"PaperMono\", \"Space Mono\", \"SFMono-Regular\", Menlo, Monaco, Consolas, monospace}html,body{background:var(--extole-page-bg)}html:not(.dark):not([data-theme=\"dark\"]):not([data-color-mode=\"dark\"]) #background-color{background-color:var(--extole-page-bg)!important}body{color:var(--extole-ink);font-family:\"Inter\", \"Poppins\", \"Montserrat\", \"Segoe UI\", sans-serif}.dark body,html.dark body,body.dark,:root[data-theme=\"dark\"] body,[data-theme=\"dark\"] body,[data-color-mode=\"dark\"] body{background:#0f1526}.nav-logo{height:24px!important;max-width:84px!important;object-fit:contain}.extole-home{color:var(--extole-ink);color-scheme:light;max-width:1440px;margin:0 auto;padding:16px 16px 96px;width:100%}.dark .extole-home,html.dark .extole-home,body.dark .extole-home,:root[data-theme=\"dark\"] .extole-home,[data-theme=\"dark\"] .extole-home,[data-color-mode=\"dark\"] .extole-home,body[data-theme=\"dark\"] .extole-home,html[data-theme=\"dark\"] .extole-home{--extole-coral: #ee0049;--extole-navy: #f3f6ff;--extole-primary-fill: #ee0049;--extole-icon-navy-bg: #263455;--extole-slate: #9cacbf;--extole-ink: #e5ebf7;--extole-muted: #b4bfd2;--extole-card-bg: #151c31;--extole-surface: #1d263d;--extole-surface-muted: rgba(255, 255, 255, 0.06);--extole-logo-bg: rgba(248, 250, 255, 0.96);--extole-secondary-bg: rgba(255, 255, 255, 0.03);--extole-border: rgba(178, 191, 216, 0.16);--extole-border-strong: rgba(205, 218, 242, 0.28);--extole-shadow: 0 20px 48px rgba(0, 0, 0, 0.36);--extole-hero-shadow: 0 16px 36px rgba(0, 0, 0, 0.28);color-scheme:dark}.extole-hero{display:grid;grid-template-columns:minmax(0, 1.12fr) minmax(420px, 0.88fr);gap:28px;align-items:stretch}.extole-hero-copy,.extole-code-panel{border:1px solid var(--extole-border);border-radius:24px;box-shadow:var(--extole-hero-shadow)}.extole-hero-copy{min-height:0;padding:46px 43px;background:var(--extole-card-bg)}.extole-kicker,.extole-code-kicker{margin:0 0 18px;color:var(--extole-coral);font-size:13px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase}.extole-hero h1,.extole-section h2{color:var(--extole-navy);font-family:var(--extole-heading-font);font-weight:700;letter-spacing:-0.01em}.extole-hero h1{max-width:720px;margin:0 0 17px;font-size:clamp(1.9rem, 3vw, 2.7rem);line-height:1.15}.extole-lede{max-width:58ch;margin:0;color:var(--extole-muted);font-size:1.04rem;line-height:1.65}.extole-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:31px}.extole-btn{display:inline-flex;min-height:48px;min-width:178px;align-items:center;justify-content:center;border-radius:12px;padding:0 20px;font-family:var(--extole-heading-font);font-size:15px;font-weight:600;text-decoration:none!important;transition:transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease}.extole-btn:hover{transform:translateY(-1px)}.extole-btn-primary{background:var(--extole-primary-fill);color:#ffffff!important;box-shadow:0 10px 22px rgba(11, 18, 61, 0.22)}.extole-btn-secondary{border:1px solid var(--extole-border-strong);background:var(--extole-secondary-bg);color:var(--extole-navy)!important}.extole-sandbox{margin-top:30px;color:var(--extole-muted);font-size:0.92rem}.extole-sandbox a{color:var(--extole-navy);font-weight:600}.extole-code-panel{max-height:500px;min-width:0;overflow:hidden;padding:30px 26px;background:radial-gradient(circle at 90% 0%, rgba(224, 0, 73, 0.36), transparent 38%),\n linear-gradient(160deg, #131a47 0%, #0b123d 56%, #070c28 100%);color:#ffffff}.extole-code-kicker{color:#93a4d2}.extole-code-panel [class*=\"codeblock\"],.extole-code-panel pre,.extole-code-panel code{font-family:\"PaperMono\", \"SFMono-Regular\", Consolas, monospace!important}.extole-code-panel pre{background:transparent!important;color:#d4d4d4;font-size:0.84rem;line-height:1.65;margin:0;max-height:365px;overflow-x:hidden;overflow-y:auto;scrollbar-color:rgba(160, 173, 205, 0.3) rgba(8, 14, 39, 0.28);scrollbar-width:thin;text-align:left;white-space:pre;word-break:normal}.extole-code-panel .line{display:block;min-height:1.65em}.extole-code-panel .tok-comment{color:#6a9955}.extole-code-panel .tok-keyword,.extole-code-panel .tok-tag{color:#569cd6}.extole-code-panel .tok-attr,.extole-code-panel .tok-property,.extole-code-panel .tok-variable{color:#9cdcfe}.extole-code-panel .tok-string{color:#ce9178}.extole-code-panel .tok-function{color:#dcdcaa}.extole-code-panel .tok-number{color:#b5cea8}.extole-code-panel .tok-type{color:#4ec9b0}.extole-code-panel pre::-webkit-scrollbar{width:8px}.extole-code-panel pre::-webkit-scrollbar-track{background:rgba(8, 14, 39, 0.28);border-radius:10px}.extole-code-panel pre::-webkit-scrollbar-thumb{background:rgba(160, 173, 205, 0.3);border-radius:10px}.extole-code-tabs{display:flex;gap:18px;margin-bottom:18px;border-bottom:1px solid rgba(138, 156, 201, 0.24)}.extole-code-tab{display:inline-flex;padding-bottom:10px;color:#9fb0dd;cursor:pointer;font-family:var(--extole-heading-font);font-size:0.78rem}.extole-tab-radio{block-size:1px;inline-size:1px;margin:0;opacity:0;overflow:hidden;pointer-events:none;position:absolute}.extole-code-block{display:none}#extole-code-tab-js:checked~.extole-code-tabs .extole-code-tab[for=\"extole-code-tab-js\"],#extole-code-tab-react-native:checked~.extole-code-tabs .extole-code-tab[for=\"extole-code-tab-react-native\"],#extole-code-tab-ios:checked~.extole-code-tabs .extole-code-tab[for=\"extole-code-tab-ios\"],#extole-code-tab-android:checked~.extole-code-tabs .extole-code-tab[for=\"extole-code-tab-android\"]{border-bottom:2px solid #f5e7a5;color:#f4f8ff}#extole-code-tab-js:checked~.extole-code-block-js,#extole-code-tab-react-native:checked~.extole-code-block-react-native,#extole-code-tab-ios:checked~.extole-code-block-ios,#extole-code-tab-android:checked~.extole-code-block-android{display:block}.extole-link-strip{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));margin-top:42px;overflow:hidden;border:1px solid var(--extole-border);border-radius:24px;background:var(--extole-card-bg)}.extole-link-strip a{display:flex;min-height:78px;align-items:center;gap:14px;padding:18px 24px;color:var(--extole-ink);text-decoration:none!important}.extole-link-strip a+a{border-left:1px solid var(--extole-border)}.extole-link-strip strong{font-family:\"PaperMono\", \"SFMono-Regular\", Consolas, monospace;font-family:var(--extole-heading-font);font-size:15px;letter-spacing:0}.extole-icon{display:inline-flex;width:38px;height:38px;flex:0 0 38px;align-items:center;justify-content:center;border-radius:11px;color:#fff;font-size:13px;font-weight:800}.extole-icon svg,.extole-support-icon svg{display:block;height:22px;width:22px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.extole-icon span{line-height:1}.extole-icon-navy{background:var(--extole-icon-navy-bg)}.extole-icon-gray{background:#7c8191}.extole-icon-pink{background:var(--extole-coral)}.extole-icon-blue{background:#a7d8eb}.extole-icon-yellow{background:#fee64b;color:var(--extole-ink)}.extole-icon-react{background:#0b1748;color:#61dafb}.extole-icon-black{background:#171717}.extole-icon-green{background:#9fcb4a}.extole-section{margin-top:50px;padding:50px 0}.extole-section h2{margin:0;font-size:clamp(1.35rem, 2vw, 1.9rem);line-height:1.2}.extole-section>p:not(.extole-kicker){max-width:720px;margin:16px 0 28px;color:var(--extole-muted);font-size:17px}.extole-pattern-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:18px}.extole-stack-layout{display:grid;gap:14px}.extole-stack-pattern{background:var(--extole-card-bg);border:1px solid var(--extole-border);border-radius:var(--extole-radius);display:grid;gap:20px;grid-template-columns:minmax(0, 30%) minmax(0, 70%);padding:24px}.extole-stack-pattern-head h3{color:var(--extole-navy);font-family:var(--extole-heading-font);margin:0 0 10px}.extole-stack-pattern-head p{color:var(--extole-muted);font-size:0.9rem;line-height:1.55;margin:0}.extole-stack-pattern-groups{display:grid;gap:12px;grid-template-columns:repeat(2, minmax(0, 1fr))}.extole-stack-group{background:var(--extole-surface);border:1px solid var(--extole-border);border-radius:12px;padding:12px 14px}.extole-stack-group-title{color:var(--extole-muted);font-family:var(--extole-heading-font);font-size:0.68rem;font-weight:600;letter-spacing:0.08em;line-height:1.2;margin:0 0 9px;text-transform:uppercase}.extole-stack-group ul{list-style:none!important;margin:0;padding:0!important}.extole-stack-group li+li{border-top:1px solid var(--extole-border);margin-top:7px;padding-top:7px}.extole-stack-group a,.extole-devhub a:not(.extole-btn):not(.extole-partner-item):not(.extole-pattern-card){color:var(--extole-navy);font-weight:600;text-decoration:underline;text-decoration-color:rgba(11, 18, 61, 0.35);text-decoration-thickness:1px;text-underline-offset:2px}.extole-stack-group a:hover,.extole-devhub a:not(.extole-btn):not(.extole-partner-item):not(.extole-pattern-card):hover{color:var(--extole-coral);text-decoration-color:rgba(238, 0, 73, 0.65)}.extole-partner-filter-layout{align-items:start;display:grid;gap:20px;grid-template-columns:minmax(220px, 260px) minmax(0, 1fr)}.extole-partner-filter-panel{display:grid;gap:10px}.extole-partner-filter-title{color:var(--extole-navy);font-family:var(--extole-heading-font);font-size:0.9rem;margin:0}.extole-partner-filter-copy{color:var(--extole-muted);font-size:0.86rem;line-height:1.45;margin:-2px 0 4px}.extole-partner-filter-option{align-items:self-end;color:var(--extole-muted);column-gap:10px;cursor:pointer;display:grid;grid-template-columns:16px minmax(0, 1fr);line-height:1.35}.extole-partner-filter-option span{font-family:var(--extole-heading-font);font-size:0.74rem;line-height:1.25}.extole-partner-filter-input{accent-color:var(--extole-coral);height:16px;margin:2px 0 0;width:16px}.extole-partner-filter-option:has(.extole-partner-filter-input:checked){color:var(--extole-navy);font-weight:600}.extole-partner-surface{background:var(--extole-card-bg);border:1px solid var(--extole-border);border-radius:var(--extole-radius);padding:4px}.extole-partner-grid{display:grid;gap:8px;grid-template-columns:repeat(4, minmax(0, 1fr))}.extole-partner-item{border-radius:12px;color:var(--extole-navy);display:block;min-height:178px;padding:14px 16px;text-decoration:none!important;transition:background-color 0.2s ease, box-shadow 0.2s ease}.extole-partner-item:hover{background:var(--extole-surface-muted);box-shadow:0 8px 18px rgba(11, 18, 61, 0.08)}.extole-partner-logo{align-items:center;background:var(--extole-logo-bg);border:1px solid var(--extole-border);border-radius:10px;display:inline-flex;height:44px;justify-content:center;margin:0 0 12px;padding:8px 12px}.extole-partner-logo img{display:block;height:100%;max-width:120px;object-fit:contain;width:auto}.extole-partner-item h3{color:var(--extole-navy);font-family:var(--extole-heading-font);font-size:0.94rem;line-height:1.35;margin:0 0 8px}.extole-partner-item p{color:var(--extole-muted);font-size:0.82rem;line-height:1.45;margin:0}.extole-partner-filter-layout:has(#partner-filter-cep:checked) .extole-partner-item:not(.partner-cat-cep),.extole-partner-filter-layout:has(#partner-filter-ecommerce:checked) .extole-partner-item:not(.partner-cat-ecommerce),.extole-partner-filter-layout:has(#partner-filter-banking:checked) .extole-partner-item:not(.partner-cat-banking),.extole-partner-filter-layout:has(#partner-filter-cdp:checked) .extole-partner-item:not(.partner-cat-cdp),.extole-partner-filter-layout:has(#partner-filter-crm:checked) .extole-partner-item:not(.partner-cat-crm),.extole-partner-filter-layout:has(#partner-filter-rewards:checked) .extole-partner-item:not(.partner-cat-rewards),.extole-partner-filter-layout:has(#partner-filter-analytics:checked) .extole-partner-item:not(.partner-cat-analytics),.extole-partner-filter-layout:has(#partner-filter-tag:checked) .extole-partner-item:not(.partner-cat-tag),.extole-partner-filter-layout:has(#partner-filter-automation:checked) .extole-partner-item:not(.partner-cat-automation){display:none}.extole-support-grid{background:var(--extole-card-bg);border:1px solid var(--extole-border);border-radius:var(--extole-radius);display:grid;gap:18px;grid-template-columns:repeat(3, minmax(0, 1fr));margin-top:28px;padding:24px}.extole-pattern-card{display:block;min-height:100%;padding:24px;border:1px solid var(--extole-border);border-radius:var(--extole-radius);background:var(--extole-card-bg);box-shadow:0 8px 24px rgba(11, 18, 61, 0.05);color:var(--extole-ink);text-decoration:none!important}.extole-support-icon{align-items:center;border-radius:14px;color:#ffffff;display:inline-flex;height:44px;justify-content:center;margin-bottom:18px;width:44px}.extole-support-icon-help{background:var(--extole-coral)}.extole-support-icon-ticket{background:#3c4260}.extole-support-icon-status{background:#47b881}.extole-pattern-card h3{margin:0 0 12px;color:var(--extole-navy);font-family:var(--extole-heading-font);font-size:1.02rem}.extole-pattern-card p{margin:0;color:var(--extole-muted);font-size:0.93rem;line-height:1.6}.extole-card-cta{display:inline-flex;margin-top:16px;color:var(--extole-navy);font-family:var(--extole-heading-font);font-size:0.88rem;font-weight:600;text-decoration:underline;text-decoration-color:rgba(11, 18, 61, 0.35);text-decoration-thickness:1px;text-underline-offset:2px}@media (max-width: 1100px){.extole-hero{grid-template-columns:1fr}.extole-hero-copy{min-height:auto}}@media (max-width: 1024px){.extole-partner-grid{grid-template-columns:repeat(3, minmax(0, 1fr))}.extole-partner-filter-layout{grid-template-columns:minmax(190px, 230px) minmax(0, 1fr)}.extole-stack-pattern{gap:14px;grid-template-columns:1fr}}@media (max-width: 900px){.extole-stack-pattern-groups{grid-template-columns:1fr}.extole-partner-filter-layout{gap:14px;grid-template-columns:1fr}.extole-partner-filter-panel{grid-template-columns:repeat(2, minmax(0, 1fr))}.extole-partner-filter-title,.extole-partner-filter-copy{grid-column:1 / -1}}@media (max-width: 820px){.extole-home{padding:12px 14px 64px}.extole-hero-copy,.extole-code-panel{border-radius:18px;padding:28px 22px}.extole-link-strip,.extole-pattern-grid,.extole-support-grid{grid-template-columns:1fr}.extole-link-strip a+a{border-left:0;border-top:1px solid var(--extole-border)}}@media (max-width: 640px){.extole-section{margin-top:20px;padding:20px 0}.extole-partner-surface{padding:0}.extole-partner-grid{grid-template-columns:1fr}.extole-partner-filter-panel{display:none}.extole-partner-filter-layout{grid-template-columns:1fr}.extole-stack-pattern{padding:20px}.extole-stack-group{padding:11px 12px}.extole-btn{min-width:100%;width:100%}.extole-actions{flex-direction:column}}"},{"filePath":"style.css","content":".object-param-field [data-component-part=\"tabs-list\"]{display:none!important}[role=\"dialog\"] [data-component-part=\"tabs-list\"]:has([data-component-part=\"tab\"]:nth-child(2)),[role=\"dialog\"] [data-component-part=\"tabs-list\"]:has([role=\"tab\"]:nth-child(2)){position:absolute!important;left:0!important;top:0!important;width:1px!important;min-width:0!important;max-width:1px!important;height:1px!important;min-height:0!important;max-height:1px!important;padding:0!important;margin:0!important;overflow:hidden!important;clip:rect(0, 0, 0, 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;opacity:0!important;pointer-events:none!important}[role=\"dialog\"] [data-testid=\"api-input-type\"].extole-type-field-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0, 0, 0, 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;opacity:0!important;pointer-events:none!important}.extole-type-combo{display:flex;flex-wrap:wrap;gap:0.5rem;align-items:center;margin:0 0 0.75rem}.extole-type-combo label{font-size:0.75rem;font-weight:600;color:#78716c}html.dark .extole-type-combo label,html.dark .extole-type-combo-meta,html.dark .extole-type-combo-empty{color:#a8a29e}.extole-type-combo-wrap{position:relative;flex:1 1 16rem;min-width:16rem;cursor:pointer}.extole-type-combo-wrap input{box-sizing:border-box;width:100%;min-width:16rem;margin:0;padding:0.5rem 2rem 0.5rem 0.75rem;border:1px solid #d6d3d1;border-radius:0.5rem;background:#fff;color:inherit;font:inherit;font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;font-size:0.8125rem;line-height:1.25rem;cursor:pointer}.extole-type-combo-wrap input:focus{cursor:text;outline:2px solid rgb(238 0 73 / 0.35);outline-offset:1px}html.dark .extole-type-combo-wrap input{border-color:#44403c;background:#1c1917}.extole-type-combo-wrap::after{content:\"\";position:absolute;top:50%;right:0.85rem;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #78716c;transform:translateY(-50%);pointer-events:none}.extole-type-combo-menu{position:absolute;z-index:40;top:calc(100% + 0.25rem);left:0;right:0;max-height:18rem;overflow:auto;border:1px solid #d6d3d1;border-radius:0.5rem;background:#fff;box-shadow:0 10px 30px rgb(0 0 0 / 0.12)}html.dark .extole-type-combo-menu{border-color:#44403c;background:#1c1917}.extole-type-combo-menu button{display:block;width:100%;margin:0;padding:0.5rem 0.75rem;border:0;background:transparent;color:inherit;font:inherit;font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;font-size:0.75rem;text-align:left;cursor:pointer}.extole-type-combo-menu button:hover,.extole-type-combo-menu button[aria-selected=\"true\"]{background:rgb(28 25 23 / 0.06);color:var(--api-ink)}html.dark .extole-type-combo-menu button:hover,html.dark .extole-type-combo-menu button[aria-selected=\"true\"]{background:rgb(255 255 255 / 0.08);color:var(--api-ink)}.extole-type-combo-empty{padding:0.75rem;font-size:0.75rem;color:#78716c}.extole-type-combo-meta{font-size:0.75rem;color:#78716c;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:12ch}.extole-eval-combo{display:flex;flex-wrap:wrap;gap:0.5rem;align-items:center;margin:0 0 0.75rem}.extole-eval-combo-wrap{position:relative;flex:1 1 16rem;min-width:16rem}.extole-eval-combo-select{box-sizing:border-box;width:100%;min-width:16rem;margin:0;padding:0.5rem 2rem 0.5rem 0.75rem;border:1px solid #d6d3d1;border-radius:0.5rem;background:#fff;color:inherit;font:inherit;font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;font-size:0.8125rem;line-height:1.25rem;appearance:none;cursor:pointer}.extole-eval-combo-select:focus{outline:2px solid rgb(238 0 73 / 0.35);outline-offset:1px}html.dark .extole-eval-combo-select{border-color:#44403c;background:#1c1917}.extole-eval-combo-wrap::after{content:\"\";position:absolute;top:50%;right:0.85rem;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #78716c;transform:translateY(-50%);pointer-events:none}.extole-eval-map{margin:0.35rem 0 0.5rem}.extole-eval-map-list{display:flex;flex-direction:column;gap:0.5rem}.extole-eval-map-row{display:flex;flex-wrap:wrap;gap:0.4rem;align-items:center}.extole-eval-map-key,.extole-eval-map-type,.extole-eval-map-input{box-sizing:border-box;margin:0;padding:0.45rem 0.7rem;border:1px solid #d6d3d1;border-radius:0.5rem;background:#fff;color:inherit;font:inherit;font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;font-size:0.8125rem;line-height:1.25rem}.extole-eval-map-key{width:7.5rem}.extole-eval-map-type{width:13.5rem;padding-right:1.6rem;appearance:auto;cursor:pointer}.extole-eval-map-val{display:flex;flex:1 1 12rem;min-width:10rem;align-items:center;border:1px solid #d6d3d1;border-radius:0.5rem;background:#fff}.extole-eval-map-val.is-invalid{border-color:#ee0049}.extole-eval-map-prefix{flex:0 0 auto;padding:0 0 0 0.65rem;color:#78716c;font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;font-size:0.7rem;white-space:nowrap}.extole-eval-map-val .extole-eval-map-input{flex:1 1 auto;min-width:0;border:0;background:transparent}html.dark .extole-eval-map-key,html.dark .extole-eval-map-type,html.dark .extole-eval-map-val,html.dark .extole-eval-map-input{border-color:#44403c;background:#1c1917}html.dark .extole-eval-map-val .extole-eval-map-input{background:transparent}html.dark .extole-eval-map-remove{border-color:#44403c;color:#a8a29e}.extole-eval-map-key:focus,.extole-eval-map-type:focus,.extole-eval-map-val:focus-within{outline:2px solid rgb(238 0 73 / 0.35);outline-offset:1px}.extole-eval-map-hint{flex:1 0 100%;margin:0;font-size:0.75rem;color:#ee0049}.extole-eval-map-remove{width:2rem;height:2rem;padding:0;border:1px solid #d6d3d1;border-radius:0.5rem;background:transparent;color:#78716c;cursor:pointer;font-size:1rem;line-height:1}.extole-eval-map-add{margin:0.15rem 0 0;padding:0;border:0;background:transparent;color:#ee0049;font-size:0.8125rem;cursor:pointer}[data-testid=\"api-input-values\"].extole-eval-map-on>.grid{display:none!important}html[data-extole-driving] [role=\"menu\"]{display:none!important}select.extole-eval-native-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0, 0, 0, 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;opacity:0!important;pointer-events:none!important}:root{--api-ink: #1c1917;--api-body: #44403c;--api-meta: #57534e;--api-faint: #a8a29e;--api-accent: #b3003a;--api-warn: #b45309;--api-rule: #ded9d1;--api-rule-soft: #ebe7e1;--api-panel: transparent;--api-row: transparent;--api-wash: rgb(179 0 58 / 0.07);--api-row-pad: 0.625rem;--api-gap: 0.375rem}html.dark{--api-ink: #f5f3f1;--api-body: #d6d3d1;--api-meta: #a8a29e;--api-faint: #78716c;--api-accent: #ff7096;--api-warn: #fcd34d;--api-rule: #46403d;--api-rule-soft: #2f2a28;--api-panel: rgb(255 255 255 / 0.04);--api-row: rgb(255 255 255 / 0.022);--api-wash: rgb(255 112 150 / 0.10)}.primitive-param-field>.py-6,.object-param-field>.py-6,.array-param-field>.py-6{padding-block:var(--api-row-pad)}@supports selector(:has(*)){div:has(>.param-head){padding-block:var(--api-row-pad)}}.param-head>div{padding-block:0;margin-right:0}.param-head>div>div{row-gap:0.125rem;column-gap:0.5rem}.param-head [data-component-part=\"field-meta\"]>div{line-height:20px}.param-head~div:not(:empty){margin-top:var(--api-gap)}.param-head~div:not(:empty)>*{margin-top:0}.param-head~div:not(:empty)>*+*{margin-top:var(--api-gap)}.primitive-param-field,.object-param-field,.array-param-field{border-color:var(--api-rule-soft)}.api-section-heading>div{border-bottom:0}@supports selector(:has(*)){div:has(>.method-pill){border:0}}@supports selector(:has(*)){.object-param-field:not(:has(>.py-6)):has(.param-head){margin-block:var(--api-gap);border:1px solid var(--api-rule);border-radius:0.5rem;padding:0.5rem;background:var(--api-panel)}}@supports selector(:has(*)){.primitive-param-field:has(>.py-6),.array-param-field:has(>.py-6),.object-param-field:has(>.py-6){margin-block:var(--api-gap);border:1px solid var(--api-rule);border-radius:0.375rem;padding-inline:0.75rem;background:var(--api-row)}}.param-head [data-component-part=\"field-name\"]{color:var(--api-ink);font-weight:600;letter-spacing:-0.006em}.param-head{word-break:normal;overflow-wrap:anywhere}.param-head [data-component-part=\"field-required-pill\"]{padding:0;border:0;border-radius:0;background:none;color:var(--api-meta);font-weight:500}.param-head [data-component-part=\"field-info-pill\"]+[data-component-part=\"field-required-pill\"]::before{content:\"\\00B7\";margin-right:0.35em;color:var(--api-faint)}.param-head[id^=\"response-\"] [data-component-part=\"field-required-pill\"]{display:none}.param-head [data-component-part=\"field-info-pill\"]{padding:0;border-radius:0;background:none;color:var(--api-meta);font-weight:500}.param-head [data-component-part=\"field-info-pill\"]+[data-component-part=\"field-info-pill\"]::before{content:\"\\00B7\";margin-right:0.35em;color:var(--api-faint)}.param-head [data-component-part=\"field-meta\"]>:last-child{margin-right:0}.param-head [data-component-part=\"field-meta-pre\"],.param-head [data-component-part=\"field-meta-post\"]{font-weight:400}.param-head [data-component-part=\"field-deprecated-pill\"]{padding:0;border-radius:0;background:none;color:var(--api-warn);font-size:0.6875rem;font-weight:500}.param-head~div .prose{color:var(--api-body)}.param-head~div .prose p{margin:0;font-size:0.875rem;line-height:1.55}.param-head~div .prose>*+*{margin-top:0.5rem}.param-head~div .prose code{color:var(--api-ink)}.param-head~div .prose-sm:not(.prose){color:var(--api-meta);font-size:0.75rem;line-height:1.45}.param-head~div .prose-sm:not(.prose) code{color:var(--api-body)}@supports selector(:has(*)){.primitive-param-field:not(:has(.param-head)) .prose-sm:not(.prose),.object-param-field:not(:has(.param-head)) .prose-sm:not(.prose),.array-param-field:not(:has(.param-head)) .prose-sm:not(.prose){margin-top:var(--api-gap)}}.param-head~div [data-component-part=\"expandable\"]{margin-top:0.5rem;border:0;border-radius:0}.param-head~div [data-component-part=\"expandable-button\"]{width:auto;padding:0.125rem 0;border-radius:0;color:var(--api-meta);font-size:0.75rem;font-weight:500}.param-head~div [data-component-part=\"expandable-button\"]:hover{background:none;color:var(--api-ink)}.param-head~div [data-component-part=\"expandable-content\"]{margin:0.25rem 0 0;padding:0 0 0 0.875rem;border-top:0;border-left:1px solid var(--api-rule)}.api-section-heading{gap:0.5rem}.api-section-heading-title{color:var(--api-meta);font-size:0.6875rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase}@supports selector(:has(*)){div:has(>.api-section){margin-bottom:2rem}}@supports selector(:has(*)){div:has(>.param-head:target){border-radius:2px;background:var(--api-wash);box-shadow:10px 0 0 var(--api-wash), -10px 0 0 var(--api-wash)}}.newsletter-container .lead{max-width:60ch;color:var(--api-body)}.nl-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5rem;margin-top:1.5rem}.nl-head h2{margin:0 0 0.75rem;padding-bottom:0.5rem;border-bottom:1px solid var(--api-rule);font-size:1.125rem}.nl-list{margin:0;padding:0;list-style:none!important}.nl-list>li::before{content:none!important;display:none!important}.nl-item{margin-bottom:0.75rem;padding:0.875rem;border:1px solid var(--api-rule);border-radius:0.5rem;background:var(--api-panel)}.nl-item__head{display:flex;gap:0.75rem;align-items:flex-start;justify-content:space-between}.nl-month{margin:0;color:var(--api-ink);font-size:0.9375rem;font-weight:600;line-height:1.4}.nl-item .actions{flex:0 0 auto}.nl-item .btn{display:inline-flex;align-items:center;padding:0.25rem 0.75rem;border:1px solid var(--api-rule);border-radius:0.375rem;color:var(--api-ink)!important;font-size:0.75rem;font-weight:600;text-decoration:none!important;white-space:nowrap}.nl-item .btn:hover{border-color:var(--api-meta)}.nl-item [data-component-part=\"accordion\"]{margin-top:0.625rem}.nl-item [data-component-part=\"accordion-content\"] ul{margin:0;color:var(--api-body);font-size:0.8125rem;line-height:1.55}@media (max-width: 820px){.nl-grid{grid-template-columns:1fr}}a[href=\"#request-sandbox\"]{align-items:center;background:#000!important;border-radius:999px;color:#fff!important;display:inline-flex;font-family:\"Poppins\", \"Inter\", sans-serif;font-size:0.8125rem;font-weight:600;justify-content:center;line-height:1;min-height:2.25rem;padding:0.625rem 0.875rem;text-decoration:none!important;transition:background-color 160ms ease, transform 160ms ease}a[href=\"#request-sandbox\"]:hover{background:#27272a!important;transform:translateY(-1px)}a[href=\"#request-sandbox\"]:focus-visible,.extole-sandbox-modal button:focus-visible{outline:3px solid #ee0049;outline-offset:3px}.extole-sandbox-open{overflow:hidden}.extole-sandbox-modal{align-items:center;background:rgb(11 18 61 / 0.64);display:flex;inset:0;justify-content:center;padding:1.5rem;position:fixed;z-index:10000}.extole-sandbox-modal[hidden]{display:none}.extole-sandbox-dialog{background:#fff;border-radius:1.25rem;box-shadow:0 24px 64px rgb(11 18 61 / 0.3);color:#151a2d;max-height:calc(100vh - 3rem);max-width:36rem;overflow:auto;padding:2rem;position:relative;width:100%}.extole-sandbox-dialog h2{color:#151a2d;font-family:\"Poppins\", \"Inter\", sans-serif;font-size:1.75rem;line-height:1.15;margin:0 2.5rem 0.5rem 0}.extole-sandbox-dialog p{color:#4f5c6d;font-family:\"Poppins\", \"Inter\", sans-serif;line-height:1.5;margin:0}.extole-sandbox-close{align-items:center;background:transparent;border:0;border-radius:999px;color:#151a2d;cursor:pointer;display:inline-flex;font-size:1.5rem;height:2.25rem;justify-content:center;padding:0;position:absolute;right:1.25rem;top:1.25rem;width:2.25rem}.extole-sandbox-close:hover{background:#f1f1f1}.extole-sandbox-form{display:grid;gap:1rem;grid-template-columns:repeat(2, minmax(0, 1fr));margin-top:1.5rem}.extole-sandbox-field{display:grid;gap:0.5rem}.extole-sandbox-field-full{grid-column:1 / -1}.extole-sandbox-privacy{color:#383848;font-family:\"Poppins\", \"Inter\", sans-serif;font-size:0.8em;grid-column:1 / -1;line-height:1.5;margin:0}.extole-sandbox-privacy a{color:#151a2d;font-size:inherit;font-weight:600;text-decoration:underline;text-underline-offset:0.125em}.extole-sandbox-captcha{grid-column:1 / -1}.extole-sandbox-error{color:#9f1239;font-size:0.875rem;grid-column:1 / -1;margin:0}.extole-sandbox-field label{color:#383848;font-family:\"Poppins\", \"Inter\", sans-serif;font-size:0.875rem;font-weight:600}.extole-sandbox-field input,.extole-sandbox-field textarea{background:#fff;border:1px solid #c7c7c7;border-radius:0.25rem;box-sizing:border-box;color:#000;font-family:\"Poppins\", \"Inter\", sans-serif;font-size:1rem;min-height:2.75rem;padding:0.5rem 0.75rem;width:100%}.extole-sandbox-field input:focus-visible,.extole-sandbox-field textarea:focus-visible{border-color:#ee0049;outline:0}.extole-sandbox-field textarea{min-height:7.5rem;resize:vertical}.extole-sandbox-field input::placeholder,.extole-sandbox-field textarea::placeholder{color:#777}.extole-sandbox-submit{background:#383848;border:0;border-radius:999px;color:#fff;cursor:pointer;font-family:\"Poppins\", \"Inter\", sans-serif;font-size:0.875rem;font-weight:600;grid-column:1 / -1;justify-self:start;margin-top:0.5rem;padding:0.75rem 1.25rem}.extole-sandbox-submit:hover{background:#000}.extole-sandbox-submit:disabled{cursor:wait;opacity:0.7}.extole-sandbox-success{display:grid;gap:1.25rem;margin-top:1.5rem}.extole-sandbox-success-icon{align-items:center;background:#e8f5ed;border-radius:999px;color:#187344;display:inline-flex;font-size:1.25rem;font-weight:700;height:2.75rem;justify-content:center;width:2.75rem}.extole-sandbox-success-copy{display:grid;gap:0.5rem}.extole-sandbox-success h3{color:#151a2d;font-family:\"Poppins\", \"Inter\", sans-serif;font-size:1rem;margin:0}.extole-sandbox-success[hidden],.extole-sandbox-form[hidden]{display:none}@media (max-width: 40rem){.extole-sandbox-dialog{border-radius:1rem;padding:1.5rem}.extole-sandbox-form{grid-template-columns:1fr}.extole-sandbox-submit{width:100%}}"}],"page":{"pagePath":"technical/platform-integrations/webhooks/webhook-creation","slug":"/technical/platform-integrations/webhooks/webhook-creation","pageMetadata":{"title":"Webhook Creation","description":"Customize the format and authentication method of your webhooks as needed.","href":"/technical/platform-integrations/webhooks/webhook-creation"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Customize the format and authentication method of your webhooks as needed.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"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`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,OptimizedImage,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsx(_components.p,{children:`Extole webhooks\\xA0submit real-time data about your participants and their journey through programs to your own HTTPS endpoints. Extole webhooks support a variety of authentication methods and can be customized to format the request body in as needed. Our Support Team is available and equipped to help you customize your webhooks.`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/extole/jL8qwWMZhH32a7N8/images/extole/583b2db0ce9b237f8972c6f53bf896c50d96727d27b512fee1f795807999b925.png?fit=max\u0026auto=format\u0026n=jL8qwWMZhH32a7N8\u0026q=85\u0026s=364fe9d0ce924d793619398cc43a3b1a`,alt:`Customer webhooks in the context of a sample journey.`,\"data-og-width\":`2179`,width:`2179`,\"data-og-height\":`479`,height:`479`,\"data-path\":`images/extole/583b2db0ce9b237f8972c6f53bf896c50d96727d27b512fee1f795807999b925.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/extole/jL8qwWMZhH32a7N8/images/extole/583b2db0ce9b237f8972c6f53bf896c50d96727d27b512fee1f795807999b925.png?w=280\u0026fit=max\u0026auto=format\u0026n=jL8qwWMZhH32a7N8\u0026q=85\u0026s=6817c4b69268934d8db37fc0d23770d7 280w, https://mintcdn.com/extole/jL8qwWMZhH32a7N8/images/extole/583b2db0ce9b237f8972c6f53bf896c50d96727d27b512fee1f795807999b925.png?w=560\u0026fit=max\u0026auto=format\u0026n=jL8qwWMZhH32a7N8\u0026q=85\u0026s=94581e2306034e5804df27465c62eca6 560w, https://mintcdn.com/extole/jL8qwWMZhH32a7N8/images/extole/583b2db0ce9b237f8972c6f53bf896c50d96727d27b512fee1f795807999b925.png?w=840\u0026fit=max\u0026auto=format\u0026n=jL8qwWMZhH32a7N8\u0026q=85\u0026s=d2ac3385ac4c74d0b7cca05a47cc1e02 840w, https://mintcdn.com/extole/jL8qwWMZhH32a7N8/images/extole/583b2db0ce9b237f8972c6f53bf896c50d96727d27b512fee1f795807999b925.png?w=1100\u0026fit=max\u0026auto=format\u0026n=jL8qwWMZhH32a7N8\u0026q=85\u0026s=e0326288196ed2d4ae5146c133a68477 1100w, https://mintcdn.com/extole/jL8qwWMZhH32a7N8/images/extole/583b2db0ce9b237f8972c6f53bf896c50d96727d27b512fee1f795807999b925.png?w=1650\u0026fit=max\u0026auto=format\u0026n=jL8qwWMZhH32a7N8\u0026q=85\u0026s=d6ebbfbc08084dcd5cc9c932684e4790 1650w, https://mintcdn.com/extole/jL8qwWMZhH32a7N8/images/extole/583b2db0ce9b237f8972c6f53bf896c50d96727d27b512fee1f795807999b925.png?w=2500\u0026fit=max\u0026auto=format\u0026n=jL8qwWMZhH32a7N8\u0026q=85\u0026s=d2b3594ff331354077b496aecc406ae6 2500w`}),`\n`,_jsx(Heading,{level:`2`,id:`webhook-configuration`,children:`Webhook Configuration`}),`\n`,_jsxs(_components.p,{children:[`Webhooks require configuration within the Extole platform. You may configure your Extole account to use webhooks by logging in and going to `,_jsx(_components.a,{href:`https://my.extole.com/tech-center`,children:`Tech Center`}),` > `,_jsx(_components.a,{href:`https://my.extole.com/tech-center/outbound-webhooks`,children:`Outbound Webhooks`}),`.`]}),`\n`,_jsx(_components.p,{children:`You need to provide the information required for the webhook to know where and how to send your data. At the most basic level, you can configure your webhooks by including:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Name: How we will refer to the webhook in My Extole`}),`\n`,_jsxs(_components.li,{children:[`Client Key: The secret / key used to verify the authenticity of the Extole integration. Client Keys can be created by navigating to the `,_jsx(_components.a,{href:`https://my.extole.com/security-center`,children:`Security Center`}),`, clicking + New Key.`]}),`\n`,_jsx(_components.li,{children:`The payload URL: The destination URL the webhook will GET or POST to.`}),`\n`,_jsx(_components.li,{children:`Description: An optional description for your webhook.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Advanced configuration is also optionally available to allow you more control over the structure and format of the data you’d like to receive in the request. If you need changes to the payload, the events, or the Advanced configuration, please contact your customer success or implementation manager. You can also let your Extole Team know what data you’d like to receive in the request and they can set this up for you.`}),`\n`,_jsx(Heading,{level:`2`,id:`client-keys-\u0026-security`,children:`Client Keys \u0026 Security`}),`\n`,_jsx(_components.p,{children:`In the My Extole Security Center you can easily create Client Keys for your webhooks. We support HS256 signing, Password, Basic, OAuth, and a variety of vendor-specific variations of OAuth.`}),`\n`,_jsxs(_components.p,{children:[`These authorization options are configurable within the `,_jsx(_components.a,{href:`https://my.extole.com/security-center`,children:`Security Center`}),` in your My Extole account under the Keys section.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/extole/qYz_vh_4-zD_8v2G/images/extole/1677caf608494119b4ad5b1ec8ed3016598dbbefd1f218fc032a60efb214fb00.png?fit=max\u0026auto=format\u0026n=qYz_vh_4-zD_8v2G\u0026q=85\u0026s=cd7b5bd6f084f6422fb4d21e7484342d`,alt:`Screenshot showing These authorization options are configurable within the Security Center in your My Extole account under the Keys section.`,\"data-og-width\":`1178`,width:`1178`,\"data-og-height\":`752`,height:`752`,\"data-path\":`images/extole/1677caf608494119b4ad5b1ec8ed3016598dbbefd1f218fc032a60efb214fb00.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/extole/qYz_vh_4-zD_8v2G/images/extole/1677caf608494119b4ad5b1ec8ed3016598dbbefd1f218fc032a60efb214fb00.png?w=280\u0026fit=max\u0026auto=format\u0026n=qYz_vh_4-zD_8v2G\u0026q=85\u0026s=7d7e5cb6212db5e4c13c69ac68ce51e0 280w, https://mintcdn.com/extole/qYz_vh_4-zD_8v2G/images/extole/1677caf608494119b4ad5b1ec8ed3016598dbbefd1f218fc032a60efb214fb00.png?w=560\u0026fit=max\u0026auto=format\u0026n=qYz_vh_4-zD_8v2G\u0026q=85\u0026s=2139c36730a5f5d2d80d14d8a55e3d01 560w, https://mintcdn.com/extole/qYz_vh_4-zD_8v2G/images/extole/1677caf608494119b4ad5b1ec8ed3016598dbbefd1f218fc032a60efb214fb00.png?w=840\u0026fit=max\u0026auto=format\u0026n=qYz_vh_4-zD_8v2G\u0026q=85\u0026s=807503e31249510f7f60f64475f5f481 840w, https://mintcdn.com/extole/qYz_vh_4-zD_8v2G/images/extole/1677caf608494119b4ad5b1ec8ed3016598dbbefd1f218fc032a60efb214fb00.png?w=1100\u0026fit=max\u0026auto=format\u0026n=qYz_vh_4-zD_8v2G\u0026q=85\u0026s=e6121bbd408a4eea2d8e5b330809236d 1100w, https://mintcdn.com/extole/qYz_vh_4-zD_8v2G/images/extole/1677caf608494119b4ad5b1ec8ed3016598dbbefd1f218fc032a60efb214fb00.png?w=1650\u0026fit=max\u0026auto=format\u0026n=qYz_vh_4-zD_8v2G\u0026q=85\u0026s=738f45c21deca722bad1e90b54ea87f3 1650w, https://mintcdn.com/extole/qYz_vh_4-zD_8v2G/images/extole/1677caf608494119b4ad5b1ec8ed3016598dbbefd1f218fc032a60efb214fb00.png?w=2500\u0026fit=max\u0026auto=format\u0026n=qYz_vh_4-zD_8v2G\u0026q=85\u0026s=766ae2acbc5506f48faaaa1411c7871b 2500w`}),`\n`,_jsx(Heading,{level:`2`,id:`webhook-signature-validation`,children:`Webhook Signature Validation`}),`\n`,_jsxs(Warning,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`HMAC Validation in Node.js`})}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`We do not recommend using webhook signature validation with Node.js`}),`. Node.js has a habit of changing integer formatting when processing `,_jsx(_components.code,{children:`application/json`}),` responses. Special care should be taken if using Node.js to process the request.`]})]}),`\n`,_jsxs(_components.p,{children:[`The webhook signs the body of each webhook post with a client-specified secret key, specified with the webhook. The signature is passed as the header `,_jsx(_components.code,{children:`X-Extole-Signature`}),` when the event is posted.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/extole/jL8qwWMZhH32a7N8/images/extole/64543eb374830e83249eb1d4cd9562f26570565b347605987a4b9186afb7bb65.png?fit=max\u0026auto=format\u0026n=jL8qwWMZhH32a7N8\u0026q=85\u0026s=d0c53929484521082e375efdadfd5d1c`,alt:`Screenshot showing The webhook signs the body of each webhook post with a client-specified secret key, specified with the webhook. The signature is passed as the header...`,\"data-og-width\":`833`,width:`833`,\"data-og-height\":`441`,height:`441`,\"data-path\":`images/extole/64543eb374830e83249eb1d4cd9562f26570565b347605987a4b9186afb7bb65.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/extole/jL8qwWMZhH32a7N8/images/extole/64543eb374830e83249eb1d4cd9562f26570565b347605987a4b9186afb7bb65.png?w=280\u0026fit=max\u0026auto=format\u0026n=jL8qwWMZhH32a7N8\u0026q=85\u0026s=0271119b5a321ea74cfc2dbf842428ad 280w, https://mintcdn.com/extole/jL8qwWMZhH32a7N8/images/extole/64543eb374830e83249eb1d4cd9562f26570565b347605987a4b9186afb7bb65.png?w=560\u0026fit=max\u0026auto=format\u0026n=jL8qwWMZhH32a7N8\u0026q=85\u0026s=aed201163657966e8c0069d225425321 560w, https://mintcdn.com/extole/jL8qwWMZhH32a7N8/images/extole/64543eb374830e83249eb1d4cd9562f26570565b347605987a4b9186afb7bb65.png?w=840\u0026fit=max\u0026auto=format\u0026n=jL8qwWMZhH32a7N8\u0026q=85\u0026s=dc5b5dac4c8fcdd7f122d08cf4b942eb 840w, https://mintcdn.com/extole/jL8qwWMZhH32a7N8/images/extole/64543eb374830e83249eb1d4cd9562f26570565b347605987a4b9186afb7bb65.png?w=1100\u0026fit=max\u0026auto=format\u0026n=jL8qwWMZhH32a7N8\u0026q=85\u0026s=c4e52b004593fcb8ee6a2e16ab6a6715 1100w, https://mintcdn.com/extole/jL8qwWMZhH32a7N8/images/extole/64543eb374830e83249eb1d4cd9562f26570565b347605987a4b9186afb7bb65.png?w=1650\u0026fit=max\u0026auto=format\u0026n=jL8qwWMZhH32a7N8\u0026q=85\u0026s=d3e0cc3506f5971b08c8ef960f91fd3c 1650w, https://mintcdn.com/extole/jL8qwWMZhH32a7N8/images/extole/64543eb374830e83249eb1d4cd9562f26570565b347605987a4b9186afb7bb65.png?w=2500\u0026fit=max\u0026auto=format\u0026n=jL8qwWMZhH32a7N8\u0026q=85\u0026s=cfac18255a53d2f4b3e7736c842abfe8 2500w`}),`\n`,_jsx(_components.p,{children:`The signature is a hash against the exact string sent in the HTTP request. It does not include the headers and it is not pretty-formatted. It looks like this:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,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:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`{\"type\":\"reward_earned\",\"event_id\":\"qb3jju459ugjr2aojk5e\",\"event_time\":\"2020-05-29T14:14:18.548Z\",\"reward_id\":\"bf67905b4e1b41daf39c30f0\",\"reward_supplier_name\":\"Advocate Account Credit\",\"reward_supplier_id\":\"701e681a9e46c8b6778f3452\",\"partner_reward_supplier_id\":\"Advocate Account Credit\",\"reward_supplier_type\":\"CUSTOM_REWARD\",\"person_id\": \"6816411215104951917\",\"partner_user_id\":\"1036950000\",\"face_value\":50,\"face_value_type\":\"USD\",\"message\":null,\"schema_version\":1}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`The signature can be calculated against the String of JSON using HMAC256:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`12`,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:`12`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` javax.crypto.Mac;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` javax.crypto.spec.SecretKeySpec;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` javax.xml.bind.DatatypeConverter;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\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:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` final`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:` String`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` HMAC_SHA_256`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"HmacSHA256\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`public`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:` String`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` encode`}),_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:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` message, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:`String`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` secretKey) throws Exception {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:` Mac`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` algorithm`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Mac`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`getInstance`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(HMAC_SHA_256);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:` SecretKeySpec`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` secretKeySpec`}),_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:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` SecretKeySpec`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`secretKey`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`getBytes`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(), HMAC_SHA_256);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` algorithm`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`init`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(secretKeySpec);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` DatatypeConverter`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`printHexBinary`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`algorithm`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`doFinal`}),_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:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`getBytes`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`())).`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`toLowerCase`}),_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`]})})}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`ruby`,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:`ruby`,children:_jsxs(_components.code,{language:`ruby`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`signature`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'sha1='`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` +`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` OpenSSL`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:`::`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`HMAC`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`hexdigest`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`OpenSSL`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#4EC9B0`},children:`::`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`Digest`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`new`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'sha1'`}),_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:` secret, post_body)`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`webhook-live-view`,children:`Webhook Live View`}),`\n`,_jsxs(_components.p,{children:[`Once you have a webhook configured, you’ll be able to see a detailed view of it from the `,_jsx(_components.a,{href:`https://my.extole.com/tech-center/outbound-webhooks`,children:`Outbound Webhooks`}),` page. Here you will see the top-level details of your webhook as well as a live view of the events happening. `,_jsx(_components.a,{href:`/technical/platform-integrations/webhooks/webhook-alerts`,children:`Webhook Alerts and the Live View`}),` explains each column, the full dispatch result behind a row, and the alert each kind of failure sends.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/extole/wCoosrNLYZq4SH58/images/extole/930d45c2c89c4637341457d45bf314c9efbb46f7becc77fafd1465d4671b6544.png?fit=max\u0026auto=format\u0026n=wCoosrNLYZq4SH58\u0026q=85\u0026s=02877511ec0e3fa985858e3f98b80fd8`,alt:`Screenshot showing Once you have a webhook configured, you'll be able to see a detailed view of it from the Outbound Webhooks page. Here you will see the top-level details of...`,\"data-og-width\":`2234`,width:`2234`,\"data-og-height\":`1246`,height:`1246`,\"data-path\":`images/extole/930d45c2c89c4637341457d45bf314c9efbb46f7becc77fafd1465d4671b6544.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/extole/wCoosrNLYZq4SH58/images/extole/930d45c2c89c4637341457d45bf314c9efbb46f7becc77fafd1465d4671b6544.png?w=280\u0026fit=max\u0026auto=format\u0026n=wCoosrNLYZq4SH58\u0026q=85\u0026s=226d6fbb0189d4334359c715bf410adc 280w, https://mintcdn.com/extole/wCoosrNLYZq4SH58/images/extole/930d45c2c89c4637341457d45bf314c9efbb46f7becc77fafd1465d4671b6544.png?w=560\u0026fit=max\u0026auto=format\u0026n=wCoosrNLYZq4SH58\u0026q=85\u0026s=05e3b85e0f7806a3547285e28cc46531 560w, https://mintcdn.com/extole/wCoosrNLYZq4SH58/images/extole/930d45c2c89c4637341457d45bf314c9efbb46f7becc77fafd1465d4671b6544.png?w=840\u0026fit=max\u0026auto=format\u0026n=wCoosrNLYZq4SH58\u0026q=85\u0026s=95f1c9361b716da4b8254db00222418e 840w, https://mintcdn.com/extole/wCoosrNLYZq4SH58/images/extole/930d45c2c89c4637341457d45bf314c9efbb46f7becc77fafd1465d4671b6544.png?w=1100\u0026fit=max\u0026auto=format\u0026n=wCoosrNLYZq4SH58\u0026q=85\u0026s=496d66a6f3bde29e68950b7566faae54 1100w, https://mintcdn.com/extole/wCoosrNLYZq4SH58/images/extole/930d45c2c89c4637341457d45bf314c9efbb46f7becc77fafd1465d4671b6544.png?w=1650\u0026fit=max\u0026auto=format\u0026n=wCoosrNLYZq4SH58\u0026q=85\u0026s=a3e2dcc9d9258174b900e7c2176b7e88 1650w, https://mintcdn.com/extole/wCoosrNLYZq4SH58/images/extole/930d45c2c89c4637341457d45bf314c9efbb46f7becc77fafd1465d4671b6544.png?w=2500\u0026fit=max\u0026auto=format\u0026n=wCoosrNLYZq4SH58\u0026q=85\u0026s=4d2d496fd6932c40594ff0bc86ca4790 2500w`}),`\n`,_jsx(Heading,{level:`2`,id:`handling-5xx-responses`,children:`Handling 5xx Responses`}),`\n`,_jsx(_components.p,{children:`Webhooks occasionally encounter temporary service disruptions or issues on the receiving (client) side. A response code in the 5xx range (e.g., 500 Internal Server Error, 503 Service Unavailable) indicates a server-side error and must be handled by the client system.`}),`\n`,_jsx(Heading,{level:`3`,id:`receiving-a-5xx-response`,children:`Receiving A 5xx Response`}),`\n`,_jsx(_components.p,{children:`When you receive a 5xx response, the webhook delivery will be retried based on a predefined retry schedule. However, retries are not guaranteed indefinitely.`}),`\n`,_jsx(_components.p,{children:`You will receive alerts from the Extole system if persistent failures are detected. These alerts are intended to help your engineering team respond promptly to issues in your infrastructure or downstream services.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`It is your responsibility to monitor these alerts and take corrective actions (e.g., fix application errors, scale resources, restore service availability)`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`recommendations`,children:`Recommendations`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Implement logging and alerting on your webhook server to capture and diagnose all 5xx responses.`}),`\n`,_jsx(_components.li,{children:`Ensure your system can handle concurrent retries or fallback gracefully.`}),`\n`,_jsx(_components.li,{children:`Avoid long response times, which may result in timeouts and trigger retries.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`By handling 5xx errors effectively on your end, you ensure minimal data loss and uninterrupted integration with Extole’s systems. For assistance setting up alert forwarding or retry configuration details, please contact your Extole implementation manager.`})]})}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":"Webhook Creation","description":"Customize the format and authentication method of your webhooks as needed.","href":"/technical/platform-integrations/webhooks/webhook-creation"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[]},{"title":"Webhook Configuration","slug":"webhook-configuration","depth":2,"children":[]},{"title":"Client Keys \u0026 Security","slug":"client-keys-\u0026-security","depth":2,"children":[]},{"title":"Webhook Signature Validation","slug":"webhook-signature-validation","depth":2,"children":[]},{"title":"Webhook Live View","slug":"webhook-live-view","depth":2,"children":[]},{"title":"Handling 5xx Responses","slug":"handling-5xx-responses","depth":2,"children":[{"title":"Receiving A 5xx Response","slug":"receiving-a-5xx-response","depth":3,"children":[]},{"title":"Recommendations","slug":"recommendations","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/extole/f41fea9c3aac4d55/type-combobox.js","/_mintlify/custom/extole/83546dbecca8dd1c/evaluatable-map.js","/_mintlify/custom/extole/8a8483f8fc226986/evaluatable-selector.js","/_mintlify/custom/extole/83812e823faa6683/request-sandbox.js"],"subdomain":"extole","siteName":"Extole Documentation","title":"Webhook Creation - Extole Documentation","relatedPagesConfig":{"enabled":true,"limit":5,"mode":"automatic"},"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-01T03:09:57.841Z","originalFileLocation":"technical/platform-integrations/webhooks/webhook-creation.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=\"description\" content=\"Customize the format and authentication method of your webhooks as needed.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Extole 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/extole/fqJbsSkQuI9X8tIY/_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/extole/fqJbsSkQuI9X8tIY/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/extole/fqJbsSkQuI9X8tIY/_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/extole/fqJbsSkQuI9X8tIY/_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/extole/fqJbsSkQuI9X8tIY/_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/extole/fqJbsSkQuI9X8tIY/_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/extole/fqJbsSkQuI9X8tIY/_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/extole/fqJbsSkQuI9X8tIY/_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/extole/fqJbsSkQuI9X8tIY/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Webhook Creation - Extole Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Customize the format and authentication method of your webhooks as needed.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Extole Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.extole.com/technical/platform-integrations/webhooks/webhook-creation\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://extole.mintlify.site/_mintlify/api/og/v2?division=Webhooks\u0026amp;title=Webhook+Creation\u0026amp;description=Customize+the+format+and+authentication+method+of+your+webhooks+as+needed.\u0026amp;theme=1484b4628d2fbfb7ddbdf997\u0026amp;signature=dfb986e4d9bc57a4dc76ecf6fe4ec4826aa045079192a21ad78132bca9c3e2ac\">\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=\"Webhook Creation - Extole Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Customize the format and authentication method of your webhooks as needed.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://extole.mintlify.site/_mintlify/api/og/v2?division=Webhooks\u0026amp;title=Webhook+Creation\u0026amp;description=Customize+the+format+and+authentication+method+of+your+webhooks+as+needed.\u0026amp;theme=1484b4628d2fbfb7ddbdf997\u0026amp;signature=dfb986e4d9bc57a4dc76ecf6fe4ec4826aa045079192a21ad78132bca9c3e2ac\">\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/extole/fqJbsSkQuI9X8tIY/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Extole Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#ee0049\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.extole.com/technical/platform-integrations/webhooks/webhook-creation\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/technical/platform-integrations/webhooks/webhook-creation.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.extole.com/#organization\",\"name\":\"Extole Documentation\",\"url\":\"https://docs.extole.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/extole/qEcOgc0BuXrP2LAU/extole-logo.png?fit=max\u0026auto=format\u0026n=qEcOgc0BuXrP2LAU\u0026q=85\u0026s=d7152863dcc1c598d4fac27f91b3658e\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.extole.com#website\",\"name\":\"Extole Documentation\",\"url\":\"https://docs.extole.com\",\"publisher\":{\"@id\":\"https://docs.extole.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.extole.com/technical/platform-integrations/webhooks/webhook-creation#webpage\",\"url\":\"https://docs.extole.com/technical/platform-integrations/webhooks/webhook-creation\",\"name\":\"Webhook Creation\",\"description\":\"Customize the format and authentication method of your webhooks as needed.\",\"dateModified\":\"2026-11-01T03:09:57.841Z\",\"isPartOf\":{\"@id\":\"https://docs.extole.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.extole.com/technical/platform-integrations/webhooks/webhook-creation#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.extole.com/technical/platform-integrations/webhooks/webhook-creation#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Platform Integrations\",\"item\":\"https://docs.extole.com/technical/platform-integrations/javascript-sdk/advanced-concepts\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Webhooks\",\"item\":\"https://docs.extole.com/technical/platform-integrations/webhooks/index\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Webhook Creation\",\"item\":\"https://docs.extole.com/technical/platform-integrations/webhooks/webhook-creation\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.extole.com/technical/platform-integrations/webhooks/webhook-creation#article\",\"headline\":\"Webhook Creation\",\"name\":\"Webhook Creation\",\"description\":\"Customize the format and authentication method of your webhooks as needed.\",\"url\":\"https://docs.extole.com/technical/platform-integrations/webhooks/webhook-creation\",\"mainEntityOfPage\":{\"@id\":\"https://docs.extole.com/technical/platform-integrations/webhooks/webhook-creation#webpage\"},\"dateModified\":\"2026-11-01T03:09:57.841Z\",\"publisher\":{\"@id\":\"https://docs.extole.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.extole.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Extole Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Extole Documentation","nav":{"global":null,"tabs":[{"tab":"Product Docs","pages":[{"title":"Product Docs","href":"/product/extole-overview/what-is-extole"}]},{"tab":"Technical Docs","groups":[{"group":"Integration Overview","pages":[{"title":"Integrating with Extole","href":"/technical/integration-overview/integrating-with-extole"},{"title":"Key Concepts","href":"/technical/integration-overview/key-concepts"},{"title":"How Extole Matches an Event to a Profile","href":"/technical/integration-overview/how-extole-matches-an-event-to-a-profile"},{"title":"Set Person Profile Data from an Event","href":"/technical/integration-overview/set-person-profile-data-from-an-event"},{"title":"Where a Share Link Preview Comes From","href":"/technical/integration-overview/where-a-share-link-preview-comes-from"}]},{"group":"Extole AI Tools","pages":[{"title":"Extole AI Tools","sidebarTitle":"Overview","href":"/technical/extole-ai-tools/index"},{"group":"Extole MCP Server","root":{"title":"Extole MCP Server","href":"/technical/extole-ai-tools/extole-mcp-server/index"},"pages":[{"title":"MCP Authentication","href":"/technical/extole-ai-tools/extole-mcp-server/mcp-authentication"},{"title":"Claude Desktop","href":"/technical/extole-ai-tools/extole-mcp-server/setup-claude"},{"title":"Claude Code","href":"/technical/extole-ai-tools/extole-mcp-server/setup-claude-code"},{"title":"ChatGPT","href":"/technical/extole-ai-tools/extole-mcp-server/setup-chatgpt"},{"title":"Cursor","href":"/technical/extole-ai-tools/extole-mcp-server/setup-cursor"},{"title":"Codex","href":"/technical/extole-ai-tools/extole-mcp-server/setup-codex"},{"title":"Microsoft Copilot","href":"/technical/extole-ai-tools/extole-mcp-server/setup-copilot-studio"},{"title":"Glean","href":"/technical/extole-ai-tools/extole-mcp-server/setup-glean"},{"title":"Gemini Enterprise","href":"/technical/extole-ai-tools/extole-mcp-server/setup-gemini"}]},{"group":"Extole CLI","root":{"title":"Extole CLI","href":"/technical/extole-ai-tools/extole-cli/index"},"pages":[{"title":"Claude Desktop","href":"/technical/extole-ai-tools/extole-cli/extole-cli-claude-desktop"},{"title":"Claude Code","href":"/technical/extole-ai-tools/extole-cli/extole-cli-claude-code"}]}]},{"group":"Platform Integrations","pages":[{"group":"JavaScript SDK","root":{"title":"JavaScript SDK","href":"/technical/platform-integrations/javascript-sdk/index"},"pages":[{"title":"Advanced Concepts","href":"/technical/platform-integrations/javascript-sdk/advanced-concepts"},{"title":"FAQs","href":"/technical/platform-integrations/javascript-sdk/faqs"}]},{"group":"Mobile SDKs","root":{"title":"Mobile SDKs","href":"/technical/platform-integrations/mobile-sdks/index"},"pages":[{"title":"Android SDK","href":"/technical/platform-integrations/mobile-sdks/android-sdk"},{"title":"iOS SDK","href":"/technical/platform-integrations/mobile-sdks/ios-sdk"},{"title":"React Native SDK","href":"/technical/platform-integrations/mobile-sdks/react-native-sdk"},{"title":"Deep Link Integrations","href":"/technical/platform-integrations/mobile-sdks/deep-link-integrations"}]},{"group":"REST APIs","root":{"title":"REST APIs","href":"/technical/platform-integrations/rest-apis/index"},"pages":[{"title":"Headless and Mobile API","href":"/technical/platform-integrations/rest-apis/mobile-api"},{"title":"Errors","href":"/technical/platform-integrations/rest-apis/errors"},{"title":"API References","href":"/technical/platform-integrations/rest-apis/api-references"},{"title":"Asynchronous Reporting API","href":"/technical/platform-integrations/rest-apis/asynchronous-reporting-api"},{"title":"Paging and Filtering List Endpoints","href":"/technical/platform-integrations/rest-apis/paging-and-filtering-list-endpoints"},{"title":"Campaign States Over REST","href":"/technical/platform-integrations/rest-apis/campaign-states-over-rest"},{"title":"Component Settings Over REST","href":"/technical/platform-integrations/rest-apis/component-settings-over-rest"},{"title":"Gift Card Rewards Over REST","href":"/technical/platform-integrations/rest-apis/gift-card-rewards-over-rest"},{"title":"Account Media Library","href":"/technical/platform-integrations/rest-apis/account-media-library"}]},{"group":"Files","root":{"title":"Files","href":"/technical/platform-integrations/files/index"},"pages":[{"title":"Extole SFTP Server","href":"/technical/platform-integrations/files/extoles-sftp-server"},{"title":"External SFTP Servers","href":"/technical/platform-integrations/files/external-sftp-servers"},{"title":"General File Uploads","href":"/technical/platform-integrations/files/general-file-uploads"},{"title":"File-based Events","href":"/technical/platform-integrations/files/file-based-events"},{"title":"Audience Files","href":"/technical/platform-integrations/files/audience-files"},{"title":"Troubleshooting Audience File Processing","href":"/technical/platform-integrations/files/troubleshooting-audience-file-processing"}]},{"group":"Webhooks","root":{"title":"Webhooks","description":"Webhooks can be seen as the key building blocks of applications, allowing systems to exchange data in real-time in response to events. They act as the modern, web-oriented way for servers to receive notifications from other servers. Now, wh…","href":"/technical/platform-integrations/webhooks/index"},"pages":[{"title":"Webhook Creation","href":"/technical/platform-integrations/webhooks/webhook-creation"},{"title":"Reward Webhooks","description":"Learn more about the most frequent use case for Extole outbound webhooks.","href":"/technical/platform-integrations/webhooks/reward-webhooks"},{"title":"Webhook Alerts and the Live View","href":"/technical/platform-integrations/webhooks/webhook-alerts"}]},{"title":"Data Analysis \u0026 Visualization","href":"/technical/platform-integrations/data-analysis-visualization"},{"group":"Extensions","root":{"title":"Extensions","href":"/technical/platform-integrations/extensions/index"},"pages":[{"title":"Campaign Monitors","href":"/technical/platform-integrations/extensions/campaign-monitors"},{"title":"File Integration — Beta","href":"/technical/platform-integrations/extensions/file-integration"},{"title":"Javascript SDK and Mobile SDK Extensions","href":"/technical/platform-integrations/extensions/javascript-sdk-and-mobile-sdk-extensions"},{"group":"Reward Bank","root":{"title":"Reward Bank","href":"/technical/platform-integrations/extensions/reward-bank"},"pages":[{"title":"Build a Loyalty Program","href":"/technical/platform-integrations/extensions/reward-bank/loyalty-program-guide"},{"title":"Reward Bank Configuration Guide","href":"/technical/platform-integrations/extensions/reward-bank/reward-bank-configuration-guide"},{"title":"Points and Balances","href":"/technical/platform-integrations/extensions/reward-bank/points-and-balances"},{"title":"Tiers and Member Status","href":"/technical/platform-integrations/extensions/reward-bank/tiers-and-status"}]},{"group":"Event Streams Overview","root":{"title":"Event Streams Overview","href":"/technical/platform-integrations/extensions/event-streams-overview"},"pages":[{"title":"Event Stream Query Language","href":"/technical/platform-integrations/extensions/event-streams-overview/event-stream-query-language"}]},{"title":"Create Share Link on an Event","href":"/technical/platform-integrations/extensions/create-share-link-on-an-event"}]}]},{"group":"Partners","pages":[{"group":"Account Opening","pages":[{"title":"Clutch","href":"/technical/partners/account-opening/withclutch"},{"title":"MANTL","href":"/technical/partners/account-opening/mantl"}]},{"group":"Appointment Management","pages":[{"title":"Boulevard (BLVD)","href":"/technical/partners/appointment-management/boulevard-blvd"}]},{"group":"Automations","pages":[{"title":"Zapier","href":"/technical/partners/automations/zapier"}]},{"group":"Core Banking","pages":[{"title":"Fiserv DNA","href":"/technical/partners/core-banking/fiserv-dna"}]},{"group":"Customer Data","pages":[{"title":"Amplitude","href":"/technical/partners/customer-data/amplitude"},{"title":"Segment","href":"/technical/partners/customer-data/segment"}]},{"group":"CRM","pages":[{"title":"Salesforce CRM","href":"/technical/partners/crm/extole-to-salesforce-crm"},{"title":"HubSpot","href":"/technical/partners/crm/hubspot"},{"title":"ServiceTitan","href":"/technical/partners/crm/service-titan"},{"group":"Salesforce CRM Apex and Flows","hidden":true,"pages":[{"title":"Salesforce CRM to Extole (Apex and Flows)","href":"/technical/partners/crm/salesforce-sales-cloud-apex-and-flows"}]}]},{"group":"Digital Banking","pages":[{"title":"Alkami","href":"/technical/partners/digital-banking/alkami"},{"title":"Banno (Jack Henry)","href":"/technical/partners/digital-banking/banno-jack-henry"},{"title":"Candescent (Digital Insight)","href":"/technical/partners/digital-banking/ncr"},{"group":"Q2","root":{"title":"Q2","href":"/technical/partners/digital-banking/q2/index"},"pages":[{"title":"Extole + Q2: Refer a Friend Marketing Kit","href":"/technical/partners/digital-banking/q2/q2-marketing-guide"}]}]},{"group":"eCommerce","pages":[{"title":"BigCommerce","href":"/technical/partners/ecommerce/bigcommerce"},{"title":"Salesforce Commerce Cloud (SFRA)","href":"/technical/partners/ecommerce/salesforce-commerce-cloud-sfra"},{"title":"Salesforce Commerce Cloud (Site Genesis)","href":"/technical/partners/ecommerce/salesforce-commerce-cloud-site-genesis"},{"title":"Shopify Hydrogen","href":"/technical/partners/ecommerce/shopify-hydrogen"},{"title":"Shopify Plus","href":"/technical/partners/ecommerce/shopify"},{"title":"OpenCart","href":"/technical/partners/ecommerce/opencart"}]},{"group":"Experimentation","pages":[{"title":"Optimizely","href":"/technical/partners/experimentation/optimizely"}]},{"group":"Loyalty","pages":[{"title":"SessionM","href":"/technical/partners/loyalty/sessionm-loyalty-solution-guide"}]},{"group":"Marketing Automation","pages":[{"title":"Adobe Marketo Engage","href":"/technical/partners/marketing-automation/adobe-marketo-engage"},{"title":"Attentive","href":"/technical/partners/marketing-automation/attentive"},{"title":"Braze","href":"/technical/partners/marketing-automation/braze"},{"title":"Cordial","href":"/technical/partners/marketing-automation/cordial"},{"title":"Iterable","href":"/technical/partners/marketing-automation/iterable"},{"title":"Klaviyo","href":"/technical/partners/marketing-automation/klaviyo"},{"title":"Listrak","href":"/technical/partners/marketing-automation/listrak"},{"title":"Optimove","href":"/technical/partners/marketing-automation/optimove"},{"title":"Salesforce Marketing Cloud","href":"/technical/partners/marketing-automation/salesforce-marketing-cloud-opt-ins"}]},{"group":"OTT Platform","pages":[{"title":"Vimeo OTT + Zapier","href":"/technical/partners/ott-platform/vimeo-ott-zapier"}]},{"group":"Rewards and Payments","pages":[{"title":"BHN (Blackhawk Network)","href":"/technical/partners/rewards-and-payments/bhn"},{"title":"Stripe","sidebarTitle":"Stripe","href":"/technical/partners/rewards-and-payments/stripe"},{"title":"Tremendous","href":"/technical/partners/rewards-and-payments/tremendous"}]},{"group":"Tag Management","pages":[{"title":"Ensighten","href":"/technical/partners/tag-management/ensighten"},{"title":"Google Tag Manager","href":"/technical/partners/tag-management/google-tag-manager"},{"title":"Tealium","href":"/technical/partners/tag-management/tealium"}]}]},{"group":"Building Partner Integrations","pages":[{"group":"Integration Lifecycle","pages":[{"title":"Build a Partner Integration with the Management API","href":"/technical/building-partner-integrations/integration-lifecycle/management-api-integration"},{"title":"Create the Integration Campaign and Component Model","href":"/technical/building-partner-integrations/integration-lifecycle/integration-component-model"},{"title":"Add the Activity and Event Views","href":"/technical/building-partner-integrations/integration-lifecycle/integration-activity-views"},{"title":"Validate and Publish an Integration","href":"/technical/building-partner-integrations/integration-lifecycle/integration-validation"}]},{"group":"Integration Types","pages":[{"title":"Integration Categories","href":"/technical/building-partner-integrations/integration-types/integration-categories"},{"group":"Sending Partner Events to Extole","root":{"title":"Sending Partner Events to Extole","href":"/technical/building-partner-integrations/integration-types/partner-events-to-extole"},"pages":[{"title":"Send Events from the Partner Platform","href":"/technical/building-partner-integrations/integration-types/partner-events-send-from-platform"},{"title":"Normalize Partner Events with a Prehandler","href":"/technical/building-partner-integrations/integration-types/partner-events-prehandlers"},{"title":"Map Partner Events to Business Events","href":"/technical/building-partner-integrations/integration-types/partner-events-map-to-business-events"},{"title":"Receive Audience Membership from a Partner","href":"/technical/building-partner-integrations/integration-types/partner-events-audience-membership"}]},{"title":"Build an Extole to Partner Integration","href":"/technical/building-partner-integrations/integration-types/integration-build-extole-to-partner"},{"title":"Build a Reward Fulfillment Integration","href":"/technical/building-partner-integrations/integration-types/integration-build-reward-fulfillment"}]}]},{"group":"Solutions","pages":[{"group":"Extole Solution Guides","root":{"title":"Extole Solution Guides","href":"/technical/solutions/extole-solution-guides/index"},"pages":[{"group":"Financial Services","pages":[{"title":"Financial Services","href":"/technical/solutions/extole-solution-guides/financial-services/index"}]},{"title":"Lead Generation","href":"/technical/solutions/extole-solution-guides/lead-generation"},{"title":"Membership","href":"/technical/solutions/extole-solution-guides/membership-loyalty"},{"title":"Banking / Credit Unions","href":"/technical/solutions/extole-solution-guides/quick-banking"},{"title":"Retail","href":"/technical/solutions/extole-solution-guides/retail"},{"title":"Subscription","href":"/technical/solutions/extole-solution-guides/subscription"}]},{"title":"Go Extole Field Team App","href":"/technical/solutions/go-extole-technical-docs"}]},{"group":"Operational Tasks","pages":[{"group":"Security \u0026 Compliance","pages":[{"title":"Data Erasure Requests","href":"/technical/operational-tasks/security-and-compliance/data-erasure-requests"},{"title":"Right to Access Requests","href":"/technical/operational-tasks/security-and-compliance/right-to-access-requests"},{"title":"Manage Your SSL Certificate","href":"/technical/operational-tasks/security-and-compliance/manage-your-ssl-certificate"},{"title":"Verifying Consumers","href":"/technical/operational-tasks/security-and-compliance/verifying-consumers"}]},{"group":"Account Configuration","pages":[{"title":"Develop Behind Your Firewall","href":"/technical/operational-tasks/account-configuration/develop-behind-your-firewall"},{"title":"Extole DNS Requirements","href":"/technical/operational-tasks/account-configuration/extole-dns-requirements"},{"title":"Generate Long-lived Access Tokens","href":"/technical/operational-tasks/account-configuration/generate-long-lived-access-tokens"},{"title":"My Extole Single Sign On","href":"/technical/operational-tasks/account-configuration/my-extole-single-sign-on"},{"title":"Opt-out List Management","href":"/technical/operational-tasks/account-configuration/opt-out-list-management"},{"title":"Recent Customer Purchase Upload","href":"/technical/operational-tasks/account-configuration/recent-customer-purchase-upload"}]},{"group":"Program Testing","pages":[{"title":"Exclude Test Data from Analytics","href":"/technical/operational-tasks/program-testing/exclude-test-data-from-analytics"},{"title":"A/B Test Your Offer","href":"/technical/operational-tasks/program-testing/ab-test-your-offer"},{"title":"A/B Test Your Program","href":"/technical/operational-tasks/program-testing/set-up-ab-tests"}]}]},{"group":"Troubleshooting","pages":[{"title":"Debug an Inbound Integration","href":"/technical/troubleshooting/debug-an-inbound-integration"},{"title":"Why a CTA Opens a Different Program's Share Experience","href":"/technical/troubleshooting/why-a-cta-opens-a-different-programs-share-experience"},{"title":"Why a Zone Shows on Your Website but Not in Your App","href":"/technical/troubleshooting/why-a-zone-shows-on-your-website-but-not-in-your-app"},{"title":"Why Your Site Requests a Zone Named blank","href":"/technical/troubleshooting/why-your-site-requests-a-zone-named-blank"},{"title":"Campaign Build Failed When Publishing","href":"/technical/troubleshooting/campaign-build-failed-when-publishing"},{"title":"Traffic Changed After a Campaign Upgrade","href":"/technical/troubleshooting/traffic-changed-after-a-campaign-upgrade"},{"title":"Duplicate Action Alerts and Unique Event Keys","href":"/technical/troubleshooting/duplicate-action-alerts-and-unique-event-keys"},{"title":"Gift Card Reward Fails With a Partner Error","href":"/technical/troubleshooting/gift-card-reward-fails-with-a-partner-error"},{"title":"Scheduled Report Is Empty or Missing a Period","href":"/technical/troubleshooting/scheduled-report-is-empty-or-missing-a-period"},{"title":"Coupon Upload Rejects Codes","href":"/technical/troubleshooting/coupon-upload-rejects-codes"}]},{"group":"Functional Review Runbooks","hidden":true,"pages":[{"title":"Functional Review: Overview","href":"/runbooks/functional-review/overview"},{"title":"Functional Review: Report Execution + Runtime Checks","href":"/runbooks/functional-review/report-execution-runtime-checks"},{"title":"Functional Review: Input / Runtime Event Validation","href":"/runbooks/functional-review/input-runtime-event-validation"},{"title":"Functional Review: Event Data Rule Alignment","href":"/runbooks/functional-review/event-data-rule-alignment"},{"title":"Functional Review: Conversion \u0026 Reward Validation","href":"/runbooks/functional-review/conversion-reward-validation"},{"title":"Functional Review: Email / Webhook / Side-Effect Validation","href":"/runbooks/functional-review/email-webhook-side-effect-validation"},{"title":"Functional Review: Terms, Rewards, and Configuration Alignment","href":"/runbooks/functional-review/terms-rewards-and-configuration-alignment"}]},{"group":"Triggered By Runbooks","hidden":true,"pages":[{"title":"Triggered By: In-Campaign Trigger Event Missing","href":"/runbooks/triggered-by/in-campaign-trigger-event-missing"}]},{"group":"People Runbooks","hidden":true,"pages":[{"title":"Separating Two People Who Share One Profile","href":"/runbooks/people/separating-two-people-who-share-one-profile"}]}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/guides/platform-overview/extole-chat/troubleshooting"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/getting-started/api-overview"}]},{"tab":"News","pages":[{"title":"News","href":"/news/recent-releases"}]}]},"basePath":"","title":"Webhook Creation - Extole Documentation","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-DkE6VzSN.js","lightbox-handle-r17bVUz3.js"]}