Before you start
Before you start, sign in to the dashboard and select the organization you want to work in.- You need a role that can manage resources, such as Admin or Member, and permission to publish the demo agent.
- Follow Write a custom action for toolkit creation, the editor, and deployment controls.
- Read Book meetings with the Meeting Scheduler for component setup.
Create the two actions
Create a CodeKit toolkit named Demo scheduling
Add the Demo availability action
Replace the Availability starter code
Add the Demo booking action
Replace the Booking starter code
successful, data, and error wrapper used by general actions. Times are UTC milliseconds and ranges have an exclusive end.
Read the sample inputs and outputs
These examples illustrate the contract values. The availability output assumes the current time is at or before the range start,1800000000000.
The action offers the first 30-minute appointment starting at least an hour from now, on a local half-hour boundary. The whole appointment fits between 9 AM and 5 PM in the end user’s timezone. Later calls offer a time based on the current clock, or return empty if no appointment fits the range.
The scheduler supplies the real integration ID, version, range, chosen time, and attempt ID at runtime. The Input and Output types come from the CodeKit editor’s generated tars module. Paste the actions into that editor. These snippets are not a standalone local TypeScript project.
Availability input and expected output
Availability input and expected output
Booking input and expected output
Booking input and expected output
Publish the integration
Deploy and enable both actions
Open the Publish integration dialog
Publish the integration
demo_scheduling, then select Publish.Select the version in Meeting Scheduler
prefillName to Demo Guest and prefillEmail to guest@example.com for this demo. Both are required for a CodeKit scheduler.Save the gambit and connect it into the flow.attemptId to the provider as an idempotency key so retrying cannot create duplicate meetings. Return confirmed only after verifying the booking, rejected when nothing was created, and unknown with the attempt ID when a write may have succeeded but cannot be verified. The Contract guide lists the complete schemas and other outcomes.
After changing either action, deploy it and publish a new integration version. Existing schedulers keep their selected version until you select the new one. See Book meetings with the Meeting Scheduler.
Verify
The demo actions do not create calendar events or send emails. Use only the separate demo agent for this check.Publish the demo agent
Open the demo agent's web chat and view available times
Select and confirm an available time
Open the toolkit's Logs and inspect both calls
[redacted]. Check each call by its status and the web chat confirmation.