For the complete documentation index, see llms.txt.

How can AI agents schedule meetings?

AI agents can schedule meetings through Vennio using either MCP (Model Context Protocol) tools or the REST API directly. Vennio exposes 13 MCP tools covering availability lookup, booking creation, proposal negotiation, and network queries — purpose-built for agentic scheduling workflows.

The answer

Two integration paths for AI agents:

MCP tools available

Vennio's MCP server exposes 13 tools your agent can call:

Connect an agent via MCP

Add Vennio to your MCP client config. Here's the Claude Desktop configuration:

{
  "mcpServers": {
    "vennio": {
      "command": "npx",
      "args": ["-y", "@vennio/mcp"],
      "env": {
        "VENNIO_API_KEY": "vennio_sk_live_YOUR_KEY"
      }
    }
  }
}

Once connected, your agent can schedule meetings in natural language:

"Schedule a 30-minute call with customer@example.com tomorrow morning.
Check availability first, then create the booking and send confirmation."
Consent-scoped access

For agents that access another user's calendar (mutual scheduling), the user must grant consent first. See AI Agent Integration (MCP) for the consent flow.

Programmatic scheduling

For agents built with custom frameworks, call the REST API directly:

import { createVennioClient } from '@vennio/sdk'

const client = createVennioClient({ apiKey: process.env.VENNIO_API_KEY })

// Step 1: Find available slots
const availability = await client.availability.getSlots({
  query: {
    business_id: 'YOUR_BUSINESS_ID',
    duration_minutes: 30,
    timezone: 'America/New_York',
  },
})

const slots = availability.data.slots
if (slots.length === 0) {
  return 'No availability found in the requested window.'
}

// Step 2: Book the first suitable slot
const booking = await client.bookings.create({
  body: {
    business_id: 'YOUR_BUSINESS_ID',
    customer_email: 'customer@example.com',
    customer_name: 'Jane Doe',
    start_time: slots[0].start,
    end_time: slots[0].end,
    notes: 'Scheduled by AI assistant',
  },
})

return `Booked: ${booking.data.booking.id} at ${slots[0].start}`

Agent audit trail

When an agent creates a booking, pass agent_name in the request body (via the MCP create_booking tool or directly in the API). This appears in booking records so humans can see which agent took action.

curl -X POST https://api.vennio.app/v1/bookings \
  -H "Authorization: Bearer vennio_sk_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "business_id": "YOUR_BUSINESS_ID",
    "customer_email": "customer@example.com",
    "customer_name": "Jane Doe",
    "start_time": "2026-04-01T09:00:00Z",
    "end_time": "2026-04-01T09:30:00Z",
    "agent_name": "My Scheduling Agent v1"
  }'

Next steps