> ## Documentation Index
> Fetch the complete documentation index at: https://docs.oneshotagent.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Meetings

> Read meetings, their summaries, action items and transcripts from your connected meeting recorder

## Overview

Read-only tools on a connected meeting recorder ([Connections](https://docs.oneshotagent.com/api-reference/connections/overview.md)): Granola and Fireflies. An agent reads what was said and promised in a meeting, for example the follow-ups after a client meeting. No meeting starts a goal; a goal reads meetings when it runs.

* `POST /v1/tools/meetings/list` (`meetings_list`): meetings with title, start, duration and participants.
* `POST /v1/tools/meetings/get` (`meetings_get`): one meeting's summary and action items, and its transcript when asked for.

Both take `connection_id`: list your connections (`GET /v1/connections` or `oneshot_connections_list`) and pick by `system` and `account_label`.

Titles, participants, summaries and transcripts are returned in the answer only; OneShot never stores or logs them. A goal gets them in memory: its history keeps no copy, so a later step reads the meeting again.

## Granola and Fireflies

Granola connects with a sign-in. Granola returns the signed-in user's own notes, notes shared with them and notes in folders shared with the workspace, on Granola plans that allow API access. Transcripts need a paid plan. Granola states local start times without an offset and no duration.

Fireflies connects with your Fireflies API key, stored encrypted and deleted on revoke.

## Request

Paid with x402 (`payment-signature`). Refusals for the body or the connection come before payment and are not charged.

| Field | Meaning |
| - | - |
| `connection_id` | Required. The connection to read. |
| `since` | List: meetings started on or after this day (`YYYY-MM-DD`, UTC). |
| `query` | List: title, or a participant's name or email, contains this text. |
| `limit`, `cursor` | List: 1 to 100 per page (default 25); `cursor` is the previous `next_cursor`. |
| `meeting_id` | Get: required, an `id` from the list. |
| `include` | Get: any of `summary`, `action_items`, `transcript`; default the first two. |

```json theme={null}
{ "connection_id": "5f4a3b2c-1d0e-4f9a-8b7c-6d5e4f3a2b1c", "meeting_id": "0dba4400-0000-4000-8000-000000000001", "include": ["summary", "action_items"] }
```

## Response (200)

**data.meetings** `array`

Each meeting: `id`, `title`, `started_at`, `duration_s`, `participants` (`name`, `email`) and `source` (`system`, `id`), with `next_cursor` (null on the last page). With a `query`, a page can hold fewer than `limit` meetings.

**data** `object`

Get: the meeting, plus `summary`, `action_items` (`text`, `owner`) and `transcript` (`speaker`, `text`, `at` in seconds). A part not in `include` is absent.

```json theme={null}
{
  "success": true,
  "data": {
    "id": "0dba4400-0000-4000-8000-000000000001",
    "title": "Client review",
    "started_at": "2026-10-20T15:00:00",
    "duration_s": null,
    "participants": [{ "name": "Sam Lee", "email": "sam@example.com" }],
    "source": { "system": "granola", "id": "0dba4400-0000-4000-8000-000000000001" },
    "summary": "Reviewed the renewal terms.",
    "action_items": [{ "text": "Send the revised proposal by Friday", "owner": "Sam Lee" }]
  }
}
```

## Errors

| Status | Error | Meaning |
| - | - | - |
| 400 | `invalid_request`, `unsupported_for_system` | The body, a cursor or a meeting id is not one the system answered. |
| 400 | `connection_wrong_system` | Not a meeting recorder. |
| 400 | `not_supported` | No such meeting, or no Granola transcript on this plan; returned as credit. |
| 404 | `connection_not_found` | No such connection for this agent. |
| 409 | `connection_expired`, `connection_revoked` | Reconnect, or start a new connection. |
| 503 | `not_configured`, `rate_limited`, `system_unavailable` | Not available or busy; a paid call is returned as credit. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.