Skip to main content
Base44 builds the app; Opencals runs the booking. Every call goes through one backend function, opencals, which adds the API key and version headers and passes each visitor’s cart ID and customer token through. Two workspace skills teach Base44’s AI the API and the booking flow.
Needs a Base44 Builder plan or higher (backend functions and workspace skills), and a workspace owner or admin to add skills.
1

Create a storefront key

In the Opencals dashboard open Settings → API Keys and create a key (sfk_…) with no allowed origins. The backend function sends no Origin header.
2

Add two workspace skills

Workspace name (bottom left) → Settings → Plugins → Skills → Add skill → Start from scratch.Skill 1 · name opencals-storefront-api · description: Use for any code that calls the Opencals booking API: catalogue, availability, cart, appointments, discounts, checkout and payment, customer accounts, reschedule and cancel, errors and rate limits.
opencals-storefront-api.md
Skill 2 · name opencals-booking-site · description: Use when building a booking website or booking flow on Opencals in Base44: the opencals backend function, choosing the flow for the business type, pages, slot picker, checkout and payment UX, and the launch checklist.
base44-booking-site-playbook.md
Raw files: opencals-storefront-api.md · base44-booking-site-playbook.md
3

Store the key as an app secret

In the app editor: Dashboard → Secrets → Add Secret. Name OPENCALS_API_KEY, value your sfk_… key.
4

Build the function, then the site

Once it returns your store name, describe the business (services, prices and times come from Opencals, so leave them out of the prompt).

The opencals function contract

Why not a Base44 custom OpenAPI integration? Those send fixed, admin-configured headers. Opencals carts and customer sessions need a per-visitor X-Cart-Id and Authorization header, which only a backend function can pass through.
Last modified on September 26, 2026