Hook custom code into the editor with window.ppDesignerInitialized, invoked by both the client and frame once the event bus is ready.
We have implemented an easy way of integrating your custom code to the editor using the the ppDesignerInitialized method which can be hooked to the global page. This method is invoked once the app has started and the event bus is ready for use.
window.ppDesignerInitialized = function(_class) { if (_class.name === 'client') { // this was invoked by the client } else if (_class.name === 'frame') { // this was invoked by the frame }}
As explained in the section Events, version 9 loads the app in an iFrame, which is created by a client class sitting on the parent page (your page). Both the frame and client gets to invoke your function if placed in the customJs section of your settings page.
Listen for and fire events on the PitchPrint client.
Initialization Options
All the options you can pass when creating a PitchPrint client instance.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"PitchPrint","colors":{"primary":"#6022E7","light":"#8B5CF6","dark":"#4C1BC4"},"logo":{"light":"https://mintcdn.com/pitchprint/lFqp-OsyXnf1Fc9b/brand/logo/light.svg?fit=max\u0026auto=format\u0026n=lFqp-OsyXnf1Fc9b\u0026q=85\u0026s=ec857289e0ade69316f8eff623821ad8","dark":"https://mintcdn.com/pitchprint/lFqp-OsyXnf1Fc9b/brand/logo/dark.svg?fit=max\u0026auto=format\u0026n=lFqp-OsyXnf1Fc9b\u0026q=85\u0026s=504b6c4556dad8a811dd61d2b802ecce"},"favicon":"https://mintcdn.com/pitchprint/lFqp-OsyXnf1Fc9b/brand/favicon.svg?fit=max\u0026auto=format\u0026n=lFqp-OsyXnf1Fc9b\u0026q=85\u0026s=b6f4f01ffcc134da4657f0b0d0a1b395","navbar":{"links":[{"href":"https://pitchprint.com","label":"Website"}],"primary":{"type":"button","label":"Dashboard","href":"https://admin.pitchprint.com/login"}},"footer":{"socials":{"x":"https://x.com/pitchprint","github":"https://github.com/pitchprint","linkedin":"https://linkedin.com/company/pitchprint"},"links":[{"header":"Product","items":[{"label":"PitchPrint","href":"https://pitchprint.com"},{"label":"Dashboard","href":"https://pitchprint.com/dashboard"}]},{"header":"Blog","items":[{"label":"Articles","href":"/blog/posts/ai-studio"},{"label":"Releases","href":"/blog/releases/2026"}]}]},"errors":{"404":{"redirect":false,"title":"Page not found","description":"This page may have moved when we rebuilt the docs. Try [search](/docs), the [installation guides](/docs/documentation/which-framework-should-i-pick), or the [API reference](/docs/api-reference/introduction). Still stuck? Email [support@pitchprint.com](mailto:support@pitchprint.com)."}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Demos","icon":"circle-play","href":"https://wp.demo.pitchprint.io"},{"anchor":"Support","icon":"envelope","href":"mailto:support@pitchprint.com"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"pitchprint","hasAudioNarration":false,"actualSubdomain":"pitchprint","customDomains":["pitchprint.com"],"gitSource":{"type":"github","owner":"pitchprint","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"collectionId":"8b3f5e9d-7001-4a57-9541-4a2322cc6249","liveDeploymentHistoryId":"6ad5d0509685d528bc7fa825","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad5d0509685d528bc7fa825"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ad5d0509685d528bc7fa825","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"default","tag":"Documentation","count":154},{"language":"default","tag":"Tutorial","count":91},{"language":"default","tag":"Blog","count":39},{"language":"default","tag":"Tips 'n Tricks","count":32},{"language":"default","tag":"Admin Guide","count":27},{"language":"default","tag":"Using Modules","count":20},{"language":"default","tag":"API Reference","count":19},{"language":"default","tag":"Articles","count":14},{"language":"default","tag":"Installation Guide","count":12},{"language":"default","tag":"Sample Solutions","count":11}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"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":"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":"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":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"header button[aria-haspopup=menu],nav button[aria-haspopup=menu]{display:none!important}"}],"page":{"pagePath":"docs/api-reference/designer-ready-method","slug":"/docs/api-reference/designer-ready-method","pageMetadata":{"title":"Designer ready method","description":"Hook custom code into the editor with window.ppDesignerInitialized, invoked by both the client and frame once the event bus is ready.","href":"/docs/api-reference/designer-ready-method"},"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: \"Hook custom code into the editor with window.ppDesignerInitialized, invoked by both the client and frame once the event bus is ready.\"\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`,pre:`pre`,span:`span`,..._provideComponents(),...props.components},{Card,CardGroup,CodeBlock,Heading}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`We have implemented an easy way of integrating your custom code to the editor using the the ppDesignerInitialized method which can be hooked to the global page. This method is invoked once the app has started and the event bus is ready for use.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`javascript`,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:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`ppDesignerInitialized`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` function`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`_class`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`\tif`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`_class`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ===`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'client'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`\t\t// this was invoked by the client`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\t} `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`else`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`_class`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ===`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'frame'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`\t\t// this was invoked by the frame`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\t}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`As explained in the section `,_jsx(_components.a,{href:`/docs/api-reference/events`,children:`Events`}),`, version 9 loads the app in an iFrame, which is created by a client class sitting on the parent page (your page). Both the frame and client gets to invoke your function if placed in the customJs section of your `,_jsx(_components.a,{href:`https://admin.pitchprint.io/settings`,children:`settings page`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`related-articles`,children:`Related articles`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Events`,icon:`bell`,href:`/docs/api-reference/events`,children:_jsx(_components.p,{children:`Listen for and fire events on the PitchPrint client.`})}),_jsx(Card,{title:`Initialization Options`,icon:`sliders`,href:`/docs/api-reference/initialization-options`,children:_jsx(_components.p,{children:`All the options you can pass when creating a PitchPrint client instance.`})})]})]})}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":"Designer ready method","description":"Hook custom code into the editor with window.ppDesignerInitialized, invoked by both the client and frame once the event bus is ready.","href":"/docs/api-reference/designer-ready-method"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Related articles","slug":"related-articles","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/pitchprint/886e30c9af4224f6/scripts/convert-to-markdown.js","/_mintlify/custom/pitchprint/c953c1c1f34b6af4/scripts/example.js","/_mintlify/custom/pitchprint/14cc91d930d58432/scripts/helpscout.js","/_mintlify/custom/pitchprint/8f78fad523c4930d/scripts/publish-to-docs.js","/_mintlify/custom/pitchprint/8be7daf1bdca8db0/scripts/generate-blog-summaries.js","/_mintlify/custom/pitchprint/fc72494a10805019/scripts/ingest-new.js","/_mintlify/custom/pitchprint/dec987e667653622/scripts/report-drift.js","/_mintlify/custom/pitchprint/e456009a2e9f0ad5/scripts/registry.js","/_mintlify/custom/pitchprint/13fc4b20d6eac8f8/scripts/fetch-blog-releases.js"],"subdomain":"pitchprint","siteName":"PitchPrint","title":"Designer ready method - PitchPrint","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-17T19:31:59.351Z","originalFileLocation":"docs/api-reference/designer-ready-method.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=\"Hook custom code into the editor with window.ppDesignerInitialized, invoked by both the client and frame once the event bus is ready.\">\u003cmeta data-mint-head name=\"application-name\" content=\"PitchPrint\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/pitchprint/6gqAs1_dwfh54HA4/_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/pitchprint/6gqAs1_dwfh54HA4/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/pitchprint/6gqAs1_dwfh54HA4/_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/pitchprint/6gqAs1_dwfh54HA4/_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/pitchprint/6gqAs1_dwfh54HA4/_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/pitchprint/6gqAs1_dwfh54HA4/_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/pitchprint/6gqAs1_dwfh54HA4/_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/pitchprint/6gqAs1_dwfh54HA4/_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/pitchprint/6gqAs1_dwfh54HA4/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Designer ready method - PitchPrint\">\u003cmeta data-mint-head property=\"og:description\" content=\"Hook custom code into the editor with window.ppDesignerInitialized, invoked by both the client and frame once the event bus is ready.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"PitchPrint\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://pitchprint.com/docs/api-reference/designer-ready-method\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://pitchprint.mintlify.app/_mintlify/api/og/v2?division=Designer+API\u0026amp;title=Designer+ready+method\u0026amp;description=Hook+custom+code+into+the+editor+with+window.ppDesignerInitialized%2C+invoked+by+both+the+client+and+frame+once+the+event+bus+is+ready.\u0026amp;theme=597b42b10e9ef5f4e0b4869a\u0026amp;signature=5bb3b20f10551041c54020c7eb223f1f14dbe70a371bf79ed2a99b86b67d1523\">\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=\"Designer ready method - PitchPrint\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Hook custom code into the editor with window.ppDesignerInitialized, invoked by both the client and frame once the event bus is ready.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://pitchprint.mintlify.app/_mintlify/api/og/v2?division=Designer+API\u0026amp;title=Designer+ready+method\u0026amp;description=Hook+custom+code+into+the+editor+with+window.ppDesignerInitialized%2C+invoked+by+both+the+client+and+frame+once+the+event+bus+is+ready.\u0026amp;theme=597b42b10e9ef5f4e0b4869a\u0026amp;signature=5bb3b20f10551041c54020c7eb223f1f14dbe70a371bf79ed2a99b86b67d1523\">\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/pitchprint/6gqAs1_dwfh54HA4/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"PitchPrint\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6022E7\">\u003clink data-mint-head rel=\"canonical\" href=\"https://pitchprint.com/docs/api-reference/designer-ready-method\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/api-reference/designer-ready-method.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://pitchprint.com/#organization\",\"name\":\"PitchPrint\",\"url\":\"https://pitchprint.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/pitchprint/lFqp-OsyXnf1Fc9b/brand/logo/light.svg?fit=max\u0026auto=format\u0026n=lFqp-OsyXnf1Fc9b\u0026q=85\u0026s=ec857289e0ade69316f8eff623821ad8\"}},{\"@type\":\"WebSite\",\"@id\":\"https://pitchprint.com#website\",\"name\":\"PitchPrint\",\"url\":\"https://pitchprint.com\",\"publisher\":{\"@id\":\"https://pitchprint.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://pitchprint.com/docs/api-reference/designer-ready-method#webpage\",\"url\":\"https://pitchprint.com/docs/api-reference/designer-ready-method\",\"name\":\"Designer ready method\",\"description\":\"Hook custom code into the editor with window.ppDesignerInitialized, invoked by both the client and frame once the event bus is ready.\",\"dateModified\":\"2026-08-17T19:31:59.351Z\",\"isPartOf\":{\"@id\":\"https://pitchprint.com#website\"},\"breadcrumb\":{\"@id\":\"https://pitchprint.com/docs/api-reference/designer-ready-method#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://pitchprint.com/docs/api-reference/designer-ready-method#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"PitchPrint\",\"item\":\"https://pitchprint.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Designer ready method\",\"item\":\"https://pitchprint.com/docs/api-reference/designer-ready-method\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://pitchprint.com/docs/api-reference/designer-ready-method#article\",\"headline\":\"Designer ready method\",\"name\":\"Designer ready method\",\"description\":\"Hook custom code into the editor with window.ppDesignerInitialized, invoked by both the client and frame once the event bus is ready.\",\"url\":\"https://pitchprint.com/docs/api-reference/designer-ready-method\",\"mainEntityOfPage\":{\"@id\":\"https://pitchprint.com/docs/api-reference/designer-ready-method#webpage\"},\"dateModified\":\"2026-08-17T19:31:59.351Z\",\"publisher\":{\"@id\":\"https://pitchprint.com/#organization\"},\"isPartOf\":{\"@id\":\"https://pitchprint.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"PitchPrint\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"PitchPrint","nav":{"global":{"anchors":[{"anchor":"Demos","icon":"circle-play","href":"https://wp.demo.pitchprint.io"},{"anchor":"Support","icon":"envelope","href":"mailto:support@pitchprint.com"}]},"products":[{"product":"Documentation","icon":"book","tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/docs"}]},{"tab":"Tutorial","pages":[{"title":"Tutorial","href":"/docs/tutorial/overview"}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"API overview","href":"/docs/api-reference/introduction"},{"title":"Generate your auth keys","href":"/docs/api-reference/generate-your-auth-keys"},{"title":"Authentication","href":"/docs/api-reference/auth-signature"}]},{"group":"Custom Integration","pages":[{"title":"Integration","href":"/docs/api-reference/integration"},{"title":"After Save","href":"/docs/api-reference/after-save"},{"title":"My Account - Saved Projects","description":"Build a saved-projects area on a custom site: initialize the client, fetch recent projects, then let customers view or delete them.","href":"/docs/api-reference/custom-integration-my-account"}]},{"group":"Designer API","pages":[{"title":"Designer ready method","href":"/docs/api-reference/designer-ready-method"},{"title":"Events","description":"Listen for and fire events on the PitchPrintClient class, with the full list of events the app dispatches and accepts.","href":"/docs/api-reference/events"},{"title":"Initialization Options","href":"/docs/api-reference/initialization-options"}]},{"group":"Runtime API","pages":[{"title":"Fetch Design Categories","openapi":"POST /runtime/fetch-design-categories","href":"/docs/api-reference/fetch-design-categories"},{"title":"Fetch Designs","openapi":"POST /runtime/fetch-designs","href":"/docs/api-reference/fetch-designs"},{"title":"Fetch Design","openapi":"POST /runtime/fetch-design","href":"/docs/api-reference/fetch-design"},{"title":"Fetch Design Previews","openapi":"POST /runtime/fetch-design-previews","href":"/docs/api-reference/fetch-design-previews"},{"title":"Fetch Project","openapi":"POST /runtime/fetch-project","href":"/docs/api-reference/fetch-project"},{"title":"Fetch User Projects","openapi":"POST /runtime/fetch-user-projects","href":"/docs/api-reference/fetch-user-projects"},{"title":"Clone Project","openapi":"POST /runtime/clone-project","href":"/docs/api-reference/clone-project"},{"title":"Render PDF \u0026 Raster","openapi":"GET /{projectId}","href":"/docs/api-reference/render-pdf-raster"}]},{"group":"Developer Knowledge Base","pages":[{"title":"Adding Pages Programmatically","href":"/docs/api-reference/adding-pages-programmatically"},{"title":"PPCLIENT PROPS","href":"/docs/api-reference/ppclient-props"}]}]}]},{"product":"Blog","icon":"newspaper","pages":[{"title":"Blog","href":"/blog"}]}]},"title":"Designer ready method - PitchPrint","buildId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","deploymentId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","dynamics":[],"chunks":[]}