Agent Onboarding
This guide shows you how to give any AI agent the ability to check availability and book meetings using Slotflow. Works with OpenAI, Claude, LangChain, or any agent framework.
The agent workflow
Every Slotflow agent integration follows this flow:
Step 1: Add Slotflow as a tool
Define the Slotflow tools your agent can call. Here are the three core operations:
OpenAI function calling
Claude tool use
Step 2: Add context to your system prompt
Give your agent the Slotflow API reference so it can construct correct calls. We provide two machine-readable files:
Example system prompt
Step 3: Implement the tool handlers
When your agent calls a Slotflow tool, execute the API call and return the result.
With the Node.js SDK
With raw HTTP (Python)
Best practices
-
Always query slots before booking — never let the agent guess at times. The slots endpoint returns exactly what’s available.
-
Handle 409 conflicts gracefully — when multiple agents book simultaneously, conflicts happen. Build retry logic: re-query slots and try the next available time.
-
Use metadata — attach workflow context (lead IDs, ticket numbers, conversation IDs) to every booking. This flows through to webhook payloads so downstream systems stay in sync.
-
Present times in the user’s timezone — slots come back in UTC. Convert using the
timezonefield from the slots response before showing to end users. -
Keep the API reference in context — include llms-full.txt in your agent’s system prompt so it constructs correct API calls without hallucinating endpoints.
Agent-friendly design
Slotflow is built specifically for AI agents:
- Fixed time slots — discrete, bookable slots. No ambiguity, no computation needed.
- Deterministic responses — same query always returns the same results.
- Machine-readable errors — stable
error.codefield (e.g.SLOT_UNAVAILABLE,LIMIT_REACHED). Agents should switch on codes, not parse messages. - UTC timestamps — no timezone ambiguity in API responses.
- Metadata passthrough — arbitrary JSON on every booking, flowing through to webhooks.