get_booking_link
Create a direct booking link for any queue or meeting type, optionally pre-filling lead contact details to streamline scheduling.
Instructions
Generate a direct booking link for a ChiliPiper queue or meeting type.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| queue_slug | Yes | Queue or booking page slug | |
| No | Pre-fill lead email | ||
| first_name | No | Pre-fill lead first name | |
| last_name | No | Pre-fill lead last name |
Implementation Reference
- index.js:182-205 (registration)Tool registration for 'get_booking_link' via server.tool() with name, description, and Zod schema.
server.tool( "get_booking_link", "Generate a direct booking link for a ChiliPiper queue or meeting type.", { queue_slug: z.string().describe("Queue or booking page slug"), email: z.string().optional().describe("Pre-fill lead email"), first_name: z.string().optional().describe("Pre-fill lead first name"), last_name: z.string().optional().describe("Pre-fill lead last name"), }, async ({ queue_slug, email, first_name, last_name }) => { const domain = DOMAIN || "your-domain"; const params = new URLSearchParams(); if (email) params.set("email", email); if (first_name) params.set("firstName", first_name); if (last_name) params.set("lastName", last_name); const qs = params.toString(); const link = `https://calendar.chilipiper.com/${domain}/${queue_slug}${qs ? "?" + qs : ""}`; return { content: [{ type: "text", text: `Booking link: ${link}` }], }; } ); - index.js:191-204 (handler)Handler function that constructs a ChiliPiper booking link from queue_slug and optional lead fields (email, first_name, last_name).
async ({ queue_slug, email, first_name, last_name }) => { const domain = DOMAIN || "your-domain"; const params = new URLSearchParams(); if (email) params.set("email", email); if (first_name) params.set("firstName", first_name); if (last_name) params.set("lastName", last_name); const qs = params.toString(); const link = `https://calendar.chilipiper.com/${domain}/${queue_slug}${qs ? "?" + qs : ""}`; return { content: [{ type: "text", text: `Booking link: ${link}` }], }; } - index.js:185-190 (schema)Zod schema defining input parameters: queue_slug (required string), email, first_name, last_name (optional strings).
{ queue_slug: z.string().describe("Queue or booking page slug"), email: z.string().optional().describe("Pre-fill lead email"), first_name: z.string().optional().describe("Pre-fill lead first name"), last_name: z.string().optional().describe("Pre-fill lead last name"), },