To help speed you up, Sailhouse self-heals where possible. If you try to send an event to a topic that doesn’t exist, it’s created dynamically. If you pull from a subscription that doesn’t exist, it’s created right there.It’s a core part of the platform, meaning more time in your code and less time updating and deploying schemas.
When you send an event to a topic that doesn’t exist, Sailhouse will create it using the slug you’ve provided.The event will then be stored against that topic, and no further action taken.
Pull subscriptions can be created with a time window value. This can be up to 24 hours, and the subscription will pull in all of the events from the topic in that time period.Push subscriptions cannot be created dynamically like this.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Sailhouse","colors":{"primary":"#ff8e3c","light":"#ff8e3c","dark":"#ff8e3c"},"logo":{"light":"https://mintcdn.com/sailhouse/YV_RX8UqlSyMKR-i/logo/light.svg?fit=max\u0026auto=format\u0026n=YV_RX8UqlSyMKR-i\u0026q=85\u0026s=728ed364a11a203156cb574800daf309","dark":"https://mintcdn.com/sailhouse/YV_RX8UqlSyMKR-i/logo/dark.svg?fit=max\u0026auto=format\u0026n=YV_RX8UqlSyMKR-i\u0026q=85\u0026s=68f8e39947f8b14654923d815840097e"},"favicon":"/favicon.png","api":{"openapi":["api-reference/openapi.json"]},"navbar":{"links":[{"label":"Support","href":"mailto:support@sailhouse.dev"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.sailhouse.dev"}},"footer":{"socials":{"twitter":"https://twitter.com/sailhousedev","github":"https://github.com/sailhouse","linkedin":"https://www.linkedin.com/company/sailhousedev"}},"integrations":{"plausible":{"domain":"docs.sailhouse.dev"}},"contextual":{"options":["copy","view"]},"navigation":{"global":{"anchors":[{"anchor":"Blog","icon":"newspaper","href":"https://sailhouse.dev/blog"},{"anchor":"Changelog","icon":"calendar","href":"https://sailhouse.dev/changelog"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"sailhouse","hasAudioNarration":false,"actualSubdomain":"sailhouse","customDomains":["docs.sailhouse.dev"],"gitSource":{"type":"github","owner":"sailhouse","repo":"docs-new","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21e61b4c43fec466d793e0","collectionId":"445c3c44-5a44-4cba-a367-954610034572","schemaVersion":"v2"},"entitlements":{},"buildId":"6a21e61b4c43fec466d793e0:success","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"Documentation","count":22},{"language":"default","tag":"Guides","count":7},{"language":"default","tag":"Concepts","count":5},{"language":"default","tag":"SDKs","count":5},{"language":"default","tag":"API Reference","count":4},{"language":"default","tag":"Processing","count":2},{"language":"default","tag":"Get Started","count":2},{"language":"default","tag":"Reference","count":2},{"language":"default","tag":"Sending events","count":1},{"language":"default","tag":"API Documentation","count":1}]},"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}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"concepts/self-healing","slug":"/concepts/self-healing","pageMetadata":{"title":"Self Healing","description":null,"href":"/concepts/self-healing"},"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`,..._provideComponents(),...props.components},{Heading}=_components;if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`To help speed you up, Sailhouse self-heals where possible. If you try to send an event to a topic that doesn’t exist, it’s created dynamically. If you pull from a subscription that doesn’t exist, it’s created right there.`}),`\n`,_jsx(_components.p,{children:`It’s a core part of the platform, meaning more time in your code and less time updating and deploying schemas.`}),`\n`,_jsx(Heading,{level:`2`,id:`topics`,children:`Topics`}),`\n`,_jsxs(_components.p,{children:[`When you send an event to a topic that doesn’t exist, Sailhouse will create it using the `,_jsx(_components.code,{children:`slug`}),` you’ve provided.`]}),`\n`,_jsx(_components.p,{children:`The event will then be stored against that topic, and no further action taken.`}),`\n`,_jsx(Heading,{level:`2`,id:`subscriptions`,children:`Subscriptions`}),`\n`,_jsxs(_components.p,{children:[`Pull subscriptions can be created with a `,_jsx(_components.a,{href:`/concepts/subscriptions#time-window`,children:`time window`}),` value. This can be up to 24 hours, and the subscription will pull in all of the events from the topic in that time period.`]}),`\n`,_jsx(_components.p,{children:`Push subscriptions cannot be created dynamically like this.`})]})}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":"Self Healing","description":null,"href":"/concepts/self-healing"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Topics","slug":"topics","depth":2,"children":[]},{"title":"Subscriptions","slug":"subscriptions","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"sailhouse","siteName":"Sailhouse","title":"Self Healing - Sailhouse","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-07T00:51:47.877Z","originalFileLocation":"concepts/self-healing.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"Sailhouse\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/sailhouse/LM-ZcuAYI-HuJw2M/_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/sailhouse/LM-ZcuAYI-HuJw2M/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/sailhouse/LM-ZcuAYI-HuJw2M/_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/sailhouse/LM-ZcuAYI-HuJw2M/_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/sailhouse/LM-ZcuAYI-HuJw2M/_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/sailhouse/LM-ZcuAYI-HuJw2M/_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/sailhouse/LM-ZcuAYI-HuJw2M/_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/sailhouse/LM-ZcuAYI-HuJw2M/_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/sailhouse/LM-ZcuAYI-HuJw2M/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Self Healing - Sailhouse\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Sailhouse\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.sailhouse.dev/concepts/self-healing\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://sailhouse.mintlify.app/_mintlify/api/og/v2?division=Concepts\u0026amp;title=Self+Healing\u0026amp;theme=3c0015df2b2c00cbd9c01ff0\u0026amp;signature=171242aea7cc2201e1d3c82f3517a7a559d730e7964005659dfe22f0d65e7b0e\">\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=\"Self Healing - Sailhouse\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://sailhouse.mintlify.app/_mintlify/api/og/v2?division=Concepts\u0026amp;title=Self+Healing\u0026amp;theme=3c0015df2b2c00cbd9c01ff0\u0026amp;signature=171242aea7cc2201e1d3c82f3517a7a559d730e7964005659dfe22f0d65e7b0e\">\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/sailhouse/LM-ZcuAYI-HuJw2M/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Sailhouse\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#ff8e3c\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.sailhouse.dev/concepts/self-healing\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/concepts/self-healing.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.sailhouse.dev/#organization\",\"name\":\"Sailhouse\",\"url\":\"https://docs.sailhouse.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/sailhouse/YV_RX8UqlSyMKR-i/logo/light.svg?fit=max\u0026auto=format\u0026n=YV_RX8UqlSyMKR-i\u0026q=85\u0026s=728ed364a11a203156cb574800daf309\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.sailhouse.dev#website\",\"name\":\"Sailhouse\",\"url\":\"https://docs.sailhouse.dev\",\"publisher\":{\"@id\":\"https://docs.sailhouse.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.sailhouse.dev/concepts/self-healing#webpage\",\"url\":\"https://docs.sailhouse.dev/concepts/self-healing\",\"name\":\"Self Healing\",\"dateModified\":\"2026-01-07T00:51:47.877Z\",\"isPartOf\":{\"@id\":\"https://docs.sailhouse.dev#website\"},\"breadcrumb\":{\"@id\":\"https://docs.sailhouse.dev/concepts/self-healing#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.sailhouse.dev/concepts/self-healing#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Concepts\",\"item\":\"https://docs.sailhouse.dev/concepts/topics\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Self Healing\",\"item\":\"https://docs.sailhouse.dev/concepts/self-healing\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.sailhouse.dev/concepts/self-healing#article\",\"headline\":\"Self Healing\",\"name\":\"Self Healing\",\"url\":\"https://docs.sailhouse.dev/concepts/self-healing\",\"mainEntityOfPage\":{\"@id\":\"https://docs.sailhouse.dev/concepts/self-healing#webpage\"},\"dateModified\":\"2026-01-07T00:51:47.877Z\",\"publisher\":{\"@id\":\"https://docs.sailhouse.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.sailhouse.dev#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Sailhouse\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Sailhouse","nav":{"global":{"anchors":[{"anchor":"Blog","icon":"newspaper","href":"https://sailhouse.dev/blog"},{"anchor":"Changelog","icon":"calendar","href":"https://sailhouse.dev/changelog"}]},"tabs":[{"tab":"Documentation","groups":[{"group":"Get Started","pages":[{"title":"Introduction","href":"/introduction"},{"title":"Quickstart","href":"/quickstart"}]},{"group":"Guides","pages":[{"title":"Sending events","href":"/guides/sending-events"},{"title":"Receiving push events","href":"/guides/receiving-push-events"},{"title":"Pulling events","href":"/guides/pulling-events"},{"title":"Workflows","href":"/guides/workflows"},{"title":"Cron jobs","href":"/guides/cron-jobs"},{"title":"Scheduling events","href":"/guides/scheduling-events"},{"title":"Advanced Filtering","href":"/guides/advanced-filtering"}]},{"group":"Concepts","pages":[{"title":"Topics","href":"/concepts/topics"},{"title":"Subscriptions","href":"/concepts/subscriptions"},{"title":"Events","description":null,"href":"/concepts/events"},{"title":"Self Healing","href":"/concepts/self-healing"},{"title":"Wait groups","description":null,"href":"/concepts/wait-groups"}]},{"group":"SDKs","pages":[{"title":"Introduction","href":"/sdks/introduction"},{"title":"TypeScript / JavaScript","icon":"js","href":"/sdks/typescript"},{"title":"Go","icon":"golang","href":"/sdks/go"},{"title":"Python (Beta)","icon":"python","href":"/sdks/python"},{"title":"Rust (Beta)","icon":"rust","href":"/sdks/rust"}]},{"group":"Observability","pages":[{"title":"Tracing events","href":"/observability/tracing"}]},{"group":"Reference","pages":[{"title":"Frequently Asked Questions","sidebarTitle":"Frequently Asked Questions","href":"/reference/faq"},{"title":"Tokens","href":"/reference/tokens"}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/introduction"}]},{"tab":"CLI","pages":[{"title":"CLI","href":"/cli-reference/introduction"}]}]},"basePath":"","title":"Self Healing - Sailhouse","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":[],"chunks":[]}