{"version":1,"pages":[{"id":"cto07tjPA9yhYINCIWZN","title":"Getting Started","pathname":"/","siteSpaceId":"sitesp_E7AcY","description":"Everything you need to go from signup to a working embedded integration — what Fastn is, how it works, and your first end-to-end build.","breadcrumbs":[{"label":"Fastn"}]},{"id":"RwbM6dQ6Acsfx1W6AGIv","title":"Overview","pathname":"/fastn/readme/getting-started","siteSpaceId":"sitesp_E7AcY","description":"What fastn does, who each part is for, and the path from signup to a live sync.","breadcrumbs":[{"label":"Fastn"},{"label":"Getting Started"}]},{"id":"BbqnvBllCaMbj80jWV6U","title":"Platform tour","pathname":"/fastn/readme/platform-tour","siteSpaceId":"sitesp_E7AcY","description":"A screen-by-screen walk through the dashboard, so you know where everything lives.","breadcrumbs":[{"label":"Fastn"},{"label":"Getting Started"}]},{"id":"O4k6wyetIArOc3OA749e","title":"Quickstart: your first integration","pathname":"/fastn/readme/quickstart","siteSpaceId":"sitesp_E7AcY","description":"From an empty workspace to a workflow running on a real trigger.","breadcrumbs":[{"label":"Fastn"},{"label":"Getting Started"}]},{"id":"4s3kc67A6SyowKUNXo1h","title":"Core concepts","pathname":"/fastn/readme/concepts","siteSpaceId":"sitesp_E7AcY","description":"The handful of ideas that everything else in fastn is built from.","breadcrumbs":[{"label":"Fastn"},{"label":"Getting Started"}]},{"id":"kXneDCsvBlXw54WpVByD","title":"Build","pathname":"/build/build","siteSpaceId":"sitesp_E7AcY","description":"Everything that defines how an integration behaves.","breadcrumbs":[{"label":"Build"}]},{"id":"OKnqjJeOLRLCVQ7rOqK0","title":"Agent","pathname":"/build/agent","siteSpaceId":"sitesp_E7AcY","description":"The chat-driven builder that picks connectors, drafts workflows and shows you the diff.","breadcrumbs":[{"label":"Build"}]},{"id":"sD5tKbMTwscypICW8x1Z","title":"Approval mode","pathname":"/build/agent/approval-mode","siteSpaceId":"sitesp_E7AcY","description":"How far the agent goes without checking in: Auto versus Manual.","breadcrumbs":[{"label":"Build"},{"label":"Agent"}]},{"id":"EYJPDLuy4J0uj7qpNz02","title":"Worked example","pathname":"/build/agent/worked-example","siteSpaceId":"sitesp_E7AcY","description":"A real HubSpot-to-Google-Sheets build, from plain-words prompt to bound trigger.","breadcrumbs":[{"label":"Build"},{"label":"Agent"}]},{"id":"j1VdyWVKKtH0vXVJHDwZ","title":"Connectors","pathname":"/build/connectors","siteSpaceId":"sitesp_E7AcY","description":"Every system your customers can authorise: managed, imported or built by you.","breadcrumbs":[{"label":"Build"}]},{"id":"1tEuDfJgpZDSayfgCD1s","title":"The catalogue","pathname":"/build/connectors/the-catalogue","siteSpaceId":"sitesp_E7AcY","description":"How the connector catalogue reads: badges, filters, card anatomy, and the counts that mislead.","breadcrumbs":[{"label":"Build"},{"label":"Connectors"}]},{"id":"Ktcf7RVhybrJgqJHODLR","title":"Inside a connector","pathname":"/build/connectors/inside-a-connector","siteSpaceId":"sitesp_E7AcY","description":"The three-pane connector detail view and its five tabs.","breadcrumbs":[{"label":"Build"},{"label":"Connectors"}]},{"id":"gK2YEVmiDx7fvyh3DsZj","title":"Connect a system","pathname":"/build/connectors/connect-a-system","siteSpaceId":"sitesp_E7AcY","description":"Making a connection, from picking the connector to confirming it landed.","breadcrumbs":[{"label":"Build"},{"label":"Connectors"}]},{"id":"FhUiuwZGr06PlJEVl4RZ","title":"Action detail","pathname":"/build/connectors/action-detail","siteSpaceId":"sitesp_E7AcY","description":"The seven tabs behind a single action, and how platform-owned actions differ.","breadcrumbs":[{"label":"Build"},{"label":"Connectors"}]},{"id":"fboO18qE8lI2SCagaHlG","title":"Creating a connector","pathname":"/build/connectors/creating-a-connector","siteSpaceId":"sitesp_E7AcY","description":"The Create connector dialog: identity, connection and authentication in one place.","breadcrumbs":[{"label":"Build"},{"label":"Connectors"}]},{"id":"rbJlySbxLrz1oqkacGw6","title":"Importing and exporting","pathname":"/build/connectors/importing-and-exporting","siteSpaceId":"sitesp_E7AcY","description":"Moving connector definitions in and out as JSON.","breadcrumbs":[{"label":"Build"},{"label":"Connectors"}]},{"id":"333TnWt6GTuwmpDt9G6Q","title":"Unified APIs","pathname":"/build/unified-apis","siteSpaceId":"sitesp_E7AcY","description":"One canonical endpoint per business entity, served by whichever providers your customers connect.","breadcrumbs":[{"label":"Build"}]},{"id":"sMbFLfZ7qMJrTWk8M6dR","title":"Inside a category","pathname":"/build/unified-apis/inside-a-category","siteSpaceId":"sitesp_E7AcY","description":"Opening a category: entities, connection state, providers and endpoints.","breadcrumbs":[{"label":"Build"},{"label":"Unified APIs"}]},{"id":"pycW4tHurOStZ6QOS3qr","title":"Unified vs direct","pathname":"/build/unified-apis/unified-vs-direct","siteSpaceId":"sitesp_E7AcY","description":"When to reach for a unified API and when to call the connector directly.","breadcrumbs":[{"label":"Build"},{"label":"Unified APIs"}]},{"id":"qMU4gxWjBoVtlplSiNpK","title":"Connections","pathname":"/build/connections","siteSpaceId":"sitesp_E7AcY","description":"Authenticated links between your customers and their systems.","breadcrumbs":[{"label":"Build"}]},{"id":"5X2oXoChHrKnQpLuEcHI","title":"Statuses","pathname":"/build/connections/statuses","siteSpaceId":"sitesp_E7AcY","description":"What Active, Inactive, Expired and Failed mean, and what to do about each.","breadcrumbs":[{"label":"Build"},{"label":"Connections"}]},{"id":"AvKQtJNoUnJfw9yhBIq2","title":"Auth types","pathname":"/build/connections/auth-types","siteSpaceId":"sitesp_E7AcY","description":"The two shapes a connection's credential takes: OAuth and Custom/INPUT.","breadcrumbs":[{"label":"Build"},{"label":"Connections"}]},{"id":"UO7CZJNB3IGoBlux7eYF","title":"Inside a connection","pathname":"/build/connections/inside-a-connection","siteSpaceId":"sitesp_E7AcY","description":"The four sections of a connection's detail view.","breadcrumbs":[{"label":"Build"},{"label":"Connections"}]},{"id":"efIh4jJoAzlTCZc8WCMQ","title":"Creating a connection","pathname":"/build/connections/creating-a-connection","siteSpaceId":"sitesp_E7AcY","description":"Making a connection yourself with New connection, and when to.","breadcrumbs":[{"label":"Build"},{"label":"Connections"}]},{"id":"wmavv2wpRINnHmfQxttZ","title":"Workflows","pathname":"/build/workflows","siteSpaceId":"sitesp_E7AcY","description":"The code that runs on a trigger, a schedule, or an agent call.","breadcrumbs":[{"label":"Build"}]},{"id":"rYsk6gFAtqvc1vTsWBF9","title":"The editor","pathname":"/build/workflows/the-editor","siteSpaceId":"sitesp_E7AcY","description":"The workflow editor walked through tab by tab, plus the configuration panel reference.","breadcrumbs":[{"label":"Build"},{"label":"Workflows"}]},{"id":"XPlBFQvs289Qc21asaBu","title":"The tabs","pathname":"/build/workflows/the-tabs","siteSpaceId":"sitesp_E7AcY","description":"Every tool tab in the editor: Test, Connectors, Contract, Diagram, Test cases, Executions, Sync reports, API and Docs.","breadcrumbs":[{"label":"Build"},{"label":"Workflows"}]},{"id":"7QPU1qylk5r6JoAqrOdj","title":"Lifecycle","pathname":"/build/workflows/lifecycle","siteSpaceId":"sitesp_E7AcY","description":"How a workflow goes from draft to deployed, review gates, and code-off workspaces.","breadcrumbs":[{"label":"Build"},{"label":"Workflows"}]},{"id":"udSXgbn9m4ToFHSWkJEr","title":"Triggers","pathname":"/build/triggers","siteSpaceId":"sitesp_E7AcY","description":"What starts a workflow: an inbound webhook, a schedule, or an event from a connected system.","breadcrumbs":[{"label":"Build"}]},{"id":"BQTEMnRLoidHTiV0MOXL","title":"Webhook triggers","pathname":"/build/triggers/webhooks","siteSpaceId":"sitesp_E7AcY","description":"A trigger that fires when another system calls a URL you give it.","breadcrumbs":[{"label":"Build"},{"label":"Triggers"}]},{"id":"fleYsYr5IP2fso5rIDX6","title":"Schedule triggers","pathname":"/build/triggers/schedulers","siteSpaceId":"sitesp_E7AcY","description":"A trigger that fires on a clock you set.","breadcrumbs":[{"label":"Build"},{"label":"Triggers"}]},{"id":"bQGIH549l9xaYDxX9XOw","title":"App event triggers","pathname":"/build/triggers/app-events","siteSpaceId":"sitesp_E7AcY","description":"A trigger that fires when something changes in a connected system.","breadcrumbs":[{"label":"Build"},{"label":"Triggers"}]},{"id":"t1ZB16apkZ5UJn2FKF4J","title":"Pending updates","pathname":"/build/connector-updates","siteSpaceId":"sitesp_E7AcY","description":"Vendor changes to the integrations you use, and the fixes proposed for them. Nothing is applied until you accept it.","breadcrumbs":[{"label":"Build"}]},{"id":"XxuqmTRR0UCbPYxXrFQ5","title":"MCP gateway","pathname":"/build/mcp-gateway","siteSpaceId":"sitesp_E7AcY","description":"Letting an AI client reach your connectors as tools.","breadcrumbs":[{"label":"Build"}]},{"id":"XN3OuSwdVOUG56y4CDuw","title":"Common patterns","pathname":"/build/patterns","siteSpaceId":"sitesp_E7AcY","description":"The handful of workflow shapes that come up again and again.","breadcrumbs":[{"label":"Build"}]},{"id":"Y1hOhvP3e2BcJiZwvhan","title":"Widgets","pathname":"/embed/embed","siteSpaceId":"sitesp_E7AcY","description":"The integrations panel your customers see inside your own product.","breadcrumbs":[{"label":"Embed"}]},{"id":"m6Jyz4nFaK4WsU5PgAlq","title":"Widget builder","pathname":"/embed/widget-builder","siteSpaceId":"sitesp_E7AcY","description":"Integrations, layout, style and features of the panel your customers see.","breadcrumbs":[{"label":"Embed"}]},{"id":"kxAd7ZcOUpZLJq031zsR","title":"Layout","pathname":"/embed/widget-builder/layout","siteSpaceId":"sitesp_E7AcY","description":"The Layout tab: header content and the sections your customers see.","breadcrumbs":[{"label":"Embed"},{"label":"Widget builder"}]},{"id":"xev5D3Lwyknph1BrZuVj","title":"Style","pathname":"/embed/widget-builder/style","siteSpaceId":"sitesp_E7AcY","description":"The Style tab: theme, accent, type, shape and design tokens.","breadcrumbs":[{"label":"Embed"},{"label":"Widget builder"}]},{"id":"08dpxjWMlXWoeES6i6Pb","title":"Features","pathname":"/embed/widget-builder/features","siteSpaceId":"sitesp_E7AcY","description":"The Features tab: optional capabilities your customers get inside the widget.","breadcrumbs":[{"label":"Embed"},{"label":"Widget builder"}]},{"id":"gKs7Ck4m4Is3GrS9VPp6","title":"Embedding the widget","pathname":"/embed/embedding","siteSpaceId":"sitesp_E7AcY","description":"Three ways to put the widget in your product, and how to hand it a token safely.","breadcrumbs":[{"label":"Embed"}]},{"id":"pxahOXtnRwKcUo9Z6HFX","title":"Iframe","pathname":"/embed/embedding/iframe","siteSpaceId":"sitesp_E7AcY","description":"The simplest embed: an HTML iframe tag.","breadcrumbs":[{"label":"Embed"},{"label":"Embedding the widget"}]},{"id":"SHH2tWQQKcoTKMWLHzpH","title":"SDK","pathname":"/embed/embedding/sdk","siteSpaceId":"sitesp_E7AcY","description":"The SDK mounts the same iframe and adds events, token refresh, theming and modal mode.","breadcrumbs":[{"label":"Embed"},{"label":"Embedding the widget"}]},{"id":"7MljScJtBUPooyQlViKC","title":"Token API","pathname":"/embed/embedding/token-api","siteSpaceId":"sitesp_E7AcY","description":"Minting and refreshing embed tokens from your backend, and the session cap.","breadcrumbs":[{"label":"Embed"},{"label":"Embedding the widget"}]},{"id":"gld7yCVfKHf2JMSy4z7t","title":"Activity","pathname":"/operate/operate","siteSpaceId":"sitesp_E7AcY","description":"Watching what actually happens once integrations are live.","breadcrumbs":[{"label":"Operate"}]},{"id":"uKrYlvduALiKhqOl3L7F","title":"Events","pathname":"/operate/events","siteSpaceId":"sitesp_E7AcY","description":"Everything moving in and out of your customers' systems, newest first.","breadcrumbs":[{"label":"Operate"}]},{"id":"hzJxoopcb86mTD92h0HH","title":"Traces","pathname":"/operate/traces","siteSpaceId":"sitesp_E7AcY","description":"Every workflow run that called a connected system.","breadcrumbs":[{"label":"Operate"}]},{"id":"bjRdiQgJyp4PwqmGqnDa","title":"Alerts","pathname":"/operate/alerts","siteSpaceId":"sitesp_E7AcY","description":"Get told when something crosses a line you care about. Checked every 15 minutes.","breadcrumbs":[{"label":"Operate"}]},{"id":"hNGsTcOrA2MhJVKdve42","title":"Executions","pathname":"/operate/executions","siteSpaceId":"sitesp_E7AcY","description":"Every workflow run, newest first.","breadcrumbs":[{"label":"Operate"}]},{"id":"gSgFVei9kCzaCJRPBlqh","title":"Sync reports","pathname":"/operate/sync-reports","siteSpaceId":"sitesp_E7AcY","description":"What changed on the last run of each sync, record by record.","breadcrumbs":[{"label":"Operate"}]},{"id":"iJg2MFvhjLd5zhC6cnTH","title":"Customers","pathname":"/operate/customers","siteSpaceId":"sitesp_E7AcY","description":"Every customer using your embedded integrations.","breadcrumbs":[{"label":"Operate"}]},{"id":"mS4q81bmNLtU2OyzNJwx","title":"Troubleshooting","pathname":"/operate/troubleshooting","siteSpaceId":"sitesp_E7AcY","description":"Symptom, where to look, and what usually fixes it.","breadcrumbs":[{"label":"Operate"}]},{"id":"j7g8ftODgmh4EXYqyaRi","title":"Settings","pathname":"/manage/manage","siteSpaceId":"sitesp_E7AcY","description":"Organisation settings, access, credentials and billing.","breadcrumbs":[{"label":"Manage"}]},{"id":"1xoa7ys9ct8U6gcaIt56","title":"People","pathname":"/manage/people","siteSpaceId":"sitesp_E7AcY","description":"Who can see and change things in this workspace.","breadcrumbs":[{"label":"Manage"}]},{"id":"77QHtoGMf0SrvnYOP9yw","title":"Roles","pathname":"/manage/roles","siteSpaceId":"sitesp_E7AcY","description":"What each role can do, and how to narrow one.","breadcrumbs":[{"label":"Manage"}]},{"id":"Tg5RnDnWIyCtJUJWpfgt","title":"General","pathname":"/manage/general","siteSpaceId":"sitesp_E7AcY","description":"Your organisation and how people join it.","breadcrumbs":[{"label":"Manage"}]},{"id":"S1y9GBkiTbyXAKxOVINZ","title":"API keys","pathname":"/manage/api-keys","siteSpaceId":"sitesp_E7AcY","description":"Programmatic access to your workspace.","breadcrumbs":[{"label":"Manage"}]},{"id":"iZBsOKBSUjOuf2tbygBX","title":"Secrets","pathname":"/manage/secrets","siteSpaceId":"sitesp_E7AcY","description":"Encrypted values your workflows read at runtime.","breadcrumbs":[{"label":"Manage"}]},{"id":"O0DH3VmACXzoxOllio1Q","title":"Configs","pathname":"/manage/configs","siteSpaceId":"sitesp_E7AcY","description":"Values your workflow code reads per environment.","breadcrumbs":[{"label":"Manage"}]},{"id":"zzao7dwQhhxpgPHufxNl","title":"Environments and GitHub","pathname":"/manage/environments","siteSpaceId":"sitesp_E7AcY","description":"Deployment stages, and the GitHub review gate in front of them.","breadcrumbs":[{"label":"Manage"}]},{"id":"6jA20HJ4HyQUBfhFLQM2","title":"Database","pathname":"/manage/database","siteSpaceId":"sitesp_E7AcY","description":"Which Postgres your workflows read and write through.","breadcrumbs":[{"label":"Manage"}]},{"id":"5a4TpkEvQX0dHmyefG6Q","title":"SaaS Connectors","pathname":"/manage/saas-connectors","siteSpaceId":"sitesp_E7AcY","description":"Registering your own SaaS API as a connector, and the scopes tenants connect under.","breadcrumbs":[{"label":"Manage"}]},{"id":"f2O3fd5rTCAarPOMIF3M","title":"Billing and limits","pathname":"/manage/billing","siteSpaceId":"sitesp_E7AcY","description":"Your plan, what you have used, and where the ceilings are.","breadcrumbs":[{"label":"Manage"}]},{"id":"4u0xD9C00P9CB092Y7WJ","title":"Audit log","pathname":"/manage/audit-log","siteSpaceId":"sitesp_E7AcY","description":"Every action taken in this organisation.","breadcrumbs":[{"label":"Manage"}]},{"id":"leI9KSS2BuPs9qn4PF18","title":"Trash","pathname":"/manage/trash","siteSpaceId":"sitesp_E7AcY","description":"Deleted connectors, actions and workflows, kept until you remove them.","breadcrumbs":[{"label":"Manage"}]},{"id":"ABxxcQtMkrSaTuhRvHMp","title":"Your profile","pathname":"/manage/profile","siteSpaceId":"sitesp_E7AcY","description":"Your account and how you sign in. Organisation settings live separately.","breadcrumbs":[{"label":"Manage"}]},{"id":"lMp8P8G4XBq7Bfo6Ee31","title":"Workflow runtime API","pathname":"/reference/workflow-runtime","siteSpaceId":"sitesp_E7AcY","description":"What a workflow can reach at runtime: ctx, multi-tenant headers, connectors, unified APIs, database, state, secrets and configs.","breadcrumbs":[{"label":"Reference"}]},{"id":"L0Uy0BpDcjG2NS8pO1E4","title":"HTTP API","pathname":"/reference/api","siteSpaceId":"sitesp_E7AcY","description":"Calling workflows and unified endpoints over HTTP.","breadcrumbs":[{"label":"Reference"}]},{"id":"tSo8rJ4NOHvTPE8qZcDw","title":"Errors and failure states","pathname":"/reference/errors","siteSpaceId":"sitesp_E7AcY","description":"What each failure state means, where fastn shows you the detail, and what to do about it.","breadcrumbs":[{"label":"Reference"}]},{"id":"vC142p0fMWIrir9peFNO","title":"fastn for AI agents","pathname":"/reference/ai-agents","siteSpaceId":"sitesp_E7AcY","description":"A single dense page for LLMs and coding agents: the model, the runtime surface, the endpoints, and the things that are easy to get wrong.","breadcrumbs":[{"label":"Reference"}]},{"id":"KfUo3n2dw1Rm22Z4TOb6","title":"FAQs","pathname":"/reference/faqs","siteSpaceId":"sitesp_E7AcY","description":"Short answers to the questions that come up most.","breadcrumbs":[{"label":"Reference"}]},{"id":"13g63rCq7uTzATFdzRBT","title":"Glossary","pathname":"/reference/glossary","siteSpaceId":"sitesp_E7AcY","description":"Alphabetized definitions of every term used across the Fastn platform and documentation.","breadcrumbs":[{"label":"Reference"}]}]}