Use "webhook" for a generic webhook integration or "make" for the
official OpnForm app on Make. Both values are registered integration
handlers exposed by this endpoint.
The URL where form submissions will be sent. Must be a valid HTTPS URL that resolves only to public IP addresses. Private, loopback, link-local, shared (CGNAT), protocol-assignment, benchmark, and cloud metadata addresses are rejected. IPv4-mapped IPv6, NAT64 (64:ff9b::/96 and 64:ff9b:1::/48), and 6to4 destinations are also rejected, including when they embed a public IPv4 address.
Optional signing secret for HMAC-SHA256 validation. When provided, webhook
requests will include an X-Webhook-Signature header. Must be at least 12
characters. Recommended for security. Should be a random, cryptographically
secure string.
Optional custom HTTP headers to send with each webhook request. Provided as key-value pairs where both keys and values are strings. Maximum 10 headers allowed, each value max 255 characters.Blocked headers (cannot be customized): Authorization, X-Webhook-Signature, Content-Type, Host, Cookie, X-CSRF-Token, Content-Length, and others reserved for security.Example:
403 Forbidden – The token does not have manage-integrations ability or insufficient form permissions.404 Not Found – Form not found.422 Unprocessable Entity – Validation error (e.g., invalid or non-public webhook URL, webhook_secret too short, blocked header).
{ "message": "The given data was invalid.", "errors": { "data.webhook_url": ["The webhook URL must use HTTPS."], "data.webhook_secret": ["The webhook secret must be at least 12 characters."], "data.webhook_headers": ["The 'Authorization' header cannot be customized for security reasons."] }}
If you provide a webhook_secret when creating the webhook, OpnForm will sign each webhook request with an HMAC-SHA256 signature. This allows you to verify that the webhook came from OpnForm and hasn’t been tampered with.Webhook URLs are validated when they are saved and again before each delivery. OpnForm does not follow webhook redirects, and private network destinations are blocked unless the instance operator explicitly enables private webhook URLs for a self-hosted deployment.Each webhook request will include:
X-Webhook-Signature header: Contains the signature in format sha256=HEXADECIMAL_VALUE
Custom headers: Any headers you specified in webhook_headers (except blocked headers)
JSON body metadata: The payload includes form_id and submission_id so you can correlate webhook deliveries with OpnForm API submission management endpoints
edit_link is present only when editable submissions are enabled. Unlike the
generic webhook payload, the Make payload omits the deprecated submission and
message properties.
Do not commit webhook secrets to version control. Use environment variables
or secure vaults to manage them.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"OpnForm Technical Docs","colors":{"primary":"#3b82f6","light":"#60a5fa","dark":"#2563eb"},"logo":{"light":"https://mintcdn.com/opnform/OUqYLvFvGemD8lSt/logo.svg?fit=max\u0026auto=format\u0026n=OUqYLvFvGemD8lSt\u0026q=85\u0026s=60c8619bcad52d227a058cc4a5f06955","dark":"https://mintcdn.com/opnform/OUqYLvFvGemD8lSt/logo.svg?fit=max\u0026auto=format\u0026n=OUqYLvFvGemD8lSt\u0026q=85\u0026s=60c8619bcad52d227a058cc4a5f06955"},"favicon":"https://mintcdn.com/opnform/OUqYLvFvGemD8lSt/logo.svg?fit=max\u0026auto=format\u0026n=OUqYLvFvGemD8lSt\u0026q=85\u0026s=60c8619bcad52d227a058cc4a5f06955","navbar":{"links":[{"href":"https://opnform.com?utm_source=docs\u0026utm_medium=topbar\u0026utm_campaign=technical_docs","label":"OpnForm"},{"href":"https://github.com/OpnForm/OpnForm","label":"GitHub"}],"primary":{"type":"button","label":"Dashboard","href":"https://opnform.com"}},"footer":{"socials":{"twitter":"https://twitter.com/opnform","github":"https://github.com/OpnForm/OpnForm"}},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Product Documentation","icon":"book-open-cover","href":"https://help.opnform.com"},{"anchor":"Community","icon":"discord","href":"https://discord.gg/YTSjU2a9TS"},{"anchor":"Changelog","icon":"sparkles","href":"https://feedback.opnform.com/changelog"},{"anchor":"Roadmap","icon":"road","href":"https://feedback.opnform.com/roadmap"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"opnform","hasAudioNarration":false,"actualSubdomain":"opnform","customDomains":["docs.opnform.com"],"gitSource":{"type":"github","owner":"opnform","repo":"opnform","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae4765f812f7e980ce50ded","collectionId":"5e6479b9-2264-435b-92e1-fde87b676701","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae4765f812f7e980ce50ded"},"feedback":{"edits":true,"thumbs":true},"entitlements":{},"buildId":"6ae4765f812f7e980ce50ded","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"default","tag":"API Reference","count":38},{"language":"default","tag":"Documentation","count":29},{"language":"default","tag":"Contributing","count":11},{"language":"default","tag":"Configuration","count":9},{"language":"default","tag":"Integrations","count":8},{"language":"default","tag":"Workspace Users","count":8},{"language":"default","tag":"Self-hosted Enterprise","count":7},{"language":"default","tag":"Submissions","count":6},{"language":"default","tag":"Deployment","count":6},{"language":"default","tag":"Forms","count":5}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"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":"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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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":"sso-setup-deadline-banner","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}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/integrations/create-webhook-integration","slug":"/api-reference/integrations/create-webhook-integration","pageMetadata":{"openapi":"post /open/forms/{form}/integrations","title":"Create Webhook Integration","description":"Create a new generic webhook or provider-specific Make integration for a form. Requires `manage-integrations` ability.","href":"/api-reference/integrations/create-webhook-integration"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Create a new generic webhook or provider-specific Make integration for a form. Requires \", _jsx(_components.code, {\n children: \"manage-integrations\"\n }), \" ability.\"]\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`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Expandable,Heading,ParamField,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`1`,id:`create-webhook-integration`,children:`Create Webhook Integration`}),`\n`,_jsx(_components.p,{children:`Add a new webhook integration to send form submissions to an external endpoint.`}),`\n`,_jsx(Heading,{level:`2`,id:`authentication-\u0026-scope`,children:`Authentication \u0026 Scope`}),`\n`,_jsxs(_components.p,{children:[`This endpoint requires a `,_jsx(_components.strong,{children:`Personal Access Token`}),` with the `,_jsx(_components.code,{children:`manage-integrations`}),` ability.`]}),`\n`,_jsx(Heading,{level:`2`,id:`request`,children:`Request`}),`\n`,_jsx(ParamField,{path:`form`,type:`number`,required:true,id:`param-form`,children:_jsx(_components.p,{children:`The ID of the form to which the webhook will be added.`})}),`\n`,_jsx(ParamField,{body:`integration_id`,type:`string`,required:true,id:`param-integration-id`,children:_jsxs(_components.p,{children:[`Use `,_jsx(_components.code,{children:`\"webhook\"`}),` for a generic webhook integration or `,_jsx(_components.code,{children:`\"make\"`}),` for the\nofficial OpnForm app on Make. Both values are registered integration\nhandlers exposed by this endpoint.`]})}),`\n`,_jsx(ParamField,{body:`status`,type:`string`,required:true,id:`param-status`,children:_jsxs(_components.p,{children:[`The initial status of the webhook. Allowed values: `,_jsx(_components.code,{children:`\"active\"`}),`, `,_jsx(_components.code,{children:`\"inactive\"`}),`.`]})}),`\n`,_jsxs(ParamField,{body:`data`,type:`object`,required:true,id:`param-data`,children:[_jsx(_components.p,{children:`Configuration object containing webhook details.`}),_jsxs(Expandable,{title:`data properties`,children:[_jsx(ParamField,{body:`webhook_url`,type:`string`,required:true,id:`param-webhook-url`,children:_jsxs(_components.p,{children:[`The URL where form submissions will be sent. Must be a valid HTTPS URL that resolves only to public IP addresses. Private, loopback, link-local, shared (CGNAT), protocol-assignment, benchmark, and cloud metadata addresses are rejected. IPv4-mapped IPv6, NAT64 (`,_jsx(_components.code,{children:`64:ff9b::/96`}),` and `,_jsx(_components.code,{children:`64:ff9b:1::/48`}),`), and 6to4 destinations are also rejected, including when they embed a public IPv4 address.`]})}),_jsx(ParamField,{body:`webhook_secret`,type:`string`,id:`param-webhook-secret`,children:_jsxs(_components.p,{children:[`Optional signing secret for HMAC-SHA256 validation. When provided, webhook\nrequests will include an `,_jsx(_components.code,{children:`X-Webhook-Signature`}),` header. Must be at least 12\ncharacters. Recommended for security. Should be a random, cryptographically\nsecure string.`]})}),_jsxs(ParamField,{body:`webhook_headers`,type:`object`,id:`param-webhook-headers`,children:[_jsx(_components.p,{children:`Optional custom HTTP headers to send with each webhook request. Provided as key-value pairs where both keys and values are strings. Maximum 10 headers allowed, each value max 255 characters.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Blocked headers`}),` (cannot be customized): `,_jsx(_components.code,{children:`Authorization`}),`, `,_jsx(_components.code,{children:`X-Webhook-Signature`}),`, `,_jsx(_components.code,{children:`Content-Type`}),`, `,_jsx(_components.code,{children:`Host`}),`, `,_jsx(_components.code,{children:`Cookie`}),`, `,_jsx(_components.code,{children:`X-CSRF-Token`}),`, `,_jsx(_components.code,{children:`Content-Length`}),`, and others reserved for security.`]}),_jsx(_components.p,{children:`Example:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`json`,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:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"X-API-Key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"your-api-key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"X-Custom-ID\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"custom-value\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),_jsx(ParamField,{body:`provider_url`,type:`string`,id:`param-provider-url`,children:_jsxs(_components.p,{children:[`Optional Make scenario URL. This property is accepted by the `,_jsx(_components.code,{children:`\"make\"`}),`\nintegration and is ignored by generic webhook integrations.`]})})]})]}),`\n`,_jsx(ParamField,{body:`logic`,type:`object`,id:`param-logic`,children:_jsx(_components.p,{children:`Optional conditional logic to trigger the webhook only when specific\nconditions are met.`})}),`\n`,`\n`,_jsx(_components.p,{children:`For the official OpnForm app on Make, the attach request uses the same endpoint\nwith the provider-specific integration identifier:`}),`\n`,`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`200 OK`}),` – Webhook created successfully.`]}),`\n`,`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`403 Forbidden`}),` – The token does not have `,_jsx(_components.code,{children:`manage-integrations`}),` ability or insufficient form permissions.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`404 Not Found`}),` – Form not found.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`422 Unprocessable Entity`}),` – Validation error (e.g., invalid or non-public webhook URL, webhook_secret too short, blocked header).`]}),`\n`,`\n`,_jsx(Heading,{level:`2`,id:`security`,children:`Security`}),`\n`,_jsxs(_components.p,{children:[`If you provide a `,_jsx(_components.code,{children:`webhook_secret`}),` when creating the webhook, OpnForm will sign each webhook request with an HMAC-SHA256 signature. This allows you to verify that the webhook came from OpnForm and hasn’t been tampered with.`]}),`\n`,_jsx(_components.p,{children:`Webhook URLs are validated when they are saved and again before each delivery. OpnForm does not follow webhook redirects, and private network destinations are blocked unless the instance operator explicitly enables private webhook URLs for a self-hosted deployment.`}),`\n`,_jsx(_components.p,{children:`Each webhook request will include:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsxs(_components.strong,{children:[_jsx(_components.code,{children:`X-Webhook-Signature`}),` header`]}),`: Contains the signature in format `,_jsx(_components.code,{children:`sha256=HEXADECIMAL_VALUE`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Custom headers`}),`: Any headers you specified in `,_jsx(_components.code,{children:`webhook_headers`}),` (except blocked headers)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`JSON body metadata`}),`: The payload includes `,_jsx(_components.code,{children:`form_id`}),` and `,_jsx(_components.code,{children:`submission_id`}),` so you can correlate webhook deliveries with OpnForm API submission management endpoints`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`blocked-headers`,children:`Blocked Headers`}),`\n`,_jsx(_components.p,{children:`For security reasons, the following headers cannot be customized:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`Authorization`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`X-Webhook-Signature`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`Content-Type`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`Content-Length`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`Host`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`Cookie`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`X-CSRF-Token`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`X-Forwarded-For`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`X-Forwarded-Proto`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`X-Real-IP`})}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/api-reference/integrations/webhook-security`,children:`Validating Webhook Signatures`}),` for implementation examples.`]}),`\n`,_jsx(Heading,{level:`2`,id:`make-payload`,children:`Make payload`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`\"make\"`}),` handler sends a provider-specific payload matching the output\ninterface of the OpnForm Make app:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`14`,language:`json`,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:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`14`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"form_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`123`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"form_title\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Contact Form\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"form_slug\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"contact-form\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"submission_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`456`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"edit_link\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://opnform.com/forms/contact-form?submission_id=example\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"field-id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"value\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Jane Doe\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"text\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`edit_link`}),` is present only when editable submissions are enabled. Unlike the\ngeneric webhook payload, the Make payload omits the deprecated `,_jsx(_components.code,{children:`submission`}),` and\n`,_jsx(_components.code,{children:`message`}),` properties.`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Do not commit webhook secrets to version control. Use environment variables\nor secure vaults to manage them.`})})]})}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":{"openapi":"post /open/forms/{form}/integrations","title":"Create Webhook Integration","description":"Create a new generic webhook or provider-specific Make integration for a form. Requires `manage-integrations` ability.","href":"/api-reference/integrations/create-webhook-integration"}}},"mdxSourceWithNoJs":{"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`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Expandable,Heading,ParamField,RequestExample,ResponseExample,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!RequestExample)_missingMdxReference(`RequestExample`,true);if(!ResponseExample)_missingMdxReference(`ResponseExample`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`1`,id:`create-webhook-integration`,children:`Create Webhook Integration`}),`\n`,_jsx(_components.p,{children:`Add a new webhook integration to send form submissions to an external endpoint.`}),`\n`,_jsx(Heading,{level:`2`,id:`authentication-\u0026-scope`,children:`Authentication \u0026 Scope`}),`\n`,_jsxs(_components.p,{children:[`This endpoint requires a `,_jsx(_components.strong,{children:`Personal Access Token`}),` with the `,_jsx(_components.code,{children:`manage-integrations`}),` ability.`]}),`\n`,_jsx(Heading,{level:`2`,id:`request`,children:`Request`}),`\n`,_jsx(ParamField,{path:`form`,type:`number`,required:true,id:`param-form`,children:_jsx(_components.p,{children:`The ID of the form to which the webhook will be added.`})}),`\n`,_jsx(ParamField,{body:`integration_id`,type:`string`,required:true,id:`param-integration-id`,children:_jsxs(_components.p,{children:[`Use `,_jsx(_components.code,{children:`\"webhook\"`}),` for a generic webhook integration or `,_jsx(_components.code,{children:`\"make\"`}),` for the\nofficial OpnForm app on Make. Both values are registered integration\nhandlers exposed by this endpoint.`]})}),`\n`,_jsx(ParamField,{body:`status`,type:`string`,required:true,id:`param-status`,children:_jsxs(_components.p,{children:[`The initial status of the webhook. Allowed values: `,_jsx(_components.code,{children:`\"active\"`}),`, `,_jsx(_components.code,{children:`\"inactive\"`}),`.`]})}),`\n`,_jsxs(ParamField,{body:`data`,type:`object`,required:true,id:`param-data`,children:[_jsx(_components.p,{children:`Configuration object containing webhook details.`}),_jsxs(Expandable,{title:`data properties`,children:[_jsx(ParamField,{body:`webhook_url`,type:`string`,required:true,id:`param-webhook-url`,children:_jsxs(_components.p,{children:[`The URL where form submissions will be sent. Must be a valid HTTPS URL that resolves only to public IP addresses. Private, loopback, link-local, shared (CGNAT), protocol-assignment, benchmark, and cloud metadata addresses are rejected. IPv4-mapped IPv6, NAT64 (`,_jsx(_components.code,{children:`64:ff9b::/96`}),` and `,_jsx(_components.code,{children:`64:ff9b:1::/48`}),`), and 6to4 destinations are also rejected, including when they embed a public IPv4 address.`]})}),_jsx(ParamField,{body:`webhook_secret`,type:`string`,id:`param-webhook-secret`,children:_jsxs(_components.p,{children:[`Optional signing secret for HMAC-SHA256 validation. When provided, webhook\nrequests will include an `,_jsx(_components.code,{children:`X-Webhook-Signature`}),` header. Must be at least 12\ncharacters. Recommended for security. Should be a random, cryptographically\nsecure string.`]})}),_jsxs(ParamField,{body:`webhook_headers`,type:`object`,id:`param-webhook-headers`,children:[_jsx(_components.p,{children:`Optional custom HTTP headers to send with each webhook request. Provided as key-value pairs where both keys and values are strings. Maximum 10 headers allowed, each value max 255 characters.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Blocked headers`}),` (cannot be customized): `,_jsx(_components.code,{children:`Authorization`}),`, `,_jsx(_components.code,{children:`X-Webhook-Signature`}),`, `,_jsx(_components.code,{children:`Content-Type`}),`, `,_jsx(_components.code,{children:`Host`}),`, `,_jsx(_components.code,{children:`Cookie`}),`, `,_jsx(_components.code,{children:`X-CSRF-Token`}),`, `,_jsx(_components.code,{children:`Content-Length`}),`, and others reserved for security.`]}),_jsx(_components.p,{children:`Example:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`json`,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:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"X-API-Key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"your-api-key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"X-Custom-ID\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"custom-value\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),_jsx(ParamField,{body:`provider_url`,type:`string`,id:`param-provider-url`,children:_jsxs(_components.p,{children:[`Optional Make scenario URL. This property is accepted by the `,_jsx(_components.code,{children:`\"make\"`}),`\nintegration and is ignored by generic webhook integrations.`]})})]})]}),`\n`,_jsx(ParamField,{body:`logic`,type:`object`,id:`param-logic`,children:_jsx(_components.p,{children:`Optional conditional logic to trigger the webhook only when specific\nconditions are met.`})}),`\n`,_jsx(RequestExample,{children:_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`15`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`15`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'https://api.opnform.com/open/forms/123/integrations'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Authorization: Bearer YOUR_PAT'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Content-Type: application/json'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"integration_id\": \"webhook\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"status\": \"active\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"data\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"webhook_url\": \"https://example.com/opnform-hook\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"webhook_secret\": \"whsec_1234567890abcdefghijklmnop\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"webhook_headers\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"X-API-Key\": \"my-api-key\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"X-Custom-Header\": \"custom-value\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})})}),`\n`,_jsx(_components.p,{children:`For the official OpnForm app on Make, the attach request uses the same endpoint\nwith the provider-specific integration identifier:`}),`\n`,_jsx(RequestExample,{children:_jsx(CodeBlock,{filename:`cURL Make`,numberOfLines:`11`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`11`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'https://api.opnform.com/open/forms/123/integrations'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Authorization: Bearer YOUR_PAT'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Content-Type: application/json'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"integration_id\": \"make\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"status\": \"active\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"logic\": null,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"data\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"webhook_url\": \"https://hook.eu1.make.com/example\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})})}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`200 OK`}),` – Webhook created successfully.`]}),`\n`,_jsx(ResponseExample,{children:_jsx(CodeBlock,{filename:`Success`,numberOfLines:`17`,language:`json`,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:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`17`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Form Integration was created.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"form_integration\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`42`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"form_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`123`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"integration_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"webhook\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"active\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"webhook_url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://example.com/opnform-hook\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"webhook_secret\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"whsec_1234567890abcdefghijklmnop\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"webhook_headers\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"X-API-Key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"my-api-key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"X-Custom-Header\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"custom-value\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`403 Forbidden`}),` – The token does not have `,_jsx(_components.code,{children:`manage-integrations`}),` ability or insufficient form permissions.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`404 Not Found`}),` – Form not found.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`422 Unprocessable Entity`}),` – Validation error (e.g., invalid or non-public webhook URL, webhook_secret too short, blocked header).`]}),`\n`,_jsx(ResponseExample,{children:_jsx(CodeBlock,{filename:`Error`,numberOfLines:`8`,language:`json`,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:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`8`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"The given data was invalid.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"errors\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data.webhook_url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"The webhook URL must use HTTPS.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data.webhook_secret\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"The webhook secret must be at least 12 characters.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data.webhook_headers\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"The 'Authorization' header cannot be customized for security reasons.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})}),`\n`,_jsx(Heading,{level:`2`,id:`security`,children:`Security`}),`\n`,_jsxs(_components.p,{children:[`If you provide a `,_jsx(_components.code,{children:`webhook_secret`}),` when creating the webhook, OpnForm will sign each webhook request with an HMAC-SHA256 signature. This allows you to verify that the webhook came from OpnForm and hasn’t been tampered with.`]}),`\n`,_jsx(_components.p,{children:`Webhook URLs are validated when they are saved and again before each delivery. OpnForm does not follow webhook redirects, and private network destinations are blocked unless the instance operator explicitly enables private webhook URLs for a self-hosted deployment.`}),`\n`,_jsx(_components.p,{children:`Each webhook request will include:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsxs(_components.strong,{children:[_jsx(_components.code,{children:`X-Webhook-Signature`}),` header`]}),`: Contains the signature in format `,_jsx(_components.code,{children:`sha256=HEXADECIMAL_VALUE`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Custom headers`}),`: Any headers you specified in `,_jsx(_components.code,{children:`webhook_headers`}),` (except blocked headers)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`JSON body metadata`}),`: The payload includes `,_jsx(_components.code,{children:`form_id`}),` and `,_jsx(_components.code,{children:`submission_id`}),` so you can correlate webhook deliveries with OpnForm API submission management endpoints`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`blocked-headers`,children:`Blocked Headers`}),`\n`,_jsx(_components.p,{children:`For security reasons, the following headers cannot be customized:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`Authorization`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`X-Webhook-Signature`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`Content-Type`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`Content-Length`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`Host`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`Cookie`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`X-CSRF-Token`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`X-Forwarded-For`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`X-Forwarded-Proto`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`X-Real-IP`})}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/api-reference/integrations/webhook-security`,children:`Validating Webhook Signatures`}),` for implementation examples.`]}),`\n`,_jsx(Heading,{level:`2`,id:`make-payload`,children:`Make payload`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`\"make\"`}),` handler sends a provider-specific payload matching the output\ninterface of the OpnForm Make app:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`14`,language:`json`,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:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`14`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"form_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`123`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"form_title\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Contact Form\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"form_slug\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"contact-form\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"submission_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`456`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"edit_link\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://opnform.com/forms/contact-form?submission_id=example\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"field-id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"value\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Jane Doe\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"text\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`edit_link`}),` is present only when editable submissions are enabled. Unlike the\ngeneric webhook payload, the Make payload omits the deprecated `,_jsx(_components.code,{children:`submission`}),` and\n`,_jsx(_components.code,{children:`message`}),` properties.`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Do not commit webhook secrets to version control. Use environment variables\nor secure vaults to manage them.`})})]})}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":{"openapi":"post /open/forms/{form}/integrations","title":"Create Webhook Integration","description":"Create a new generic webhook or provider-specific Make integration for a form. Requires `manage-integrations` ability.","href":"/api-reference/integrations/create-webhook-integration"}}}},"mdxExtracts":{"tableOfContents":[{"title":"Create Webhook Integration","slug":"create-webhook-integration","depth":1,"children":[]},{"title":"Authentication \u0026 Scope","slug":"authentication-\u0026-scope","depth":2,"children":[]},{"title":"Request","slug":"request","depth":2,"children":[]},{"title":"Response","slug":"response","depth":2,"children":[]},{"title":"Security","slug":"security","depth":2,"children":[{"title":"Blocked Headers","slug":"blocked-headers","depth":3,"children":[]}]},{"title":"Make payload","slug":"make-payload","depth":2,"children":[]}],"codeExamples":{"request":{"type":"RequestExample","children":[{"filename":"cURL","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"shellscript\">\u003ccode language=\"shellscript\" numberOfLines=\"15\">\u003cspan class=\"line\">\u003cspan style=\"color:#953800;--shiki-dark:#DCDCAA\">curl\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -X\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> POST\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> 'https://api.opnform.com/open/forms/123/integrations'\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -H\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> 'Authorization: Bearer YOUR_PAT'\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -H\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> 'Content-Type: application/json'\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -d\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> '{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"integration_id\": \"webhook\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"status\": \"active\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"data\": {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"webhook_url\": \"https://example.com/opnform-hook\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"webhook_secret\": \"whsec_1234567890abcdefghijklmnop\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"webhook_headers\": {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"X-API-Key\": \"my-api-key\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"X-Custom-Header\": \"custom-value\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> }'\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]},"response":{"type":"ResponseExample","children":[{"filename":"Success","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"17\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"message\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Form Integration was created.\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"form_integration\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">42\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"form_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">123\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"integration_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"webhook\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"status\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"active\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"data\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"webhook_url\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"https://example.com/opnform-hook\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"webhook_secret\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"whsec_1234567890abcdefghijklmnop\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"webhook_headers\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"X-API-Key\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"my-api-key\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"X-Custom-Header\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"custom-value\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]}}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Integrations"],"summary":"Create Webhook Integration","description":"Create a new generic webhook or provider-specific Make integration for a form. Requires `manage-integrations` ability.","security":["aba0a8a9-80ce-4637-9f4c-9f8196e8f0f7"],"parameters":["c684e93f-1c97-4991-8ae7-69b9165b1ed4"],"requestBody":"2b0ce244-ce45-4875-864d-173ad3964f31","responses":{"200":"977fc22a-b061-4316-bebc-90b34988dd02","403":"90da33ad-a8f3-4723-a751-9d9c2f040947","404":"768a32d7-a494-44ed-91ce-8e5a6f809c2c","422":"541129a8-1634-4384-92ad-3962488528c7"},"method":"post","type":"path","servers":["76717736-54ad-4f96-9ae4-ef1fd42de952"],"path":"/open/forms/{form}/integrations","baseUrlOptions":["https://api.opnform.com"],"title":"Create Webhook Integration","codeSamples":[],"requiredOnlyExamples":false,"requestExamples":[{"dropdown":false,"language":"shellscript","code":{"type":"pre","key":null,"ref":null,"props":{"className":"shiki shiki-themes github-light-default dark-plus","style":{"backgroundColor":"#ffffff","--shiki-dark-bg":"#0B0C0E","color":"#1f2328","--shiki-dark":"#D4D4D4"},"language":"shellscript","children":{"type":"code","key":null,"ref":null,"props":{"language":"shellscript","numberOfLines":"15","children":[{"type":"span","key":"0","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#953800","--shiki-dark":"#DCDCAA"},"children":"curl"}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#0550AE","--shiki-dark":"#569CD6"},"children":" -X"}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" POST"}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" 'https://api.opnform.com/open/forms/123/integrations'"}},{"type":"span","key":"4","ref":null,"props":{"style":{"color":"#CF222E","--shiki-dark":"#D7BA7D"},"children":" \\"}}]}},"\n",{"type":"span","key":"2","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#0550AE","--shiki-dark":"#569CD6"},"children":" -H"}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" 'Authorization: Bearer YOUR_PAT'"}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#CF222E","--shiki-dark":"#D7BA7D"},"children":" \\"}}]}},"\n",{"type":"span","key":"4","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#0550AE","--shiki-dark":"#569CD6"},"children":" -H"}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" 'Content-Type: application/json'"}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#CF222E","--shiki-dark":"#D7BA7D"},"children":" \\"}}]}},"\n",{"type":"span","key":"6","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#0550AE","--shiki-dark":"#569CD6"},"children":" -d"}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" '{"}}]}},"\n",{"type":"span","key":"8","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" \"integration_id\": \"webhook\","}}}},"\n",{"type":"span","key":"10","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" \"status\": \"active\","}}}},"\n",{"type":"span","key":"12","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" \"data\": {"}}}},"\n",{"type":"span","key":"14","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" \"webhook_url\": \"https://example.com/opnform-hook\","}}}},"\n",{"type":"span","key":"16","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" \"webhook_secret\": \"whsec_1234567890abcdefghijklmnop\","}}}},"\n",{"type":"span","key":"18","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" \"webhook_headers\": {"}}}},"\n",{"type":"span","key":"20","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" \"X-API-Key\": \"my-api-key\","}}}},"\n",{"type":"span","key":"22","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" \"X-Custom-Header\": \"custom-value\""}}}},"\n",{"type":"span","key":"24","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" }"}}}},"\n",{"type":"span","key":"26","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" }"}}}},"\n",{"type":"span","key":"28","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" }'"}}}},"\n"]}}}},"filename":"cURL"}],"requestExampleType":"mdx","responseExamples":[{"dropdown":false,"language":"json","code":{"type":"pre","key":null,"ref":null,"props":{"className":"shiki shiki-themes github-light-default dark-plus","style":{"backgroundColor":"#ffffff","--shiki-dark-bg":"#0B0C0E","color":"#1f2328","--shiki-dark":"#D4D4D4"},"language":"json","children":{"type":"code","key":null,"ref":null,"props":{"language":"json","numberOfLines":"17","children":[{"type":"span","key":"0","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":"{"}}}},"\n",{"type":"span","key":"2","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"message\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":"\"Form Integration was created.\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"4","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"form_integration\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": {"}}]}},"\n",{"type":"span","key":"6","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"id\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0550AE","--shiki-dark":"#B5CEA8"},"children":"42"}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"8","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"form_id\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0550AE","--shiki-dark":"#B5CEA8"},"children":"123"}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"10","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"integration_id\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":"\"webhook\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"12","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"status\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":"\"active\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"14","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"data\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": {"}}]}},"\n",{"type":"span","key":"16","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"webhook_url\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":"\"https://example.com/opnform-hook\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"18","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"webhook_secret\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":"\"whsec_1234567890abcdefghijklmnop\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"20","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"webhook_headers\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": {"}}]}},"\n",{"type":"span","key":"22","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"X-API-Key\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":"\"my-api-key\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"24","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"X-Custom-Header\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":"\"custom-value\""}}]}},"\n",{"type":"span","key":"26","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":" }"}}}},"\n",{"type":"span","key":"28","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":" }"}}}},"\n",{"type":"span","key":"30","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":" }"}}}},"\n",{"type":"span","key":"32","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":"}"}}}},"\n"]}}}},"filename":"Success"}],"responseExampleType":"mdx"},"dependencies":{"parameters":{"c684e93f-1c97-4991-8ae7-69b9165b1ed4":{"name":"form","in":"path","required":true,"schema":{"type":"number","description":"The ID of the form.","isRequired":true,"uniqueKey":"","typeLabel":"number"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["integration_id","data"],"properties":{"integration_id":{"type":"string","enum":["webhook","make"],"description":"Use \"webhook\" for a generic webhook or \"make\" for the official OpnForm app on Make","isRequired":true,"uniqueKey":"integration_id","typeLabel":"enum\u003cstring>"},"data":{"type":"object","required":["webhook_url"],"properties":{"webhook_url":{"type":"string","format":"uri","description":"The URL where submissions will be sent","isRequired":true,"uniqueKey":"data.webhook_url","typeLabel":"string\u003curi>"},"provider_url":{"oneOf":[{"type":"string","format":"uri","description":"Optional Make scenario URL stored with a Make integration","uniqueKey":"data.provider_url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"Optional Make scenario URL stored with a Make integration","uniqueKey":"data.provider_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.provider_url","typeLabel":"string\u003curi> | null"}},"isRequired":true,"uniqueKey":"data","typeLabel":"object"},"status":{"type":"string","enum":["active","inactive"],"default":"active","description":"The initial status of the webhook","uniqueKey":"status","typeLabel":"enum\u003cstring>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":{"webhook_url":"\u003cstring>","provider_url":"\u003cstring>"},"status":"active"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"977fc22a-b061-4316-bebc-90b34988dd02":{"description":"Webhook created successfully","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Form Integration was created.","uniqueKey":"message","typeLabel":"string"},"form_integration":{"type":"object","properties":{"id":{"type":"number","description":"Unique identifier for the integration.","readOnly":true,"uniqueKey":"form_integration.id","typeLabel":"number"},"form_id":{"type":"number","description":"The ID of the associated form.","readOnly":true,"uniqueKey":"form_integration.form_id","typeLabel":"number"},"integration_id":{"type":"string","description":"Type of integration exposed via API, including \"webhook\" and the provider-specific \"make\" integration.","example":"webhook","uniqueKey":"form_integration.integration_id","typeLabel":"string"},"status":{"type":"string","enum":["active","inactive"],"description":"Whether the integration is active.","uniqueKey":"form_integration.status","typeLabel":"enum\u003cstring>"},"data":{"type":"object","description":"Integration-specific configuration. For webhooks, contains webhook_url.","example":{"webhook_url":"https://example.com/opnform-hook"},"uniqueKey":"form_integration.data","typeLabel":"object"}},"uniqueKey":"form_integration","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"Form Integration was created.","form_integration":{"id":123,"form_id":123,"integration_id":"webhook","status":"active","data":{"webhook_url":"https://example.com/opnform-hook"}}}}},"exampleType":"generated"}},"exampleType":"generated"},"90da33ad-a8f3-4723-a751-9d9c2f040947":{"description":"Forbidden – insufficient permissions","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"768a32d7-a494-44ed-91ce-8e5a6f809c2c":{"description":"Form not found","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"541129a8-1634-4384-92ad-3962488528c7":{"description":"Validation error","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{"aba0a8a9-80ce-4637-9f4c-9f8196e8f0f7":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Personal Access Token","x-bearer-scopemap":{"workspaces-read":"Read access to workspaces","workspaces-write":"Write access to workspaces","workspace-users-read":"Read access to workspace users","workspace-users-write":"Write access to workspace users","forms-read":"Read access to forms","forms-write":"Write access to forms","manage-integrations":"Manage form integrations (webhooks)"},"scopes":[],"schemeName":"bearerAuth"}}},"servers":{"76717736-54ad-4f96-9ae4-ef1fd42de952":{"url":"https://api.opnform.com"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Personal Access Token","x-bearer-scopemap":{"workspaces-read":"Read access to workspaces","workspaces-write":"Write access to workspaces","workspace-users-read":"Read access to workspace users","workspace-users-write":"Write access to workspace users","forms-read":"Read access to forms","forms-write":"Write access to forms","manage-integrations":"Manage form integrations (webhooks)"},"scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Personal Access Token","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/openapi.yaml"},"subdomain":"opnform","siteName":"OpnForm Technical Docs","title":"Create Webhook Integration - OpnForm Technical Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-30T10:50:11.568Z","originalFileLocation":"api-reference/integrations/create-webhook-integration.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=\"Create a new generic webhook or provider-specific Make integration for a form. Requires manage-integrations ability.\">\u003cmeta data-mint-head name=\"application-name\" content=\"OpnForm Technical Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/opnform/j_5DxxKW6ps4uqTV/_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/opnform/j_5DxxKW6ps4uqTV/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/opnform/j_5DxxKW6ps4uqTV/_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/opnform/j_5DxxKW6ps4uqTV/_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/opnform/j_5DxxKW6ps4uqTV/_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/opnform/j_5DxxKW6ps4uqTV/_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/opnform/j_5DxxKW6ps4uqTV/_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/opnform/j_5DxxKW6ps4uqTV/_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/opnform/j_5DxxKW6ps4uqTV/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create Webhook Integration - OpnForm Technical Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create a new generic webhook or provider-specific Make integration for a form. Requires manage-integrations ability.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"OpnForm Technical Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.opnform.com/api-reference/integrations/create-webhook-integration\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://opnform.mintlify.app/_mintlify/api/og/v2?division=Integrations\u0026amp;title=Create+Webhook+Integration\u0026amp;description=Create+a+new+generic+webhook+or+provider-specific+Make+integration+for+a+form.+Requires+%60manage-integrations%60+ability.\u0026amp;theme=555c232e9f4f4ee565ee1c66\u0026amp;signature=dfebaadb949a9babd2cc7967d214c482e0bc9cb18e5ba103cddc35869095b3eb\">\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=\"Create Webhook Integration - OpnForm Technical Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create a new generic webhook or provider-specific Make integration for a form. Requires manage-integrations ability.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://opnform.mintlify.app/_mintlify/api/og/v2?division=Integrations\u0026amp;title=Create+Webhook+Integration\u0026amp;description=Create+a+new+generic+webhook+or+provider-specific+Make+integration+for+a+form.+Requires+%60manage-integrations%60+ability.\u0026amp;theme=555c232e9f4f4ee565ee1c66\u0026amp;signature=dfebaadb949a9babd2cc7967d214c482e0bc9cb18e5ba103cddc35869095b3eb\">\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/opnform/j_5DxxKW6ps4uqTV/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"OpnForm Technical Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3b82f6\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.opnform.com/api-reference/integrations/create-webhook-integration\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/integrations/create-webhook-integration.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.opnform.com/#organization\",\"name\":\"OpnForm Technical Docs\",\"url\":\"https://docs.opnform.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/opnform/OUqYLvFvGemD8lSt/logo.svg?fit=max\u0026auto=format\u0026n=OUqYLvFvGemD8lSt\u0026q=85\u0026s=60c8619bcad52d227a058cc4a5f06955\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.opnform.com#website\",\"name\":\"OpnForm Technical Docs\",\"url\":\"https://docs.opnform.com\",\"publisher\":{\"@id\":\"https://docs.opnform.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.opnform.com/api-reference/integrations/create-webhook-integration#webpage\",\"url\":\"https://docs.opnform.com/api-reference/integrations/create-webhook-integration\",\"name\":\"Create Webhook Integration\",\"description\":\"Create a new generic webhook or provider-specific Make integration for a form. Requires manage-integrations ability.\",\"dateModified\":\"2026-10-30T10:50:11.568Z\",\"isPartOf\":{\"@id\":\"https://docs.opnform.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.opnform.com/api-reference/integrations/create-webhook-integration#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.opnform.com/api-reference/integrations/create-webhook-integration#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Integrations\",\"item\":\"https://docs.opnform.com/api-reference/integrations/list-form-integrations\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create Webhook Integration\",\"item\":\"https://docs.opnform.com/api-reference/integrations/create-webhook-integration\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.opnform.com/api-reference/integrations/create-webhook-integration#apireference\",\"headline\":\"Create Webhook Integration\",\"name\":\"Create Webhook Integration\",\"description\":\"Create a new generic webhook or provider-specific Make integration for a form. Requires manage-integrations ability.\",\"url\":\"https://docs.opnform.com/api-reference/integrations/create-webhook-integration\",\"mainEntityOfPage\":{\"@id\":\"https://docs.opnform.com/api-reference/integrations/create-webhook-integration#webpage\"},\"dateModified\":\"2026-10-30T10:50:11.568Z\",\"publisher\":{\"@id\":\"https://docs.opnform.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.opnform.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"OpnForm Technical Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"OpnForm Technical Docs","nav":{"global":{"anchors":[{"anchor":"Product Documentation","icon":"book-open-cover","href":"https://help.opnform.com"},{"anchor":"Community","icon":"discord","href":"https://discord.gg/YTSjU2a9TS"},{"anchor":"Changelog","icon":"sparkles","href":"https://feedback.opnform.com/changelog"},{"anchor":"Roadmap","icon":"road","href":"https://feedback.opnform.com/roadmap"}]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"Introduction","href":"/api-reference/introduction"},{"title":"API Keys","href":"/api-reference/api-keys"},{"title":"Changelog","href":"/api-reference/changelog"}]},{"group":"Workspaces","pages":[{"openapi":"get /open/workspaces","title":"List Workspaces","href":"/api-reference/workspaces/list-workspaces"},{"openapi":"post /open/workspaces/create","title":"Create Workspace","href":"/api-reference/workspaces/create-workspace"},{"openapi":"put /open/workspaces/{workspaceId}","title":"Update Workspace","href":"/api-reference/workspaces/update-workspace"},{"openapi":"delete /open/workspaces/{workspaceId}","title":"Delete Workspace","href":"/api-reference/workspaces/delete-workspace"}]},{"group":"Forms","pages":[{"openapi":"get /open/workspaces/{workspaceId}/forms","title":"List Workspace Forms","href":"/api-reference/forms/list-workspace-forms"},{"openapi":"post /open/forms","title":"Create Form","href":"/api-reference/forms/create-form"},{"openapi":"get /open/forms/{slug}","title":"Get Form","href":"/api-reference/forms/get-form"},{"openapi":"put /open/forms/{id}","title":"Update Form","href":"/api-reference/forms/update-form"},{"openapi":"delete /open/forms/{id}","title":"Delete Form","href":"/api-reference/forms/delete-form"}]},{"group":"Submissions","pages":[{"openapi":"get /open/forms/{id}/submissions","title":"List Submissions","href":"/api-reference/submissions/list-submissions"},{"openapi":"post /forms/{slug}/answer","title":"Create Submission","href":"/api-reference/submissions/create-submission"},{"openapi":"post /open/forms/{id}/submissions/export","title":"Export Submissions (CSV)","href":"/api-reference/submissions/export-submissions-csv"},{"openapi":"get /open/forms/{id}/submissions/export/status/{job_id}","title":"Check Export Status","href":"/api-reference/submissions/export-status"},{"openapi":"put /open/forms/{id}/submissions/{submission_id}","title":"Update Submission","href":"/api-reference/submissions/update-submission"},{"openapi":"delete /open/forms/{id}/submissions/{submission_id}","title":"Delete Submission","href":"/api-reference/submissions/delete-submission"}]},{"group":"Integrations","pages":[{"openapi":"get /open/forms/{form}/integrations","title":"List Form Integrations","description":"List all integrations configured for a form. Requires `manage-integrations` ability.","href":"/api-reference/integrations/list-form-integrations"},{"openapi":"post /open/forms/{form}/integrations","title":"Create Webhook Integration","href":"/api-reference/integrations/create-webhook-integration"},{"openapi":"put /open/forms/{form}/integrations/{integrationid}","title":"Update Webhook Integration","description":"Update an existing webhook integration. Requires `manage-integrations` ability.","href":"/api-reference/integrations/update-webhook-integration"},{"openapi":"delete /open/forms/{form}/integrations/{integrationid}","title":"Delete Webhook Integration","href":"/api-reference/integrations/delete-webhook-integration"},{"title":"List Integration Events","openapi":"get /open/forms/{form}/integrations/{integrationid}/events","href":"/api-reference/integrations/list-webhook-events"},{"title":"Retry an Integration Event","openapi":"post /open/forms/{form}/integrations/{integrationid}/events/{event}/retry","href":"/api-reference/integrations/retry-integration-event"},{"title":"Validating Webhook Signatures","href":"/api-reference/integrations/webhook-security"}]},{"group":"Workspace Users","pages":[{"openapi":"get /open/workspaces/{workspaceId}/users","title":"List Workspace Users","href":"/api-reference/workspace-users/list-workspace-users"},{"openapi":"get /open/workspaces/{workspaceId}/invites","title":"List Workspace Invites","href":"/api-reference/workspace-users/list-workspace-invites"},{"openapi":"post /open/workspaces/{workspaceId}/users/add","title":"Add Workspace User","href":"/api-reference/workspace-users/add-workspace-user"},{"openapi":"delete /open/workspaces/{workspaceId}/users/{userId}/remove","title":"Remove Workspace User","href":"/api-reference/workspace-users/remove-workspace-user"},{"openapi":"put /open/workspaces/{workspaceId}/users/{userId}/update-role","title":"Update Workspace User Role","href":"/api-reference/workspace-users/update-workspace-user-role"},{"openapi":"post /open/workspaces/{workspaceId}/leave","title":"Leave Workspace","href":"/api-reference/workspace-users/leave-workspace"},{"openapi":"post /open/workspaces/{workspaceId}/invites/{inviteId}/resend","title":"Resend Workspace Invite","href":"/api-reference/workspace-users/resend-workspace-invite"},{"openapi":"delete /open/workspaces/{workspaceId}/invites/{inviteId}/cancel","title":"Cancel Workspace Invite","href":"/api-reference/workspace-users/cancel-workspace-invite"}]},{"group":"Zapier","pages":[{"openapi":"get /external/zapier/validate","title":"Validate API Key","href":"/api-reference/zapier/validate-api-key"},{"openapi":"get /external/zapier/forms","title":"List Forms","href":"/api-reference/zapier/list-forms"},{"openapi":"post /external/zapier/webhook","title":"New Submission Trigger","href":"/api-reference/zapier/new-submission-trigger"},{"openapi":"delete /external/zapier/webhook","title":"Unsubscribe Webhook","href":"/api-reference/zapier/unsubscribe-webhook"},{"openapi":"get /external/zapier/submissions/recent","title":"Sample Submission Polling","href":"/api-reference/zapier/sample-submission-polling"}]}]},{"tab":"Contributing","pages":[{"title":"Contributing","href":"/contributing/getting-started"}]}]},"basePath":"","title":"Create Webhook Integration - OpnForm Technical Docs","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C8RPHPxo.js","utils-0BK-9q6z.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DfjzsUJT.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B4v9psJ4.js","snippetPresets-CpTQv-Ez.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-BNP-Fvr0.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BSgu6h1D.js","shallow-Biv1i9Gs.js","getApiPlaygroundDisplay-BoGOXhtF.js","CodeSnippet-DvQoT18_.js","CodeSnippets-Dnpa15xT.js","Page-Buji1S4J.js","getPastedJson-xAIyhUFE.js","icon-S6FBih11.js","MethodPill-SaYeUZyk.js","DuplicateIcon-Cs-p3v2Q.js","createIcon-DjCFEoHq.js","DynamicMarkdown-BcnBltEQ.js","SectionHeading-BUBl0eEF.js","axios-vUo_bRtp.js","Markdown-h4cOoD8d.js","clsx-B2v50t8t.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DJnKvr0g.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BHrrjR1K.js"]}