Grain
Access meeting recordings, transcripts, and AI summaries
Integrate Grain into your workflow. Access meeting recordings, transcripts, highlights, and AI-generated summaries. Can also trigger workflows based on Grain webhook events.
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | No description |
cursor | string | No | No description |
beforeDatetime | string | No | Only recordings before this ISO8601 timestamp (e.g., "2024-01-15T00:00:00Z") |
afterDatetime | string | No | Only recordings after this ISO8601 timestamp (e.g., "2024-01-01T00:00:00Z") |
participantScope | string | No | Filter: "internal" or "external" |
titleSearch | string | No | Search term to filter by recording title (e.g., "weekly standup") |
teamId | string | No | Filter by team UUID (e.g., "a1b2c3d4-e5f6-7890-abcd-ef1234567890") |
meetingTypeId | string | No | Filter by meeting type UUID (e.g., "a1b2c3d4-e5f6-7890-abcd-ef1234567890") |
includeHighlights | boolean | No | No description |
includeParticipants | boolean | No | No description |
includeAiSummary | boolean | No | No description |
| Parameter | Type | Description |
|---|
recordings | array | Array of recording objects |
↳ id | string | Recording UUID |
↳ title | string | Recording title |
↳ start_datetime | string | ISO8601 start timestamp |
↳ end_datetime | string | ISO8601 end timestamp |
↳ duration_ms | number | Duration in milliseconds |
↳ media_type | string | audio, transcript, or video |
↳ source | string | Recording source |
↳ url | string | URL to view in Grain |
↳ thumbnail_url | string | Thumbnail URL |
↳ tags | array | Array of tags |
↳ teams | array | Teams the recording belongs to |
↳ meeting_type | object | Meeting type info |
cursor | string | Cursor for next page (null if no more) |
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | No description |
recordingId | string | Yes | The recording UUID (e.g., "a1b2c3d4-e5f6-7890-abcd-ef1234567890") |
includeHighlights | boolean | No | No description |
includeParticipants | boolean | No | No description |
includeAiSummary | boolean | No | No description |
includeCalendarEvent | boolean | No | No description |
includeHubspot | boolean | No | No description |
| Parameter | Type | Description |
|---|
id | string | Recording UUID |
title | string | Recording title |
start_datetime | string | ISO8601 start timestamp |
end_datetime | string | ISO8601 end timestamp |
duration_ms | number | Duration in milliseconds |
media_type | string | audio, transcript, or video |
source | string | Recording source (zoom, meet, teams, etc.) |
url | string | URL to view in Grain |
thumbnail_url | string | Thumbnail image URL |
tags | array | Array of tag strings |
teams | array | Teams the recording belongs to |
meeting_type | object | Meeting type info (id, name, scope) |
highlights | array | Highlights (if included) |
participants | array | Participants (if included) |
ai_summary | object | AI summary text (if included) |
calendar_event | object | Calendar event data (if included) |
hubspot | object | HubSpot associations (if included) |
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | No description |
recordingId | string | Yes | The recording UUID (e.g., "a1b2c3d4-e5f6-7890-abcd-ef1234567890") |
| Parameter | Type | Description |
|---|
transcript | array | Array of transcript sections |
↳ participant_id | string | Participant UUID (nullable) |
↳ speaker | string | Speaker name |
↳ start | number | Start timestamp in ms |
↳ end | number | End timestamp in ms |
↳ text | string | Transcript text |
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | No description |
typeFilter | string | No | No description |
| Parameter | Type | Description |
|---|
views | array | Array of Grain views |
↳ id | string | View UUID |
↳ name | string | View name |
↳ type | string | View type: recordings, highlights, or stories |
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | No description |
| Parameter | Type | Description |
|---|
teams | array | Array of team objects |
↳ id | string | Team UUID |
↳ name | string | Team name |
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | No description |
| Parameter | Type | Description |
|---|
meeting_types | array | Array of meeting type objects |
↳ id | string | Meeting type UUID |
↳ name | string | Meeting type name |
↳ scope | string | internal or external |
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | No description |
hookUrl | string | Yes | Webhook endpoint URL (e.g., "https://example.com/webhooks/grain"\) |
viewId | string | Yes | No description |
actions | array | No | No description |
items | string | No | No description |
| Parameter | Type | Description |
|---|
id | string | Hook UUID |
enabled | boolean | Whether hook is active |
hook_url | string | The webhook URL |
view_id | string | Grain view ID for the webhook |
actions | array | Configured actions for the webhook |
inserted_at | string | ISO8601 creation timestamp |
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | No description |
| Parameter | Type | Description |
|---|
hooks | array | Array of hook objects |
↳ id | string | Hook UUID |
↳ enabled | boolean | Whether hook is active |
↳ hook_url | string | Webhook URL |
↳ view_id | string | Grain view ID |
↳ actions | array | Configured actions |
↳ inserted_at | string | Creation timestamp |
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | No description |
hookId | string | Yes | The hook UUID to delete (e.g., "a1b2c3d4-e5f6-7890-abcd-ef1234567890") |
| Parameter | Type | Description |
|---|
success | boolean | True when webhook was successfully deleted |