Authorize your Square account so the agent can list services and staff, check availability, and book appointments
Authorizing Square creates an agent that lists your bookable services and staff, checks availability, and creates bookings in Square Appointments, on the web widget and every other channel. Square is connected in the browser, not with lua integrations, and the same authorization also enables the shopping tools.Verified against lua-cli 3.33.0.Before you begin
A Square account with Square Appointments enabled: services with a duration and price, and team members with booking profiles and working hours.
An email Lua can link your admin account to: the merchant owner’s email, else the main location’s business email, else the first team member marked as owner.
1
Browser: authorize Square
Open https://auth.heylua.ai/square/auth, sign in to Square, pick the business if asked, review the permissions, and select Allow. Lua requests appointments and appointment settings (read and write), team members (read), customers (read and write), the merchant profile (read), and the items, orders, and payments grants used by the shopping tools.
Square's permission screen for Lua.
2
Admin dashboard: finish setup
Square redirects to the admin dashboard, where the agent exists already and a persona is being drafted from your business details. Tell the persona which services to offer and how to confirm a booking.
The admin dashboard after a successful Square authorization.
3
Try it
On the web widget or a connected channel, ask “Can I get a haircut with Sarah on Thursday afternoon?”. The agent reads the booking profile, finds the service and team member, searches availability, and creates the booking once the end user confirms a slot.
Read the business booking profile: booking policy, lead times, cancellation and rescheduling rules, and daily limits.
List location booking profiles and team member booking profiles, and retrieve one team member’s profile.
Search availability for one or more service segments, optionally per team member and location, in a window of at least 24 hours and at most 32 days; search availability for rescheduling an existing booking.
Create a booking for a location, start time, service variation, and team member, with an optional customer note.
List a customer’s bookings and retrieve one by ID; create or read the end user’s Square customer record.
The agent can’t cancel a booking or finalize a reschedule: it shows alternative slots, and the end user changes the booking in Square or with you.
Square isn’t a Unified.to integration type, so there is no Integrations.passthrough('square', …). For cancellations or other endpoints the tools don’t cover, write a tool that calls Square’s API with your own access token from env() (see Call your API). To add your own tools to this agent, run lua init --agent-id <id> in a new folder (find the ID with lua agents --json --ci), then follow Add a tool.
One Square account per agent; all its locations are reachable.
Availability searches cover 24 hours to 32 days per query.
Confirmations and reminders come from Square’s own notification settings, not from the agent; for reminders the agent sends itself, see Send proactive messages.
The business wasn’t selected, a permission was declined, or Square couldn’t provide an email to link (owner, main location, or an owner team member). Fix the account in Square and start again at auth.heylua.ai/square/auth.
No availability is found
The service needs a duration and a price, at least one team member assigned to it, and working hours at the location. Configure them in Square Appointments and ask again.
No staff members are offered
Team members need a booking profile and must be enabled at the location the agent searched. Create the profiles in Square and, when the persona names a location, make sure staff are assigned there.
Catalog, orders, and payment links from the same authorization.
Send proactive messages
Reminders the agent sends before an appointment.
Channels
Take bookings on WhatsApp, Instagram, and Messenger.
About the persona
Shape how the agent offers services and confirms bookings.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Lua CLI","colors":{"primary":"#ff173a","light":"#fe1052","dark":"#fe1052"},"logo":{"light":"https://mintcdn.com/luaglobal/UOJyCcnsFnLhTG7C/logo/light.png?fit=max\u0026auto=format\u0026n=UOJyCcnsFnLhTG7C\u0026q=85\u0026s=69c56f899e0ed6e1baf7e8af2844aeda","dark":"https://mintcdn.com/luaglobal/UOJyCcnsFnLhTG7C/logo/dark.png?fit=max\u0026auto=format\u0026n=UOJyCcnsFnLhTG7C\u0026q=85\u0026s=cd36baf234c6b37e1fe2a2018ba0a46c"},"favicon":"https://mintcdn.com/luaglobal/UOJyCcnsFnLhTG7C/favicon.png?fit=max\u0026auto=format\u0026n=UOJyCcnsFnLhTG7C\u0026q=85\u0026s=8e869fe65763f56356c86d09dcaaf9a6","navbar":{"links":[{"href":"mailto:[email protected]","label":"Support"}],"primary":{"type":"button","label":"Platform","href":"https://heylua.ai"}},"footer":{"socials":{"discord":"https://discord.gg/SRPEuwCzaD"}},"integrations":{"gtm":{"tagId":"GTM-P43XVQLH"}},"contextual":{"options":["copy","view","chatgpt","claude","cursor"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"luaglobal","hasAudioNarration":false,"actualSubdomain":"luaglobal","customDomains":["docs.heylua.ai"],"gitSource":{"type":"github","owner":"lua-ai-global","repo":"lua-dev-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae461b581cc57ac631e8572","collectionId":"299034ac-7832-4815-a6ba-2ec3899a53bc","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae461b581cc57ac631e8572"},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6ae461b581cc57ac631e8572","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"Docs","count":178},{"language":"default","tag":"Reference","count":105},{"language":"default","tag":"CLI","count":42},{"language":"default","tag":"SDK","count":39},{"language":"default","tag":"Channels","count":38},{"language":"default","tag":"Build","count":30},{"language":"default","tag":"Concepts","count":26},{"language":"default","tag":"Primitives","count":25},{"language":"default","tag":"Ship logs to your stack","count":24},{"language":"default","tag":"REST API","count":24}]},"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":"integrations/square-appointments","slug":"/integrations/square-appointments","pageMetadata":{"title":"Square Appointments","description":"Authorize your Square account so the agent can list services and staff, check availability, and book appointments","type":"how-to","href":"/integrations/square-appointments"},"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: \"Authorize your Square account so the agent can list services and staff, check availability, and book appointments\"\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`,em:`em`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Card,Columns,Frame,Heading,OptimizedImage,Step,Steps}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Card)_missingMdxReference(`Card`,true);if(!Columns)_missingMdxReference(`Columns`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Authorizing Square creates an agent that lists your bookable services and staff, checks availability, and creates bookings in Square Appointments, on the web widget and every other `,_jsx(_components.a,{href:`/channels/overview`,children:`channel`}),`. Square is connected in the browser, not with `,_jsx(_components.code,{children:`lua integrations`}),`, and the same authorization also enables the `,_jsx(_components.a,{href:`/integrations/square-ecommerce`,children:`shopping tools`}),`.`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.em,{children:`Verified against lua-cli 3.33.0.`})}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Before you begin`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`A Square account with Square Appointments enabled: services with a duration and price, and team members with booking profiles and working hours.`}),`\n`,_jsx(_components.li,{children:`An email Lua can link your admin account to: the merchant owner’s email, else the main location’s business email, else the first team member marked as owner.`}),`\n`]}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Browser: authorize Square`,children:[_jsxs(_components.p,{children:[`Open `,_jsx(_components.a,{href:`https://auth.heylua.ai/square/auth`,children:`https://auth.heylua.ai/square/auth`}),`, sign in to Square, pick the business if asked, review the permissions, and select `,_jsx(_components.strong,{children:`Allow`}),`. Lua requests appointments and appointment settings (read and write), team members (read), customers (read and write), the merchant profile (read), and the items, orders, and payments grants used by the shopping tools.`]}),_jsx(Frame,{caption:`Square's permission screen for Lua.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/luaglobal/rumPLfJPc8qBvrVo/images/integrations/square-give-permissions.png?fit=max\u0026auto=format\u0026n=rumPLfJPc8qBvrVo\u0026q=85\u0026s=272361fb037582ff20fc5e5047306c69`,alt:`Square permissions screen`,\"data-og-width\":`1916`,width:`1916`,\"data-og-height\":`893`,height:`893`,\"data-path\":`images/integrations/square-give-permissions.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/luaglobal/rumPLfJPc8qBvrVo/images/integrations/square-give-permissions.png?w=280\u0026fit=max\u0026auto=format\u0026n=rumPLfJPc8qBvrVo\u0026q=85\u0026s=d9e36f2fc69da5504c4bd5d8969d4fb8 280w, https://mintcdn.com/luaglobal/rumPLfJPc8qBvrVo/images/integrations/square-give-permissions.png?w=560\u0026fit=max\u0026auto=format\u0026n=rumPLfJPc8qBvrVo\u0026q=85\u0026s=184f6c033bad758540b3eadcc6605b4e 560w, https://mintcdn.com/luaglobal/rumPLfJPc8qBvrVo/images/integrations/square-give-permissions.png?w=840\u0026fit=max\u0026auto=format\u0026n=rumPLfJPc8qBvrVo\u0026q=85\u0026s=f1e18c4c0d3e5ddb4a9f803566d997cc 840w, https://mintcdn.com/luaglobal/rumPLfJPc8qBvrVo/images/integrations/square-give-permissions.png?w=1100\u0026fit=max\u0026auto=format\u0026n=rumPLfJPc8qBvrVo\u0026q=85\u0026s=fbb560e32b276a86d4a1e275e3540945 1100w, https://mintcdn.com/luaglobal/rumPLfJPc8qBvrVo/images/integrations/square-give-permissions.png?w=1650\u0026fit=max\u0026auto=format\u0026n=rumPLfJPc8qBvrVo\u0026q=85\u0026s=15fa917f9c134d3329ef5b3ba276c619 1650w, https://mintcdn.com/luaglobal/rumPLfJPc8qBvrVo/images/integrations/square-give-permissions.png?w=2500\u0026fit=max\u0026auto=format\u0026n=rumPLfJPc8qBvrVo\u0026q=85\u0026s=28b48d58029731d6232ebbf21216c380 2500w`})})]}),_jsxs(Step,{title:`Admin dashboard: finish setup`,children:[_jsx(_components.p,{children:`Square redirects to the admin dashboard, where the agent exists already and a persona is being drafted from your business details. Tell the persona which services to offer and how to confirm a booking.`}),_jsx(Frame,{caption:`The admin dashboard after a successful Square authorization.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/luaglobal/rumPLfJPc8qBvrVo/images/integrations/square-lua-dashboard.png?fit=max\u0026auto=format\u0026n=rumPLfJPc8qBvrVo\u0026q=85\u0026s=182db5ac1fe55b510b4617779173eee0`,alt:`Lua admin dashboard after connecting Square`,\"data-og-width\":`1916`,width:`1916`,\"data-og-height\":`893`,height:`893`,\"data-path\":`images/integrations/square-lua-dashboard.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/luaglobal/rumPLfJPc8qBvrVo/images/integrations/square-lua-dashboard.png?w=280\u0026fit=max\u0026auto=format\u0026n=rumPLfJPc8qBvrVo\u0026q=85\u0026s=478b8195a04fd3fc594851a4f0bd8e2d 280w, https://mintcdn.com/luaglobal/rumPLfJPc8qBvrVo/images/integrations/square-lua-dashboard.png?w=560\u0026fit=max\u0026auto=format\u0026n=rumPLfJPc8qBvrVo\u0026q=85\u0026s=74cf60c02f3ccc7a35e2d8c16839aa64 560w, https://mintcdn.com/luaglobal/rumPLfJPc8qBvrVo/images/integrations/square-lua-dashboard.png?w=840\u0026fit=max\u0026auto=format\u0026n=rumPLfJPc8qBvrVo\u0026q=85\u0026s=9f8f3915210efa820da043a3ec99fbd4 840w, https://mintcdn.com/luaglobal/rumPLfJPc8qBvrVo/images/integrations/square-lua-dashboard.png?w=1100\u0026fit=max\u0026auto=format\u0026n=rumPLfJPc8qBvrVo\u0026q=85\u0026s=9a74451b6924dad04594047e27975109 1100w, https://mintcdn.com/luaglobal/rumPLfJPc8qBvrVo/images/integrations/square-lua-dashboard.png?w=1650\u0026fit=max\u0026auto=format\u0026n=rumPLfJPc8qBvrVo\u0026q=85\u0026s=ba1917483c0bf41de868b232eec286f0 1650w, https://mintcdn.com/luaglobal/rumPLfJPc8qBvrVo/images/integrations/square-lua-dashboard.png?w=2500\u0026fit=max\u0026auto=format\u0026n=rumPLfJPc8qBvrVo\u0026q=85\u0026s=3918ba6bf85fec0e537e178263517c32 2500w`})})]}),_jsx(Step,{title:`Try it`,children:_jsx(_components.p,{children:`On the web widget or a connected channel, ask “Can I get a haircut with Sarah on Thursday afternoon?”. The agent reads the booking profile, finds the service and team member, searches availability, and creates the booking once the end user confirms a slot.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`what-the-agent-can-do`,children:`What the agent can do`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Read the business booking profile: booking policy, lead times, cancellation and rescheduling rules, and daily limits.`}),`\n`,_jsx(_components.li,{children:`List location booking profiles and team member booking profiles, and retrieve one team member’s profile.`}),`\n`,_jsx(_components.li,{children:`Search availability for one or more service segments, optionally per team member and location, in a window of at least 24 hours and at most 32 days; search availability for rescheduling an existing booking.`}),`\n`,_jsx(_components.li,{children:`Create a booking for a location, start time, service variation, and team member, with an optional customer note.`}),`\n`,_jsx(_components.li,{children:`List a customer’s bookings and retrieve one by ID; create or read the end user’s Square customer record.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`The agent can’t cancel a booking or finalize a reschedule: it shows alternative slots, and the end user changes the booking in Square or with you.`}),`\n`,_jsx(Heading,{level:`2`,id:`raw-api-access`,children:`Raw API access`}),`\n`,_jsxs(_components.p,{children:[`Square isn’t a Unified.to integration type, so there is no `,_jsx(_components.code,{children:`Integrations.passthrough('square', …)`}),`. For cancellations or other endpoints the tools don’t cover, write a tool that calls Square’s API with your own access token from `,_jsx(_components.code,{children:`env()`}),` (see `,_jsx(_components.a,{href:`/build/call-your-api`,children:`Call your API`}),`). To add your own tools to this agent, run `,_jsx(_components.code,{children:`lua init --agent-id \u003cid>`}),` in a new folder (find the ID with `,_jsx(_components.code,{children:`lua agents --json --ci`}),`), then follow `,_jsx(_components.a,{href:`/build/add-a-tool`,children:`Add a tool`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`limits`,children:`Limits`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`One Square account per agent; all its locations are reachable.`}),`\n`,_jsx(_components.li,{children:`Availability searches cover 24 hours to 32 days per query.`}),`\n`,_jsxs(_components.li,{children:[`Confirmations and reminders come from Square’s own notification settings, not from the agent; for reminders the agent sends itself, see `,_jsx(_components.a,{href:`/build/send-proactive-messages`,children:`Send proactive messages`}),`.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`if-it-isn’t-working`,children:`If it isn’t working`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Authorization fails or returns to Square`,id:`authorization-fails-or-returns-to-square`,children:_jsx(_components.p,{children:`The business wasn’t selected, a permission was declined, or Square couldn’t provide an email to link (owner, main location, or an owner team member). Fix the account in Square and start again at auth.heylua.ai/square/auth.`})}),_jsx(Accordion,{title:`No availability is found`,id:`no-availability-is-found`,children:_jsx(_components.p,{children:`The service needs a duration and a price, at least one team member assigned to it, and working hours at the location. Configure them in Square Appointments and ask again.`})}),_jsx(Accordion,{title:`No staff members are offered`,id:`no-staff-members-are-offered`,children:_jsx(_components.p,{children:`Team members need a booking profile and must be enabled at the location the agent searched. Create the profiles in Square and, when the persona names a location, make sure staff are assigned there.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`next-steps`,children:`Next steps`}),`\n`,_jsxs(Columns,{cols:2,children:[_jsx(Card,{title:`Square`,href:`/integrations/square-ecommerce`,children:`Catalog, orders, and payment links from the same authorization.`}),_jsx(Card,{title:`Send proactive messages`,href:`/build/send-proactive-messages`,children:`Reminders the agent sends before an appointment.`}),_jsx(Card,{title:`Channels`,href:`/channels/overview`,children:`Take bookings on WhatsApp, Instagram, and Messenger.`}),_jsx(Card,{title:`About the persona`,href:`/concepts/persona`,children:`Shape how the agent offers services and confirms bookings.`})]})]})}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":"Square Appointments","description":"Authorize your Square account so the agent can list services and staff, check availability, and book appointments","type":"how-to","href":"/integrations/square-appointments"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"What the agent can do","slug":"what-the-agent-can-do","depth":2,"children":[]},{"title":"Raw API access","slug":"raw-api-access","depth":2,"children":[]},{"title":"Limits","slug":"limits","depth":2,"children":[]},{"title":"If it isn’t working","slug":"if-it-isn’t-working","depth":2,"children":[]},{"title":"Next steps","slug":"next-steps","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"luaglobal","siteName":"Lua CLI","title":"Square Appointments - Lua CLI","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-13T08:09:43.280Z","originalFileLocation":"integrations/square-appointments.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=\"Authorize your Square account so the agent can list services and staff, check availability, and book appointments\">\u003cmeta data-mint-head name=\"application-name\" content=\"Lua CLI\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/luaglobal/J64lPDADMxYATwfp/_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/luaglobal/J64lPDADMxYATwfp/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/luaglobal/J64lPDADMxYATwfp/_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/luaglobal/J64lPDADMxYATwfp/_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/luaglobal/J64lPDADMxYATwfp/_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/luaglobal/J64lPDADMxYATwfp/_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/luaglobal/J64lPDADMxYATwfp/_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/luaglobal/J64lPDADMxYATwfp/_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/luaglobal/J64lPDADMxYATwfp/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Square Appointments - Lua CLI\">\u003cmeta data-mint-head property=\"og:description\" content=\"Authorize your Square account so the agent can list services and staff, check availability, and book appointments\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Lua CLI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.heylua.ai/integrations/square-appointments\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://luaglobal.mintlify.app/_mintlify/api/og/v2?division=Integrations\u0026amp;title=Square+Appointments\u0026amp;description=Authorize+your+Square+account+so+the+agent+can+list+services+and+staff%2C+check+availability%2C+and+book+appointments\u0026amp;theme=a3f5381ffcff7cb3f7370a15\u0026amp;signature=e9bd6aa67b3a4c675113e81aac7119181a1b73631008dc1089c0512f5674560d\">\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=\"Square Appointments - Lua CLI\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Authorize your Square account so the agent can list services and staff, check availability, and book appointments\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://luaglobal.mintlify.app/_mintlify/api/og/v2?division=Integrations\u0026amp;title=Square+Appointments\u0026amp;description=Authorize+your+Square+account+so+the+agent+can+list+services+and+staff%2C+check+availability%2C+and+book+appointments\u0026amp;theme=a3f5381ffcff7cb3f7370a15\u0026amp;signature=e9bd6aa67b3a4c675113e81aac7119181a1b73631008dc1089c0512f5674560d\">\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/luaglobal/J64lPDADMxYATwfp/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Lua CLI\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#ff173a\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.heylua.ai/integrations/square-appointments\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/integrations/square-appointments.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.heylua.ai/#organization\",\"name\":\"Lua CLI\",\"url\":\"https://docs.heylua.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/luaglobal/UOJyCcnsFnLhTG7C/logo/light.png?fit=max\u0026auto=format\u0026n=UOJyCcnsFnLhTG7C\u0026q=85\u0026s=69c56f899e0ed6e1baf7e8af2844aeda\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.heylua.ai#website\",\"name\":\"Lua CLI\",\"url\":\"https://docs.heylua.ai\",\"publisher\":{\"@id\":\"https://docs.heylua.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.heylua.ai/integrations/square-appointments#webpage\",\"url\":\"https://docs.heylua.ai/integrations/square-appointments\",\"name\":\"Square Appointments\",\"description\":\"Authorize your Square account so the agent can list services and staff, check availability, and book appointments\",\"dateModified\":\"2026-09-13T08:09:43.280Z\",\"isPartOf\":{\"@id\":\"https://docs.heylua.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.heylua.ai/integrations/square-appointments#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.heylua.ai/integrations/square-appointments#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Integrations\",\"item\":\"https://docs.heylua.ai/integrations/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Square Appointments\",\"item\":\"https://docs.heylua.ai/integrations/square-appointments\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.heylua.ai/integrations/square-appointments#article\",\"headline\":\"Square Appointments\",\"name\":\"Square Appointments\",\"description\":\"Authorize your Square account so the agent can list services and staff, check availability, and book appointments\",\"url\":\"https://docs.heylua.ai/integrations/square-appointments\",\"mainEntityOfPage\":{\"@id\":\"https://docs.heylua.ai/integrations/square-appointments#webpage\"},\"dateModified\":\"2026-09-13T08:09:43.280Z\",\"publisher\":{\"@id\":\"https://docs.heylua.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.heylua.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Lua CLI\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Lua CLI","nav":{"global":null,"tabs":[{"tab":"Docs","groups":[{"group":"Get started","pages":[{"title":"Lua documentation","href":""},{"title":"Install the CLI and sign in","href":"/get-started/install"},{"title":"Build and release your first agent","sidebarTitle":"Quickstart","href":"/get-started/quickstart"},{"title":"Build a support agent","href":"/get-started/build-an-agent"},{"title":"Project structure","href":"/get-started/project-structure"},{"title":"Choose a primitive","href":"/get-started/choose-a-primitive"},{"title":"For operators","href":"/get-started/for-operators"},{"title":"Glossary","href":"/get-started/glossary"}]},{"group":"Concepts","pages":[{"title":"Agents","href":"/concepts/agents"},{"title":"Skills and tools","href":"/concepts/skills-and-tools"},{"title":"Persona","href":"/concepts/persona"},{"title":"Models","href":"/concepts/models"},{"title":"Environments","href":"/concepts/environments"},{"title":"Releases and versions","href":"/concepts/releases-and-versions"},{"title":"Execution contexts","href":"/concepts/execution-contexts"},{"title":"Credentials","href":"/concepts/credentials"},{"title":"Organizations and roles","href":"/concepts/organizations-and-roles"},{"title":"Approvers and notifications for shared agents","href":"/concepts/shared-agent-approvers"},{"title":"Channels","href":"/concepts/channels"},{"title":"Webhooks","href":"/concepts/webhooks"},{"title":"Triggers","href":"/concepts/triggers"},{"title":"Jobs","href":"/concepts/jobs"},{"title":"Workflows","href":"/concepts/workflows"},{"title":"Web apps","href":"/concepts/apps"},{"title":"Processors","href":"/concepts/processors"},{"title":"MCP servers","href":"/concepts/mcp-servers"},{"title":"Knowledge and features","href":"/concepts/knowledge-and-features"},{"title":"Integrations","href":"/concepts/integrations"},{"title":"Devices","href":"/concepts/devices"},{"title":"Voice","href":"/concepts/voice"},{"title":"Spaces","href":"/concepts/spaces"},{"title":"Governance","href":"/concepts/governance"},{"title":"Security and data","href":"/concepts/security-and-data"},{"title":"Agent templates","href":"/concepts/agent-templates"}]},{"group":"Build","pages":[{"title":"Add a tool to a skill","href":"/build/add-a-tool"},{"title":"Write skill context","href":"/build/write-skill-context"},{"title":"Call your API from a tool","href":"/build/call-your-api"},{"title":"Let your agent handle OAuth","href":"/build/handle-oauth"},{"title":"Store and search data","href":"/build/store-and-search-data"},{"title":"Identify users","href":"/build/identify-users"},{"title":"Handle a webhook","href":"/build/handle-a-webhook"},{"title":"Create a trigger","href":"/build/create-a-trigger"},{"title":"Schedule a recurring job","href":"/build/schedule-a-job"},{"title":"Send proactive messages","href":"/build/send-proactive-messages"},{"title":"Add human handoff","href":"/build/add-human-handoff"},{"title":"Add knowledge","href":"/build/add-knowledge"},{"title":"Use an MCP server","href":"/build/use-an-mcp-server"},{"title":"Use the browser","href":"/build/use-the-browser"},{"title":"Add a processor","href":"/build/add-a-processor"},{"title":"Compose agents","href":"/build/compose-agents"},{"title":"Supervise another agent","href":"/build/supervise-agents"},{"group":"Workflows","pages":[{"title":"Build and run your first workflow","href":"/build/workflows/quickstart"},{"title":"Author a workflow","href":"/build/workflows/authoring"},{"title":"Add approvals and signals","href":"/build/workflows/approvals-and-signals"},{"title":"Operate workflow runs","href":"/build/workflows/operate-runs"},{"title":"Use the Job tier","href":"/build/workflows/job-tier"},{"title":"Stage agent changes from a coding step","href":"/build/workflows/stage-agent-changes"},{"title":"Declare connections in a workflow","href":"/build/workflows/connections"},{"title":"Schedule a workflow and set goals","href":"/build/workflows/goals-and-schedules"},{"title":"Watch schedule health","href":"/build/workflows/schedule-health"},{"title":"Test a workflow offline","href":"/build/workflows/test-offline"}]},{"group":"Apps","pages":[{"title":"Build and open your first web app","href":"/build/apps/quickstart"},{"title":"Write routes and pages for a web app","href":"/build/apps/routes-and-pages"},{"title":"Talk to the agent from your app","href":"/build/apps/agent-pane"}]}]},{"group":"Channels","pages":[{"title":"Channels","href":"/channels/overview"},{"title":"Test an agent on Lua's channels","href":"/channels/quick-testing"},{"title":"Connect WhatsApp","href":"/channels/whatsapp"},{"title":"Connect Facebook Messenger","href":"/channels/messenger"},{"title":"Connect Instagram","href":"/channels/instagram"},{"title":"Connect Slack","href":"/channels/slack"},{"title":"Slack permissions","href":"/channels/slack-permissions"},{"title":"Connect Microsoft Teams","href":"/channels/teams"},{"title":"Bring your own Azure Bot to Teams","href":"/channels/teams-byo-azure-bot"},{"title":"Teams permissions","href":"/channels/teams-permissions"},{"title":"Connect email","href":"/channels/email"},{"title":"SMS and phone numbers","href":"/channels/sms-and-phone-numbers"},{"title":"Voice calls","href":"/channels/voice-calls"},{"title":"RCS","href":"/channels/rcs"},{"title":"iMessage","href":"/channels/imessage"},{"title":"Front","href":"/channels/front"},{"title":"MessageBird","href":"/channels/messagebird"},{"title":"Meetings","href":"/channels/meetings"},{"group":"Web widget","pages":[{"title":"Add the chat widget to your website","href":"/channels/web-widget/quickstart"},{"title":"Widget configuration","href":"/channels/web-widget/configuration"},{"title":"Style the widget","href":"/channels/web-widget/styling"},{"title":"Track widget events","href":"/channels/web-widget/events-and-analytics"},{"title":"Add the widget to a React, Vue, Angular, or Svelte app","sidebarTitle":"Frameworks","href":"/channels/web-widget/frameworks"},{"title":"Voice chat in the widget","href":"/channels/web-widget/voice-chat"},{"title":"Troubleshoot the widget","href":"/channels/web-widget/troubleshooting"}]},{"group":"Response formatting","pages":[{"title":"Response formatting","href":"/channels/formatting/overview"},{"title":"Block syntax","href":"/channels/formatting/syntax"},{"title":"list-item","href":"/channels/formatting/list-item"},{"title":"horizontal-list-item","href":"/channels/formatting/horizontal-list-item"},{"title":"actions","href":"/channels/formatting/actions"},{"title":"links","href":"/channels/formatting/links"},{"title":"images","href":"/channels/formatting/images"},{"title":"documents","href":"/channels/formatting/documents"},{"title":"form","href":"/channels/formatting/form"},{"title":"payment","href":"/channels/formatting/payment"},{"title":"flow","href":"/channels/formatting/flow"},{"title":"navigate","href":"/channels/formatting/navigate"},{"title":"reaction","href":"/channels/formatting/reaction"}]}]},{"group":"Integrations","pages":[{"title":"Integrations","href":"/integrations/overview"},{"title":"Connect a Unified.to integration","href":"/integrations/connect"},{"title":"Subscribe to integration events","href":"/integrations/events"},{"title":"Manage integration MCP tools","href":"/integrations/mcp"},{"title":"Add a custom MCP server","href":"/integrations/custom-mcp-servers"},{"title":"Call an integration's API directly","href":"/integrations/passthrough"},{"title":"Shopify","href":"/integrations/shopify"},{"title":"WooCommerce","href":"/integrations/woocommerce"},{"title":"Square","description":"Authorize your Square account so the agent can search the catalog, look up orders, and create Square-hosted payment links","href":"/integrations/square-ecommerce"},{"title":"Square Appointments","href":"/integrations/square-appointments"},{"title":"SimplyBook.me","description":"Link your SimplyBook.me company so the agent can list services and staff, find free slots, and create or cancel bookings","href":"/integrations/simplybook"}]},{"group":"Devices","pages":[{"title":"Build your first device","sidebarTitle":"Start here","href":"/devices/quickstart"},{"title":"The device connection lifecycle","sidebarTitle":"How devices work","href":"/devices/how-it-works"},{"title":"Create a device credential","href":"/devices/credentials"},{"title":"Node device client","sidebarTitle":"Node client","href":"/devices/node-client"},{"title":"Python device client","sidebarTitle":"Python client","href":"/devices/python-client"},{"title":"MicroPython device client","sidebarTitle":"MicroPython client","href":"/devices/micropython-client"},{"title":"MQTT protocol","href":"/devices/mqtt-protocol"},{"title":"Expose device commands as tools","href":"/devices/commands-and-tools"},{"title":"Handle device triggers","href":"/devices/triggers"},{"title":"Upload files from a device","href":"/devices/cdn-uploads"},{"title":"Device reliability and limits","sidebarTitle":"Reliability and limits","href":"/devices/reliability-and-limits"},{"group":"Device examples","pages":[{"title":"Control a laptop from chat","sidebarTitle":"Laptop controller","href":"/devices/examples/mac-controller"},{"title":"Run a device on a Raspberry Pi Pico W","sidebarTitle":"Raspberry Pi Pico W","href":"/devices/examples/raspberry-pi-pico"},{"title":"Build a warehouse station","sidebarTitle":"Warehouse station","href":"/devices/examples/warehouse-inventory"},{"title":"Run a smart office with device groups","sidebarTitle":"Smart office","href":"/devices/examples/smart-office"},{"title":"Monitor a machine with a Pico W","sidebarTitle":"Factory monitor","href":"/devices/examples/industrial-sensor"}]}]},{"group":"Ship and operate","pages":[{"title":"Test an agent before you release","href":"/ship/testing"},{"title":"Release an agent to production","href":"/ship/releasing"},{"title":"Run the go-live checklist","href":"/ship/go-live-checklist"},{"title":"Automate releases in CI","sidebarTitle":"Automate with --ci","href":"/ship/ci-and-automation"},{"title":"Read logs and debug an agent","href":"/ship/logs-and-debugging"},{"title":"Back up and restore agent source","href":"/ship/backups-and-restore"},{"title":"Platform limits","href":"/ship/limits"},{"title":"Troubleshoot the CLI","href":"/ship/troubleshooting"}]},{"group":"Ship logs to your stack","pages":[{"title":"Ship logs to your stack","href":"/drains/overview"},{"title":"Event schema","href":"/drains/event-schema"},{"title":"Emit your own fields","href":"/drains/emit-your-own-fields"},{"title":"Delivery records","sidebarTitle":"delivery","href":"/drains/sources/delivery"},{"title":"Workflow audit records","sidebarTitle":"workflow-audit","href":"/drains/sources/workflow-audit"},{"title":"Generic HTTPS","href":"/drains/generic-https"},{"title":"OpenTelemetry","href":"/drains/opentelemetry"},{"title":"Datadog","href":"/drains/datadog"},{"title":"Better Stack","href":"/drains/better-stack"},{"title":"Splunk","href":"/drains/splunk"},{"title":"Grafana Loki","href":"/drains/loki"},{"title":"Axiom","href":"/drains/axiom"},{"title":"New Relic","href":"/drains/new-relic"},{"title":"Sumo Logic","href":"/drains/sumo-logic"},{"title":"Object storage","href":"/drains/object-storage"},{"title":"Verify signatures","href":"/drains/verify-signatures"},{"title":"Protecting your destination","href":"/drains/protecting-your-destination"},{"title":"Delivery guarantees","href":"/drains/delivery-guarantees"},{"title":"Drain notices","href":"/drains/notifications"},{"title":"Usage and plan quotas","href":"/drains/usage-and-quotas"},{"title":"Egress addresses and delivery policy","href":"/drains/egress"},{"title":"Datadog monitor pack","href":"/drains/packs/datadog-monitors"},{"title":"Grafana dashboard","href":"/drains/packs/grafana-dashboard"},{"title":"OpenTelemetry Collector config","href":"/drains/packs/otel-collector"}]},{"group":"Marketplace","pages":[{"title":"Marketplace","href":"/marketplace/overview"},{"title":"Publish an agent template","href":"/marketplace/publish-a-template"},{"title":"Template manifest","href":"/marketplace/manifest"},{"title":"Lifecycle hooks","href":"/marketplace/lifecycle-hooks"},{"title":"Lints and consent","href":"/marketplace/lints-and-consent"},{"title":"Install and apply a template","href":"/marketplace/install-and-apply"},{"title":"Check fleet health","href":"/marketplace/fleet-health"},{"title":"Publish and install marketplace skills","href":"/marketplace/skills"}]},{"group":"Build with AI","pages":[{"title":"Build a Lua agent with a coding assistant","sidebarTitle":"Overview","href":"/build-with-ai/overview"},{"title":"Add the docs MCP server to your coding assistant","sidebarTitle":"Docs MCP server","href":"/build-with-ai/docs-mcp"},{"title":"Build with the Claude Code plugin","sidebarTitle":"Claude Code plugin","href":"/build-with-ai/claude-code-plugin"}]},{"group":"Examples","pages":[{"title":"Examples","href":"/examples/overview"},{"title":"Customer support agent","href":"/examples/customer-support"},{"title":"E-commerce shopping agent","href":"/examples/ecommerce-assistant"},{"title":"Healthcare patient portal","href":"/examples/healthcare-portal"},{"title":"Door access over WhatsApp","href":"/examples/iot-door-assistant"},{"title":"Greenhouse relay control","href":"/examples/iot-smart-light"}]}]},{"tab":"Reference","pages":[{"title":"Reference","href":"/reference/sdk/overview"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"Square Appointments - Lua CLI","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-DXXFP6nH.js","DynamicMarkdown-B54_zNBF.js","zoom-image-lightbox-BG6oD64b.js","lightbox-handle-r17bVUz3.js"]}