Ask Figr to find the empty states, errors, permissions and data-limit cases a screen or flow needs, then design the ones that matter.
Find what can go wrong before your users do.
Edge cases are the situations a happy-path design misses: empty states, errors, slow connections, permissions, long names, and users who do things in an unexpected order. Figr looks at your screen or flow and lists the cases worth designing for.
1
Bring in what you want to check
Select a screen, flow or prototype on your canvas, or add a screenshot of a live screen with Add context in the chat box.
2
Tell Figr your rules
If the flow depends on roles, limits or product rules, mention them in your message or attach the PRD, so Figr checks against how your product really works.
3
Ask Figr to map the edge cases
For example: “What edge cases should we design for on this checkout flow?”
4
Review the list
Figr lists the cases worth designing for, such as empty states, errors, permissions and data limits. Decide which ones need a design.
Figr maps the happy path and every state around it.
Map edge cases before handoff, not after. It’s cheaper to design an error state now than to fix it once it ships.
5
Design the ones that matter
Ask Figr to design the screens or states for the cases you picked. For example: “Design the payment failed and expired card states.”
{"docsConfig":{"theme":"maple","$schema":"https://mintlify.com/docs.json","name":"Figr AI Docs","description":"Figr is an AI product design agent for teams building on an existing product. These docs cover adding context, setting up your design system, creating prototypes, flows and PRDs, working on the canvas, and handing off to Figma and code.","colors":{"primary":"#695BE8","light":"#ACA3FF","dark":"#5B50B9"},"logo":{"light":"https://mintcdn.com/figr-1af7ae64/cM9H6DRd9CPLHDAV/logo/light.svg?fit=max\u0026auto=format\u0026n=cM9H6DRd9CPLHDAV\u0026q=85\u0026s=001dc7d33aee1df6f5a6248e52b2df1f","dark":"https://mintcdn.com/figr-1af7ae64/cM9H6DRd9CPLHDAV/logo/dark.svg?fit=max\u0026auto=format\u0026n=cM9H6DRd9CPLHDAV\u0026q=85\u0026s=e584ed008a9ef6de1884d2a211b90e36"},"favicon":"https://mintcdn.com/figr-1af7ae64/cDBtHSK2adHsdjTI/favicon.svg?fit=max\u0026auto=format\u0026n=cDBtHSK2adHsdjTI\u0026q=85\u0026s=3ce318ff6dc5c3531973eb046e22d183","appearance":{"default":"light"},"background":{"decoration":"gradient"},"navbar":{"primary":{"type":"button","label":"Design with Figr AI ↗","href":"https://app.figr.design"}},"footer":{"socials":{"x":"https://x.com/FigrDesign","instagram":"https://www.instagram.com/designwithfigr","linkedin":"https://in.linkedin.com/company/figrdesign","website":"https://figr.design/","youtube":"https://www.youtube.com/@Figr_design"}},"seo":{"metatags":{"og:type":"website","og:site_name":"Figr AI Docs","og:image":"https://docs.figr.design/images/04-01-canvas-overview.png","twitter:card":"summary_large_image","twitter:image":"https://docs.figr.design/images/04-01-canvas-overview.png"},"indexing":"navigable"},"integrations":{"ga4":{"measurementId":"G-ZH1YR36TK8"}},"errors":{"404":{"redirect":false,"title":"This page has moved or no longer exists","description":"Try [What is Figr](/), the [Quickstart](/getting-started/setup/creating-your-account), or [Export options](/export/options). You can also search the docs with ⌘K."}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Documentation","icon":"book","href":"https://docs.figr.design/"},{"anchor":"Talk to Us","icon":"comments","href":"https://figr.design/contact"},{"anchor":"Blog","icon":"books","href":"https://figr.design/blog"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"figr-1af7ae64","hasAudioNarration":false,"actualSubdomain":"figr-1af7ae64","customDomains":["docs.figr.design"],"gitSource":{"type":"github","owner":"mokshgarg003","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"entitlements":{},"buildId":"6ad9db34383567486ff7179f","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"default","tag":"Docs","count":57},{"language":"default","tag":"Work on the canvas","count":9},{"language":"default","tag":"What Figr does","count":9},{"language":"default","tag":"Add context","count":7},{"language":"default","tag":"Create with Figr","count":7},{"language":"default","tag":"Set up your design system","count":7},{"language":"default","tag":"Export and Share","count":6},{"language":"default","tag":"Set up team context","count":4},{"language":"default","tag":"Security \u0026 Legal","count":4},{"language":"default","tag":"Design new work","count":3}]},"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":"rbac-expansion","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":"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":"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":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"getting-started/tutorial/map-edge-cases","slug":"/getting-started/tutorial/map-edge-cases","pageMetadata":{"title":"Map edge cases","sidebarTitle":"Map edge cases","icon":"triangle-exclamation","description":"Ask Figr to find the empty states, errors, permissions and data-limit cases a screen or flow needs, then design the ones that matter.","href":"/getting-started/tutorial/map-edge-cases"},"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: \"Ask Figr to find the empty states, errors, permissions and data-limit cases a screen or flow needs, then design the ones that matter.\"\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={em:`em`,p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Card,CardGroup,Frame,Heading,OptimizedFrame,OptimizedImage,Step,Steps,Tip}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedFrame)_missingMdxReference(`OptimizedFrame`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:_jsx(_components.em,{children:`Find what can go wrong before your users do.`})}),`\n`,_jsx(OptimizedFrame,{src:`https://www.youtube.com/embed/1hAOPDLPCuU`,title:`Map UX edge cases and user flows with Figr AI`,frameBorder:`0`,className:`mint-w-full mint-aspect-video mint-rounded-xl`,allow:`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share`,allowFullScreen:true}),`\n`,_jsx(_components.p,{children:`Edge cases are the situations a happy-path design misses: empty states, errors, slow connections, permissions, long names, and users who do things in an unexpected order. Figr looks at your screen or flow and lists the cases worth designing for.`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Bring in what you want to check`,children:[_jsxs(_components.p,{children:[`Select a screen, flow or prototype on your canvas, or add a screenshot of a live screen with `,_jsx(_components.strong,{children:`Add context`}),` in the chat box.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{alt:`Checkout flow selected on the Figr canvas with the chat box open`,title:`Pick a flow to check for edge cases`,src:`https://mintcdn.com/figr-1af7ae64/GFl9SXL01D1q0Z7d/images/Screenshot-2026-10-21-at-3.30.50-PM.png?fit=max\u0026auto=format\u0026n=GFl9SXL01D1q0Z7d\u0026q=85\u0026s=30a0e2aa575ab912e3866e770da65421`,\"data-og-width\":`1962`,width:`1962`,\"data-og-height\":`972`,height:`972`,\"data-path\":`images/Screenshot-2026-10-21-at-3.30.50-PM.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/figr-1af7ae64/GFl9SXL01D1q0Z7d/images/Screenshot-2026-10-21-at-3.30.50-PM.png?w=280\u0026fit=max\u0026auto=format\u0026n=GFl9SXL01D1q0Z7d\u0026q=85\u0026s=181e7ea99f178934b77a321df4528725 280w, https://mintcdn.com/figr-1af7ae64/GFl9SXL01D1q0Z7d/images/Screenshot-2026-10-21-at-3.30.50-PM.png?w=560\u0026fit=max\u0026auto=format\u0026n=GFl9SXL01D1q0Z7d\u0026q=85\u0026s=1dd15ba6577f88203ca7578cfba33a99 560w, https://mintcdn.com/figr-1af7ae64/GFl9SXL01D1q0Z7d/images/Screenshot-2026-10-21-at-3.30.50-PM.png?w=840\u0026fit=max\u0026auto=format\u0026n=GFl9SXL01D1q0Z7d\u0026q=85\u0026s=4819724030865db10641d7a06be87ded 840w, https://mintcdn.com/figr-1af7ae64/GFl9SXL01D1q0Z7d/images/Screenshot-2026-10-21-at-3.30.50-PM.png?w=1100\u0026fit=max\u0026auto=format\u0026n=GFl9SXL01D1q0Z7d\u0026q=85\u0026s=a483bd8fbff2476b1803931dcc9b48c7 1100w, https://mintcdn.com/figr-1af7ae64/GFl9SXL01D1q0Z7d/images/Screenshot-2026-10-21-at-3.30.50-PM.png?w=1650\u0026fit=max\u0026auto=format\u0026n=GFl9SXL01D1q0Z7d\u0026q=85\u0026s=462479a515cbe4b1cb785d9cca2d8e09 1650w, https://mintcdn.com/figr-1af7ae64/GFl9SXL01D1q0Z7d/images/Screenshot-2026-10-21-at-3.30.50-PM.png?w=2500\u0026fit=max\u0026auto=format\u0026n=GFl9SXL01D1q0Z7d\u0026q=85\u0026s=8bf0c009fab8cfd4882177e10f9ae238 2500w`})})]}),_jsx(Step,{title:`Tell Figr your rules`,children:_jsx(_components.p,{children:`If the flow depends on roles, limits or product rules, mention them in your message or attach the PRD, so Figr checks against how your product really works.`})}),_jsx(Step,{title:`Ask Figr to map the edge cases`,children:_jsx(_components.p,{children:`For example: “What edge cases should we design for on this checkout flow?”`})}),_jsxs(Step,{title:`Review the list`,children:[_jsx(_components.p,{children:`Figr lists the cases worth designing for, such as empty states, errors, permissions and data limits. Decide which ones need a design.`}),_jsx(Frame,{caption:`Figr maps the happy path and every state around it.`,children:_jsx(OptimizedImage,{alt:`Edge case map for a checkout flow showing the happy path, errors and empty states`,title:`Edge cases mapped by Figr`,src:`https://mintcdn.com/figr-1af7ae64/GFl9SXL01D1q0Z7d/images/Screenshot-2026-10-21-at-3.34.58-PM.png?fit=max\u0026auto=format\u0026n=GFl9SXL01D1q0Z7d\u0026q=85\u0026s=0e81f3bf1f53961a7aa6f02ffb267468`,\"data-og-width\":`1986`,width:`1986`,\"data-og-height\":`1300`,height:`1300`,\"data-path\":`images/Screenshot-2026-10-21-at-3.34.58-PM.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/figr-1af7ae64/GFl9SXL01D1q0Z7d/images/Screenshot-2026-10-21-at-3.34.58-PM.png?w=280\u0026fit=max\u0026auto=format\u0026n=GFl9SXL01D1q0Z7d\u0026q=85\u0026s=b59e488f0664ebb9cf2c3ccd52159a91 280w, https://mintcdn.com/figr-1af7ae64/GFl9SXL01D1q0Z7d/images/Screenshot-2026-10-21-at-3.34.58-PM.png?w=560\u0026fit=max\u0026auto=format\u0026n=GFl9SXL01D1q0Z7d\u0026q=85\u0026s=43b9a2317b2d296b4bb1884a01df5120 560w, https://mintcdn.com/figr-1af7ae64/GFl9SXL01D1q0Z7d/images/Screenshot-2026-10-21-at-3.34.58-PM.png?w=840\u0026fit=max\u0026auto=format\u0026n=GFl9SXL01D1q0Z7d\u0026q=85\u0026s=f019cc778dedbb2d3bf13bb7e65a0407 840w, https://mintcdn.com/figr-1af7ae64/GFl9SXL01D1q0Z7d/images/Screenshot-2026-10-21-at-3.34.58-PM.png?w=1100\u0026fit=max\u0026auto=format\u0026n=GFl9SXL01D1q0Z7d\u0026q=85\u0026s=44febdf83b5760a8509209f79b682ced 1100w, https://mintcdn.com/figr-1af7ae64/GFl9SXL01D1q0Z7d/images/Screenshot-2026-10-21-at-3.34.58-PM.png?w=1650\u0026fit=max\u0026auto=format\u0026n=GFl9SXL01D1q0Z7d\u0026q=85\u0026s=f941849e8f802e46df0c2eb34aeb1966 1650w, https://mintcdn.com/figr-1af7ae64/GFl9SXL01D1q0Z7d/images/Screenshot-2026-10-21-at-3.34.58-PM.png?w=2500\u0026fit=max\u0026auto=format\u0026n=GFl9SXL01D1q0Z7d\u0026q=85\u0026s=aad9e9e6a1afb94f2c9ee65229d8c97f 2500w`})}),_jsx(Tip,{children:_jsx(_components.p,{children:`Map edge cases before handoff, not after. It’s cheaper to design an error state now than to fix it once it ships.`})})]}),_jsx(Step,{title:`Design the ones that matter`,children:_jsx(_components.p,{children:`Ask Figr to design the screens or states for the cases you picked. For example: “Design the payment failed and expired card states.”`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`next`,children:`Next`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Generate test cases`,href:`/create/test-cases`,children:_jsx(_components.p,{children:`Turn each edge case into a test.`})}),_jsx(Card,{title:`Build a prototype`,href:`/getting-started/tutorial/prototypes`,children:_jsx(_components.p,{children:`Design the states that matter.`})})]})]})}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":"Map edge cases","sidebarTitle":"Map edge cases","icon":"triangle-exclamation","description":"Ask Figr to find the empty states, errors, permissions and data-limit cases a screen or flow needs, then design the ones that matter.","href":"/getting-started/tutorial/map-edge-cases"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Next","slug":"next","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"dynamicCss":".mint-aspect-video {\n aspect-ratio: 16 / 9\n}\n.mint-w-full {\n width: 100%\n}\n.mint-rounded-xl {\n border-radius: 0.75rem\n}","subdomain":"figr-1af7ae64","siteName":"Figr AI Docs","title":"Map edge cases - Figr AI Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-22T08:36:58.862Z","originalFileLocation":"getting-started/tutorial/map-edge-cases.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=\"light\"}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=\"Ask Figr to find the empty states, errors, permissions and data-limit cases a screen or flow needs, then design the ones that matter.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Figr AI Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/figr-1af7ae64/CumideLBGw0pf1wR/_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/figr-1af7ae64/CumideLBGw0pf1wR/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/figr-1af7ae64/CumideLBGw0pf1wR/_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/figr-1af7ae64/CumideLBGw0pf1wR/_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/figr-1af7ae64/CumideLBGw0pf1wR/_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/figr-1af7ae64/CumideLBGw0pf1wR/_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/figr-1af7ae64/CumideLBGw0pf1wR/_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/figr-1af7ae64/CumideLBGw0pf1wR/_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/figr-1af7ae64/CumideLBGw0pf1wR/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Map edge cases - Figr AI Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Ask Figr to find the empty states, errors, permissions and data-limit cases a screen or flow needs, then design the ones that matter.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Figr AI Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.figr.design/getting-started/tutorial/map-edge-cases\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://docs.figr.design/images/04-01-canvas-overview.png\">\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=\"Map edge cases - Figr AI Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Ask Figr to find the empty states, errors, permissions and data-limit cases a screen or flow needs, then design the ones that matter.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://docs.figr.design/images/04-01-canvas-overview.png\">\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/figr-1af7ae64/CumideLBGw0pf1wR/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Figr AI Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#695BE8\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.figr.design/getting-started/tutorial/map-edge-cases\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/getting-started/tutorial/map-edge-cases.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.figr.design/#organization\",\"name\":\"Figr AI Docs\",\"url\":\"https://docs.figr.design\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/figr-1af7ae64/cM9H6DRd9CPLHDAV/logo/light.svg?fit=max\u0026auto=format\u0026n=cM9H6DRd9CPLHDAV\u0026q=85\u0026s=001dc7d33aee1df6f5a6248e52b2df1f\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.figr.design#website\",\"name\":\"Figr AI Docs\",\"url\":\"https://docs.figr.design\",\"publisher\":{\"@id\":\"https://docs.figr.design/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.figr.design/getting-started/tutorial/map-edge-cases#webpage\",\"url\":\"https://docs.figr.design/getting-started/tutorial/map-edge-cases\",\"name\":\"Map edge cases\",\"description\":\"Ask Figr to find the empty states, errors, permissions and data-limit cases a screen or flow needs, then design the ones that matter.\",\"dateModified\":\"2026-10-22T08:36:58.862Z\",\"isPartOf\":{\"@id\":\"https://docs.figr.design#website\"},\"breadcrumb\":{\"@id\":\"https://docs.figr.design/getting-started/tutorial/map-edge-cases#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.figr.design/getting-started/tutorial/map-edge-cases#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Create with Figr\",\"item\":\"https://docs.figr.design/getting-started/tutorial/prototypes\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Map edge cases\",\"item\":\"https://docs.figr.design/getting-started/tutorial/map-edge-cases\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.figr.design/getting-started/tutorial/map-edge-cases#article\",\"headline\":\"Map edge cases\",\"name\":\"Map edge cases\",\"description\":\"Ask Figr to find the empty states, errors, permissions and data-limit cases a screen or flow needs, then design the ones that matter.\",\"url\":\"https://docs.figr.design/getting-started/tutorial/map-edge-cases\",\"mainEntityOfPage\":{\"@id\":\"https://docs.figr.design/getting-started/tutorial/map-edge-cases#webpage\"},\"image\":\"https://docs.figr.design/images/04-01-canvas-overview.png\",\"dateModified\":\"2026-10-22T08:36:58.862Z\",\"publisher\":{\"@id\":\"https://docs.figr.design/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.figr.design#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Figr AI Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Figr AI Docs","nav":{"global":{"anchors":[{"anchor":"Documentation","icon":"book","href":"https://docs.figr.design/"},{"anchor":"Talk to Us","icon":"comments","href":"https://figr.design/contact"},{"anchor":"Blog","icon":"books","href":"https://figr.design/blog"}]},"tabs":[{"tab":"Docs","icon":"book","pages":[{"group":"Welcome to Figr","pages":[{"title":"Introduction","sidebarTitle":"Introduction","icon":"book-open","href":"/getting-started/welcome/introduction"},{"title":"Quickstart","sidebarTitle":"Quickstart","icon":"rocket","href":"/getting-started/setup/creating-your-account"}]},{"group":"What Figr does","pages":[{"title":"What Figr does","sidebarTitle":"Overview","icon":"compass","href":"/what-figr-does/overview"},{"group":"Design new work","icon":"pen-nib","pages":[{"title":"Add a feature to a journey you already ship","sidebarTitle":"Add to an existing journey","href":"/what-figr-does/add-to-existing-journey"},{"title":"Turn research and walkthroughs into journeys and flows","sidebarTitle":"Research to flows","href":"/what-figr-does/research-to-flows"},{"title":"From many directions to one decision","sidebarTitle":"Many directions, one decision","href":"/what-figr-does/explore-and-sign-off"}]},{"group":"Improve what you have","icon":"wrench","pages":[{"title":"See every screen a change touches before you scope it","sidebarTitle":"See what a change touches","href":"/what-figr-does/change-impact"},{"title":"Audit and redesign a flow from a screen recording","sidebarTitle":"Audit and redesign","href":"/what-figr-does/audit-and-redesign"}]},{"group":"Design system","icon":"palette","pages":[{"title":"Make your design system AI-ready","sidebarTitle":"AI-ready design system","href":"/what-figr-does/ai-ready-design-system"}]},{"group":"Hand off","icon":"paper-plane","pages":[{"title":"Take a PM's first draft into Figma without rebuilding it","sidebarTitle":"Draft to Figma","href":"/what-figr-does/mock-to-figma"},{"title":"Hand off to engineering in their code and their agent","sidebarTitle":"Hand off to engineering","href":"/what-figr-does/handoff-to-engineering"}]}]},{"group":"How to Begin?","hidden":true,"expanded":true,"pages":[{"group":"Welcome to Figr","hidden":true,"pages":[{"title":"Product-aware designing","href":"/getting-started/welcome/product-aware-designing"},{"title":"Who should use Figr","sidebarTitle":"Who should use Figr","href":"/getting-started/welcome/who-should-use-figr"}]},{"group":"Getting Started","hidden":true,"pages":[{"title":"Add product context","sidebarTitle":"Add product context","href":"/getting-started/setup/add-product-context"},{"title":"Invite your team","href":"/getting-started/setup/invite-team"},{"title":"Earn more credits","href":"/getting-started/setup/referral"}]},{"group":"Product Design Flow","hidden":true,"pages":[{"title":"Understanding the workflow","sidebarTitle":"Understanding workflow","href":"/getting-started/tutorial/understanding-workflow"},{"title":"What Figr creates","sidebarTitle":"What Figr creates","href":"/getting-started/tutorial/what-figr-creates"},{"title":"Brainstorm ideas","sidebarTitle":"Brainstorm ideas","href":"/getting-started/tutorial/brainstorm"},{"title":"UX review","sidebarTitle":"UX review","href":"/getting-started/tutorial/review"}]}]},{"group":"Add context","pages":[{"title":"Input guide","sidebarTitle":"Input guide","icon":"map","href":"/input-research/input-guide"},{"title":"Record a product walkthrough","sidebarTitle":"Record a walkthrough","icon":"video","href":"/input-research/screen-recording"},{"title":"Add files to your chat","sidebarTitle":"Add files and references","icon":"file-arrow-up","href":"/input-research/files-research"},{"title":"Bring in Figma frames","sidebarTitle":"Bring in Figma frames","icon":"figma","iconType":"brands","href":"/input-research/figma-input"},{"group":"Capture a webpage","icon":"globe","pages":[{"title":"Capture a public page","sidebarTitle":"Capture a public page","href":"/context/capture-public-page"},{"title":"Capture a page behind a login","sidebarTitle":"Capture a page behind a login","href":"/input-research/chrome-extension"}]},{"title":"Connect your tools","sidebarTitle":"Connect your tools","icon":"plug","href":"/product-intelligence/connectors"}]},{"group":"Set up team context","pages":[{"title":"Set up a Context Pod","sidebarTitle":"Set up a Context Pod","icon":"box-archive","href":"/product-intelligence/context-pods"},{"title":"Share a pod with your team","sidebarTitle":"Share a pod with your team","icon":"share-nodes","href":"/context/share-pod"},{"title":"Set up org-wide context","sidebarTitle":"Set up org-wide context","icon":"building","href":"/context/org-wide-context"},{"title":"Add skills and guardrails","sidebarTitle":"Skills and guardrails","icon":"shield-halved","href":"/context/skills-guardrails"}]},{"group":"Set up your design system","pages":[{"title":"Set up your design system from Figma","sidebarTitle":"From Figma","icon":"palette","href":"/product-intelligence/design-system"},{"title":"Set up your design system from Storybook","sidebarTitle":"From Storybook","icon":"book","href":"/design-system/storybook"},{"title":"Set up your design system from an npm package","sidebarTitle":"From an npm package","icon":"npm","iconType":"brands","href":"/design-system/npm-package"},{"title":"Set up your design system from your code repo","sidebarTitle":"From your code repo","icon":"code-branch","href":"/design-system/code-repo"},{"title":"Add brand assets","sidebarTitle":"Add brand assets","icon":"image","href":"/design-system/brand-assets"},{"title":"Switch design systems in chat","sidebarTitle":"Switch design systems in chat","icon":"shuffle","href":"/design-system/switch-design-systems"},{"title":"Update components in Figma","sidebarTitle":"Update components in Figma","icon":"arrows-rotate","href":"/design-system/update-figma-components"}]},{"group":"Create with Figr","pages":[{"title":"Build a prototype","sidebarTitle":"Build a prototype","icon":"wand-magic-sparkles","href":"/getting-started/tutorial/prototypes"},{"title":"Redesign an existing screen","sidebarTitle":"Redesign an existing screen","icon":"pen-ruler","href":"/create/redesign"},{"title":"Map a user flow","sidebarTitle":"Map a user flow","icon":"route","href":"/create/map-user-flow"},{"title":"Sketch wireframes","sidebarTitle":"Sketch wireframes","icon":"object-group","href":"/create/wireframes"},{"title":"Write PRDs and docs","sidebarTitle":"Write PRDs and docs","icon":"file-lines","description":"Draft PRDs, feature specs and product docs from your real inputs in Figr, refine them on the canvas, then map the user flow from the PRD.","href":"/getting-started/tutorial/create-prds"},{"title":"Map edge cases","sidebarTitle":"Map edge cases","icon":"triangle-exclamation","href":"/getting-started/tutorial/map-edge-cases"},{"title":"Generate test cases","sidebarTitle":"Generate test cases","icon":"list-check","description":"Turn a flow, prototype or PRD on the canvas into test cases with steps, expected results and edge cases, ready for your QA team.","href":"/create/test-cases"}]},{"group":"Work on the canvas","pages":[{"title":"Canvas overview","sidebarTitle":"Canvas overview","icon":"table-cells-large","href":"/canvas/canvas-overview"},{"title":"Manual edit","sidebarTitle":"Manual edit","icon":"pen","href":"/getting-started/tutorial/untitled-page-5"},{"title":"Run multiple chats on one canvas","sidebarTitle":"Run multiple chats","icon":"comments","href":"/canvas/multiple-chats"},{"title":"Arrange and connect nodes","sidebarTitle":"Arrange and connect nodes","icon":"folder-tree","href":"/canvas/organize"},{"title":"Comments","sidebarTitle":"Comments","icon":"comment","href":"/canvas/comments"},{"title":"Add annotations","sidebarTitle":"Add annotations","icon":"highlighter","href":"/canvas/annotations"},{"title":"Duplicate or fork a chat","sidebarTitle":"Duplicate or fork a chat","icon":"clone","href":"/canvas/duplicate-fork"},{"title":"Item actions","sidebarTitle":"Item actions","icon":"square-check","href":"/canvas/action-items"},{"title":"Version control in Figr","sidebarTitle":"Version control","icon":"clock-rotate-left","href":"/canvas/history-layers"}]},{"group":"Export and Share","pages":[{"title":"Export options","sidebarTitle":"Export options","icon":"arrow-up-from-bracket","href":"/export/options"},{"title":"Export to Figma","sidebarTitle":"Export to Figma","icon":"figma","iconType":"brands","href":"/export/figma"},{"title":"Figr MCP","sidebarTitle":"Figr MCP","icon":"server","href":"/export/mcp"},{"title":"Copy and download","sidebarTitle":"Copy and download","icon":"download","href":"/export/copy-download"},{"title":"Publish a prototype","sidebarTitle":"Publish a prototype","href":"/export/publish"},{"title":"Share a project","sidebarTitle":"Share a project","href":"/export/share-project"}]},{"group":"Account and Settings","pages":[{"title":"Usage and Credits","hidden":true,"href":"/page1"},{"title":"Account Settings","hidden":true,"href":"/page2"},{"title":"Billing and Plans","hidden":true,"href":"/page4"},{"title":"Members and Roles","hidden":true,"href":"/page3"},{"title":"Connected Apps","hidden":true,"href":"/page5"},{"title":"SSO","hidden":true,"href":"/page6"}]},{"group":"Roles and Permissions","hidden":true,"pages":[{"title":"Canonical Roles and Permissions","href":"/yea"},{"title":"Domain Auto-join","href":"/yes-3"},{"title":"Usage and Audit Logs","href":"/yes-4"}]},{"group":"Troubleshooting","hidden":true,"pages":[{"title":"Troubleshooting","icon":"screwdriver-wrench","sidebarTitle":"Troubleshooting","href":"/aryan"}]},{"group":"Security \u0026 Legal","pages":[{"title":"Legal for Enterprise","sidebarTitle":"Legal for Enterprise","href":"/docs/security-and-legal/enterprise-legal"},{"title":"Terms of Service","sidebarTitle":"Terms","href":"/legal/terms"},{"title":"Privacy Policy","sidebarTitle":"Privacy","href":"/legal/privacy"},{"title":"Data Protection","sidebarTitle":"Data Protection","href":"/legal/data-protection"}]},{"group":"Inputs","hidden":true,"pages":[{"title":"Figma Input","href":"/yes"},{"title":"Screen Recording","href":"/inputs/screen-recording"},{"title":"Direct editing","href":"/export/direct-editing"},{"title":"Prompt Library","href":"/prompt-library"}]},{"group":"Design Intelligence","hidden":true,"pages":[{"title":"Figr MCP","href":"/docs/design-intelligence/figr-mcp"},{"title":"Design System","href":"/design-intelligence/design-system"},{"title":"Context Pod","href":"/design-intelligence/product-context"},{"title":"Memories","sidebarTitle":"Memories","href":"/design-intelligence/product-memory"},{"title":"Build a design system from the screens you already have","sidebarTitle":"Design system from screens","href":"/what-figr-does/design-system-from-screens"},{"title":"Build high-fidelity prototypes that follow your design system","sidebarTitle":"DS compliant prototypes","href":"/what-figr-does/ds-compliant-prototypes"}]},{"group":"Product Thinking","hidden":true,"pages":[{"title":"Brainstorm \u0026 Thinking","href":"/product-thinking/brainstorm"},{"title":"Prototype","href":"/product-thinking/prototype"},{"title":"Review Design","href":"/product-thinking/review-design"}]},{"group":"Research","hidden":true,"pages":[{"title":"Web Search","href":"/research/web-search"},{"title":"Design Inspiration","href":"/research/design-inspiration"}]},{"group":"Credits \u0026 Billing","pages":[{"title":"Credits \u0026 Usage","sidebarTitle":"Credits \u0026 Usage","href":"/account/credits-usage"},{"title":"Team Invitations","sidebarTitle":"Team Invitations","href":"/getting-started/setup/team-invitations"}]}]},{"tab":"FAQs","icon":"question","pages":[{"title":"FAQs","href":"/faqs"}]},{"tab":"Changelog","icon":"clock","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"Map edge cases - Figr AI Docs","buildId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","deploymentId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-DvzxQbD0.js","DynamicMarkdown-mQG_iQiE.js","zoom-image-lightbox-BFbLClTf.js","lightbox-handle-r17bVUz3.js"]}