---
ref: workflow:schedule-meeting-at-free-time
title: Schedule a Bridge meeting at a time you are free
author: Shahzaib0217
tools: [tool:bridge/find-free-time, tool:bridge/create-meeting, tool:bridge/update-meeting-notepad]
tags: [capability:book-meetings, capability:host-meetings, capability:manage-docs, channel:email, has:mcp, motion:outbound]
updated: 2026-10-28
---

# Schedule a Bridge meeting at a time you are free

Finds open times on your calendar, schedules a Bridge video meeting at the one you pick, invites everyone and adds an agenda.

Set up the tools below, then run the steps in order for the user, carrying each step's results into the next. The run is done when the user has the outcome below.

## Outcome

- A scheduled Bridge meeting at a time you chose, with its join link.
- An invitation email with the join link sent to every participant.
- An agenda in the meeting's Notepad, ready when the meeting starts.

## Inputs

Ask the user for these before you start.

- `participants`: who to meet, by email, not counting yourself, e.g. dana@acme.com, lee@acme.com
- `purpose`: what the meeting is for, e.g. Walk Acme through the pilot plan
- `duration_minutes`: how long it runs, e.g. 30
- `window`: the days to look in, e.g. next Tuesday to Thursday
- `options`: how many times to offer, e.g. 3

## Set up

### Bridge (tool:bridge/find-free-time, tool:bridge/create-meeting, tool:bridge/update-meeting-notepad)

Use the MCP server. Add it to your agent's MCP settings, then sign in when asked.

```json
{ "mcpServers": { "bridge": { "url": "https://api.meetonbridge.com/mcp" } } }
```

- Find free time: call the MCP tool `find_free_time`
- Create a meeting: call the MCP tool `create_meeting`
- Update a meeting notepad: call the MCP tool `update_meeting_notepad`

Note: Needs a paid Bridge plan (Professional or above); not on the free Starter plan or a trial. At sign-in the user grants read, or read and write, access. Call get_bridge_context first for the tools the plan and connection allow.

Notes:

- Find free time: Range is at most 31 days; returns 20 slots unless `maxResults` (up to 100) is set. Without `page`, slots fall Mon to Fri 9:00 to 17:00 unless `workingHours` is passed. With `page`, returns the slots `book_meeting` accepts; an inactive page has none.
- Create a meeting: Does not add an event to the user's calendar. Keep the returned `recap_id`: the brief, notepad and meeting calls take it.
- Update a meeting notepad: Appends by default; pass `mode: replace` to overwrite. Plain text only.

Before step 1, confirm access with the cheapest read-only call, like a list or a search. Never send or change anything to test access.

## Steps

1. **Find open times** with Find free time (Bridge). Search `window` for slots of `duration_minutes` with `maxResults` set to 100 and without a booking page, so your connected calendar, bookings and Bridge meetings are all checked. Keep each slot's start, end and local label.
2. **Pick a time** yourself. Offer the user the `options` earliest slots, spread across different days when you can, and keep the one they choose.
3. **Schedule the meeting** with Create a meeting (Bridge). Create a meeting titled after `purpose` at the chosen start time for `duration_minutes`, with `participants` as invitees. Keep its `recap_id` and join link.
4. **Write the agenda** yourself. Draft three to five agenda points for `purpose` and show them to the user.
5. **Save the agenda** with Update a meeting notepad (Bridge). Append the approved agenda to the meeting's Notepad by its `recap_id`.

## Notes

Bridge never emails the host, so leave your own address out of `participants`. The meeting is not added to your calendar: add the join link to a calendar event yourself, or share it in your own message. To let people pick a time themselves, use a booking page instead (`create-booking-page`).

## Rules

- Use only the services set up above. The read-only calls they need, like listing ids or polling for results, are fine.
- Ask the user before anything that sends messages, costs money, or changes data, and say how many records it touches. One approval covers a batch the user has seen.
- Never print API keys.
