Verify a destination end to end without publishing anything real or exposing production systems.
Every destination type gives you a way to prove the pipeline works before real content flows through it. Use these tools in order of increasing realism.
Set the connection’s Default status to Draft while you test, so the editor’s button reads Send draft to CMS. A draft send exercises the whole pipeline (generation, sending, the CMS’s response, and reading the item back where supported) without making anything public. A new draft stays Draft in Weelkit until it is published in your CMS, then becomes Published on its own. Sanity keeps Published when an existing live version remains beside a newer draft. Switch the default to Published only after you have verified a draft end to end.
For API webhook destinations, choose Send test on the endpoint. Weelkit delivers a webhook.test event to your URL with the same headers and signature scheme as a real delivery, but with article set to null.Use it to verify, in this order:
1
Transport
Your endpoint receives the request over HTTPS and responds with a 2xx status.
2
Signature verification
Your signature verification accepts the test event. If it rejects a genuine test event, fix verification before going further.
3
Null handling
Your handler tolerates article: null without crashing. Real article.version.created events carry a full article object.
For CMS destinations (WordPress, WordPress.com, Sanity, Ghost or a Custom API), connect a staging site first. Run the full flow there: mapping review, Verify test draft, and a real send from the editor. After all test sends and cleanup are settled, disconnect the staging connection. Connect production separately, save its mapping and verify its test draft. Only one CMS connection is active; a different destination does not inherit staging verification.
The last step of CMS setup is Verify test draft: Weelkit uses your saved mapping to publish a draft and read it back, and shows the result for each field. It proves Weelkit can sign in, write and read back before the connection is ready. The draft stays in your CMS so you can inspect it; choose Delete draft to remove it. Changing the mapping or the publishing defaults means verifying again.
Never point a Custom API base URL at internal or private hosts. Private, loopback, link-local, and cloud-metadata addresses are rejected at connect time — Weelkit will not dispatch to them, in test or in production. Use a publicly reachable staging host instead.
Secrets are shown once. Webhook signing secrets and similar credentials are displayed a single time at creation. Store them in your secret manager immediately — if you lose one, rotate it to get a new value.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Weelkit","description":"How to use Weelkit: chat with AI, write and publish articles, manage your images and knowledge, and track how your content performs in search and AI answers.","colors":{"primary":"#161614","light":"#F3EDE9","dark":"#161614"},"logo":{"light":"https://mintcdn.com/weelkit/rCK35laReQLc0j4Z/logo/light.svg?fit=max\u0026auto=format\u0026n=rCK35laReQLc0j4Z\u0026q=85\u0026s=2f851f7771527dd0905713f660f88b0c","dark":"https://mintcdn.com/weelkit/rCK35laReQLc0j4Z/logo/dark.svg?fit=max\u0026auto=format\u0026n=rCK35laReQLc0j4Z\u0026q=85\u0026s=4e20386a2bee6fafeac4d8002ee2319f"},"favicon":"https://mintcdn.com/weelkit/rCK35laReQLc0j4Z/favicon.svg?fit=max\u0026auto=format\u0026n=rCK35laReQLc0j4Z\u0026q=85\u0026s=f1d980f05789b3c4091ecd5ef6373dce","background":{"color":{"light":"#FBFAF8","dark":"#161614"}},"navbar":{"links":[{"href":"mailto:hello@weelkit.com","label":"Support"}]},"contextual":{"options":["copy","view"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"weelkit","hasAudioNarration":false,"actualSubdomain":"weelkit","customDomains":["docs.weelkit.com"],"gitSource":{"type":"github","owner":"weelkit","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad9e473db34909eda594d91","collectionId":"d8b36159-0e6d-4c97-a155-3790a9b51c0c","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad9e473db34909eda594d91"},"entitlements":{},"buildId":"6adc33b77008c2a717e741ae","clientVersion":"0.0.3964","searchFilterCounts":[{"language":"default","tag":"Guides","count":25},{"language":"default","tag":"Integrations","count":18},{"language":"default","tag":"API reference","count":17},{"language":"default","tag":"Webhooks","count":8},{"language":"default","tag":"Organization article fields","count":7},{"language":"default","tag":"Get started","count":5},{"language":"default","tag":"Custom API","count":5},{"language":"default","tag":"Publishing overview","count":5},{"language":"default","tag":"Metrics","count":5},{"language":"default","tag":"Settings","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"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":"editor-v7-file-tree","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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"editor-agent-model-picker","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":"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}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"integrations/testing-integrations","slug":"/integrations/testing-integrations","pageMetadata":{"title":"Testing integrations","description":"Verify a destination end to end without publishing anything real or exposing production systems.","icon":"flask","href":"/integrations/testing-integrations"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Verify a destination end to end without publishing anything real or exposing production systems.\"\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`,p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Heading,Step,Steps,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Every destination type gives you a way to prove the pipeline works before real content flows through it. Use these tools in order of increasing realism.`}),`\n`,_jsx(Heading,{level:`2`,id:`use-draft-statuses`,children:`Use draft statuses`}),`\n`,_jsxs(_components.p,{children:[`Set the connection’s `,_jsx(_components.strong,{children:`Default status`}),` to `,_jsx(_components.strong,{children:`Draft`}),` while you test, so the editor’s button reads `,_jsx(_components.strong,{children:`Send draft to CMS`}),`. A draft send exercises the whole pipeline (generation, sending, the CMS’s response, and reading the item back where supported) without making anything public. A new draft stays `,_jsx(_components.strong,{children:`Draft`}),` in Weelkit until it is published in your CMS, then becomes `,_jsx(_components.strong,{children:`Published`}),` on its own. Sanity keeps `,_jsx(_components.strong,{children:`Published`}),` when an existing live version remains beside a newer draft. Switch the default to `,_jsx(_components.strong,{children:`Published`}),` only after you have verified a draft end to end.`]}),`\n`,_jsx(Heading,{level:`2`,id:`use-the-webhook-test-event`,children:`Use the webhook test event`}),`\n`,_jsxs(_components.p,{children:[`For `,_jsx(_components.a,{href:`/integrations/webhook/setup`,children:`API webhook`}),` destinations, choose `,_jsx(_components.strong,{children:`Send test`}),` on the endpoint. Weelkit delivers a `,_jsx(_components.code,{children:`webhook.test`}),` event to your URL with the same headers and signature scheme as a real delivery, but with `,_jsx(_components.code,{children:`article`}),` set to `,_jsx(_components.code,{children:`null`}),`.`]}),`\n`,_jsx(_components.p,{children:`Use it to verify, in this order:`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Transport`,children:_jsx(_components.p,{children:`Your endpoint receives the request over HTTPS and responds with a 2xx status.`})}),_jsx(Step,{title:`Signature verification`,children:_jsxs(_components.p,{children:[`Your `,_jsx(_components.a,{href:`/integrations/webhook/signature-verification`,children:`signature verification`}),` accepts the test event. If it rejects a genuine test event, fix verification before going further.`]})}),_jsx(Step,{title:`Null handling`,children:_jsxs(_components.p,{children:[`Your handler tolerates `,_jsx(_components.code,{children:`article: null`}),` without crashing. Real `,_jsx(_components.code,{children:`article.version.created`}),` events carry a full article object.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`use-a-staging-site`,children:`Use a staging site`}),`\n`,_jsxs(_components.p,{children:[`For CMS destinations (WordPress, WordPress.com, Sanity, Ghost or a Custom API), connect a staging site first. Run the full flow there: mapping review, `,_jsx(_components.strong,{children:`Verify test draft`}),`, and a real send from the editor. After all test sends and cleanup are settled, disconnect the staging connection. Connect production separately, save its mapping and verify its test draft. Only one CMS connection is active; a different destination does not inherit staging verification.`]}),`\n`,_jsx(Heading,{level:`2`,id:`verify-a-test-draft`,children:`Verify a test draft`}),`\n`,_jsxs(_components.p,{children:[`The last step of CMS setup is `,_jsx(_components.strong,{children:`Verify test draft`}),`: Weelkit uses your saved mapping to publish a draft and read it back, and shows the result for each field. It proves Weelkit can sign in, write and read back before the connection is ready. The draft stays in your CMS so you can inspect it; choose `,_jsx(_components.strong,{children:`Delete draft`}),` to remove it. Changing the mapping or the publishing defaults means verifying again.`]}),`\n`,_jsx(Heading,{level:`2`,id:`boundaries-to-respect`,children:`Boundaries to respect`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Never point a Custom API base URL at internal or private hosts. Private, loopback, link-local, and cloud-metadata addresses are `,_jsx(_components.strong,{children:`rejected`}),` at connect time — Weelkit will not dispatch to them, in test or in production. Use a publicly reachable staging host instead.`]})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Secrets are shown `,_jsx(_components.strong,{children:`once`}),`. Webhook signing secrets and similar credentials are displayed a single time at creation. Store them in your secret manager immediately — if you lose one, rotate it to get a new value.`]})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Testing integrations","description":"Verify a destination end to end without publishing anything real or exposing production systems.","icon":"flask","href":"/integrations/testing-integrations"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Use draft statuses","slug":"use-draft-statuses","depth":2,"children":[]},{"title":"Use the webhook test event","slug":"use-the-webhook-test-event","depth":2,"children":[]},{"title":"Use a staging site","slug":"use-a-staging-site","depth":2,"children":[]},{"title":"Verify a test draft","slug":"verify-a-test-draft","depth":2,"children":[]},{"title":"Boundaries to respect","slug":"boundaries-to-respect","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"weelkit","siteName":"Weelkit","title":"Testing integrations - Weelkit","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-15T08:38:10.676Z","originalFileLocation":"integrations/testing-integrations.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=\"Verify a destination end to end without publishing anything real or exposing production systems.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Weelkit\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/weelkit/Oct13_C6s-hSAC4M/_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/weelkit/Oct13_C6s-hSAC4M/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/weelkit/Oct13_C6s-hSAC4M/_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/weelkit/Oct13_C6s-hSAC4M/_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/weelkit/Oct13_C6s-hSAC4M/_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/weelkit/Oct13_C6s-hSAC4M/_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/weelkit/Oct13_C6s-hSAC4M/_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/weelkit/Oct13_C6s-hSAC4M/_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/weelkit/Oct13_C6s-hSAC4M/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Testing integrations - Weelkit\">\u003cmeta data-mint-head property=\"og:description\" content=\"Verify a destination end to end without publishing anything real or exposing production systems.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Weelkit\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.weelkit.com/integrations/testing-integrations\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://weelkit.mintlify.app/_mintlify/api/og/v2?division=Publishing+overview\u0026amp;title=Testing+integrations\u0026amp;description=Verify+a+destination+end+to+end+without+publishing+anything+real+or+exposing+production+systems.\u0026amp;theme=f091cb919715f97f6b8fbb0a\u0026amp;signature=9c4a544e365035057d19500677caa2ff5ea669b9bdceca493b14d0f1f690017d\">\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=\"Testing integrations - Weelkit\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Verify a destination end to end without publishing anything real or exposing production systems.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://weelkit.mintlify.app/_mintlify/api/og/v2?division=Publishing+overview\u0026amp;title=Testing+integrations\u0026amp;description=Verify+a+destination+end+to+end+without+publishing+anything+real+or+exposing+production+systems.\u0026amp;theme=f091cb919715f97f6b8fbb0a\u0026amp;signature=9c4a544e365035057d19500677caa2ff5ea669b9bdceca493b14d0f1f690017d\">\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/weelkit/Oct13_C6s-hSAC4M/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Weelkit\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#161614\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.weelkit.com/integrations/testing-integrations\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/integrations/testing-integrations.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.weelkit.com/#organization\",\"name\":\"Weelkit\",\"url\":\"https://docs.weelkit.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/weelkit/rCK35laReQLc0j4Z/logo/light.svg?fit=max\u0026auto=format\u0026n=rCK35laReQLc0j4Z\u0026q=85\u0026s=2f851f7771527dd0905713f660f88b0c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.weelkit.com#website\",\"name\":\"Weelkit\",\"url\":\"https://docs.weelkit.com\",\"publisher\":{\"@id\":\"https://docs.weelkit.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.weelkit.com/integrations/testing-integrations#webpage\",\"url\":\"https://docs.weelkit.com/integrations/testing-integrations\",\"name\":\"Testing integrations\",\"description\":\"Verify a destination end to end without publishing anything real or exposing production systems.\",\"dateModified\":\"2026-10-15T08:38:10.676Z\",\"isPartOf\":{\"@id\":\"https://docs.weelkit.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.weelkit.com/integrations/testing-integrations#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.weelkit.com/integrations/testing-integrations#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Publishing overview\",\"item\":\"https://docs.weelkit.com/integrations/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Testing integrations\",\"item\":\"https://docs.weelkit.com/integrations/testing-integrations\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.weelkit.com/integrations/testing-integrations#article\",\"headline\":\"Testing integrations\",\"name\":\"Testing integrations\",\"description\":\"Verify a destination end to end without publishing anything real or exposing production systems.\",\"url\":\"https://docs.weelkit.com/integrations/testing-integrations\",\"mainEntityOfPage\":{\"@id\":\"https://docs.weelkit.com/integrations/testing-integrations#webpage\"},\"dateModified\":\"2026-10-15T08:38:10.676Z\",\"publisher\":{\"@id\":\"https://docs.weelkit.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.weelkit.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Weelkit\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Weelkit","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"Integrations","groups":[{"group":"Publishing overview","pages":[{"title":"Publishing integrations overview","icon":"sitemap","href":"/integrations/overview"},{"title":"Semantic HTML content","icon":"code","href":"/integrations/semantic-html"},{"title":"How each destination behaves","icon":"diagram-project","href":"/integrations/provider-behavior"},{"title":"Organization article fields","description":"Choose which default article fields Weelkit generates, and extend the contract with organization-owned custom fields that are validated, versioned, and delivered with every generated article.","icon":"list","href":"/integrations/organization-article-fields"},{"title":"Testing integrations","icon":"flask","href":"/integrations/testing-integrations"}]},{"group":"WordPress","pages":[{"title":"WordPress setup","description":"Connect a self-hosted WordPress site with the Weelkit Plugin, save your field mapping, and verify a test draft.","icon":"wordpress","href":"/integrations/wordpress/setup"}]},{"group":"WordPress.com","pages":[{"title":"WordPress.com setup","icon":"wordpress","href":"/integrations/wordpress-com/setup"}]},{"group":"Sanity","pages":[{"title":"Sanity setup","icon":"database","href":"/integrations/sanity/setup"}]},{"group":"Ghost","pages":[{"title":"Ghost setup","icon":"ghost","href":"/integrations/ghost/setup"}]},{"group":"API webhook","pages":[{"title":"Webhook setup","icon":"webhook","href":"/integrations/webhook/setup"},{"title":"Webhook payload","icon":"envelope","href":"/integrations/webhook/payload"},{"title":"Signature verification","icon":"shield-check","href":"/integrations/webhook/signature-verification"},{"title":"Receipts and retries","icon":"receipt","href":"/integrations/webhook/receipts-and-retries"}]},{"group":"Custom API","pages":[{"title":"Custom API overview","icon":"plug","href":"/integrations/custom-api/overview"},{"title":"Manifest","icon":"file-code","href":"/integrations/custom-api/manifest"},{"title":"Authentication","icon":"key","href":"/integrations/custom-api/authentication"},{"title":"Schema and limits","icon":"ruler","href":"/integrations/custom-api/schema-and-limits"},{"title":"Publishing","icon":"paper-plane","href":"/integrations/custom-api/publishing"}]}]},{"tab":"API reference","pages":[{"title":"API reference","href":"/api-reference/introduction"}]}]},"title":"Testing integrations - Weelkit","buildId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","deploymentId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","dynamics":[],"chunks":[]}