Use Grain to list, search, and retrieve meeting recordings, transcripts, highlights, AI summaries, participants, and related metadata. Filter meetings by the inputs available on the selected action.
Grain webhook triggers can start workflows when meeting data, summaries, or highlights are available. Use the returned meeting content to prepare follow-up actions or pass it to another integration.
Access meeting recordings, transcripts, highlights, and AI-generated summaries. Trigger workflows based on Grain webhook events.
List recordings from Grain with optional filters and pagination
Inputs and outputsParameter Type Required Description apiKeystring Yes Grain API key (Personal Access Token) cursorstring No Pagination cursor for next page (returned from previous response) beforeDatetimestring No Only recordings before this ISO8601 timestamp (e.g., "2024-01-15T00:00:00Z") afterDatetimestring No Only recordings after this ISO8601 timestamp (e.g., "2024-01-01T00:00:00Z") participantScopestring No Filter: "internal" or "external" titleSearchstring No Search term to filter by recording title (e.g., "weekly standup") teamIdstring No Filter by team UUID (e.g., "a1b2c3d4-e5f6-7890-abcd-ef1234567890") meetingTypeIdstring No Filter by meeting type UUID (e.g., "a1b2c3d4-e5f6-7890-abcd-ef1234567890") includeHighlightsboolean No Include highlights/clips in response includeParticipantsboolean No Include participant list in response includeAiSummaryboolean No Include AI-generated summary includeAiActionItemsboolean No Include AI-detected action items
Parameter Type Description recordingsarray 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 cursorstring Cursor for next page (null if no more)
Get details of a single recording by ID
Inputs and outputsParameter Type Required Description apiKeystring Yes Grain API key (Personal Access Token) recordingIdstring Yes The recording UUID (e.g., "a1b2c3d4-e5f6-7890-abcd-ef1234567890") includeHighlightsboolean No Include highlights/clips includeParticipantsboolean No Include participant list includeAiSummaryboolean No Include AI summary includeAiActionItemsboolean No Include AI-detected action items includeCalendarEventboolean No Include calendar event data includeHubspotboolean No Include HubSpot associations
Parameter Type Description idstring Recording UUID titlestring Recording title start_datetimestring ISO8601 start timestamp end_datetimestring ISO8601 end timestamp duration_msnumber Duration in milliseconds media_typestring audio, transcript, or video sourcestring Recording source (zoom, meet, teams, etc.) urlstring URL to view in Grain thumbnail_urlstring Thumbnail image URL tagsarray Array of tag strings teamsarray Teams the recording belongs to meeting_typeobject Meeting type info (id, name, scope) highlightsarray Highlights (if included) participantsarray Participants (if included) ai_summaryobject AI summary text (if included) ai_action_itemsarray AI-detected action items with status, text, and assignee (if included) calendar_eventobject Calendar event data (if included) hubspotobject HubSpot associations (if included)
Get the full transcript of a recording
Inputs and outputsParameter Type Required Description apiKeystring Yes Grain API key (Personal Access Token) recordingIdstring Yes The recording UUID (e.g., "a1b2c3d4-e5f6-7890-abcd-ef1234567890")
Parameter Type Description transcriptarray 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
List all teams in the workspace
Inputs and outputsParameter Type Required Description apiKeystring Yes Grain API key (Personal Access Token)
Parameter Type Description teamsarray Array of team objects ↳ id string Team UUID ↳ name string Team name
List all meeting types in the workspace
Inputs and outputsParameter Type Required Description apiKeystring Yes Grain API key (Personal Access Token)
Parameter Type Description meeting_typesarray Array of meeting type objects ↳ id string Meeting type UUID ↳ name string Meeting type name ↳ scope string internal or external
Create a webhook for a specific Grain event type (v2 API)
Inputs and outputsParameter Type Required Description apiKeystring Yes Grain API key (Personal or Workspace Access Token) hookUrlstring Yes Webhook endpoint URL. Grain performs a reachability test on creation — the endpoint must respond 2xx. hookTypestring Yes Event type the hook subscribes to. One of: recording_added, recording_updated, recording_deleted, highlight_added, highlight_updated, highlight_deleted, story_added, story_updated, story_deleted, upload_status includejson No Optional include object controlling payload richness. For recording hooks: {"participants": true, "highlights": true, "ai_summary": true}. For highlight hooks: {"transcript": true, "speakers": true}.
Parameter Type Description idstring Hook UUID enabledboolean Whether hook is active hook_urlstring The webhook URL hook_typestring Event type the hook subscribes to includejson Include object the hook was created with inserted_atstring ISO8601 creation timestamp
List webhooks for the account (v2 API)
Inputs and outputsParameter Type Required Description apiKeystring Yes Grain API key (Personal or Workspace Access Token) hookTypestring No Only return hooks with this event type. One of: recording_added, recording_updated, recording_deleted, highlight_added, highlight_updated, highlight_deleted, story_added, story_updated, story_deleted, upload_status statestring No Only return hooks that are "enabled" or "disabled"
Parameter Type Description hooksarray Array of hook objects ↳ id string Hook UUID ↳ enabled boolean Whether hook is active ↳ hook_url string Webhook URL ↳ hook_type string Event type the hook subscribes to ↳ include object Include object the hook was created with ↳ inserted_at string Creation timestamp
Delete a webhook by ID (v2 API)
Inputs and outputsParameter Type Required Description apiKeystring Yes Grain API key (Personal or Workspace Access Token) hookIdstring Yes The hook UUID to delete (e.g., "a1b2c3d4-e5f6-7890-abcd-ef1234567890")
Parameter Type Description successboolean True when webhook was successfully deleted
A trigger starts a workflow when a supported event occurs in this service.
Trigger on every Grain event (recordings, highlights, stories, uploads)
Configuration and outputsParameter Type Required Description apiKeystring Yes Required to create the webhook in Grain.
Parameter Type Description typestring Event type (e.g., recording_added) user_idstring User UUID who triggered the event dataobject Event data object (recording, highlight, etc.)
Trigger when a new highlight/clip is created in Grain
Configuration and outputsParameter Type Required Description apiKeystring Yes Required to create the webhook in Grain.
Parameter Type Description typestring Event type user_idstring User UUID who triggered the event dataobject ↳ id string Highlight UUID ↳ recording_id string Parent recording UUID ↳ text string Highlight title/description ↳ transcript string Transcript text of the clip ↳ speakers array Array of speaker names ↳ timestamp number Start timestamp in ms ↳ duration number Duration in ms ↳ tags array Array of tag strings ↳ url string URL to view in Grain ↳ thumbnail_url string Thumbnail URL ↳ created_datetime string ISO8601 creation timestamp
Trigger when a highlight/clip is deleted in Grain
Configuration and outputsParameter Type Required Description apiKeystring Yes Required to create the webhook in Grain.
Parameter Type Description typestring Event type (e.g., recording_added) user_idstring User UUID who triggered the event dataobject Event data object (recording, highlight, etc.)
Trigger when a highlight/clip is updated in Grain
Configuration and outputsParameter Type Required Description apiKeystring Yes Required to create the webhook in Grain.
Parameter Type Description typestring Event type user_idstring User UUID who triggered the event dataobject ↳ id string Highlight UUID ↳ recording_id string Parent recording UUID ↳ text string Highlight title/description ↳ transcript string Transcript text of the clip ↳ speakers array Array of speaker names ↳ timestamp number Start timestamp in ms ↳ duration number Duration in ms ↳ tags array Array of tag strings ↳ url string URL to view in Grain ↳ thumbnail_url string Thumbnail URL ↳ created_datetime string ISO8601 creation timestamp
Trigger when a new recording is added in Grain
Configuration and outputsParameter Type Required Description apiKeystring Yes Required to create the webhook in Grain.
Parameter Type Description typestring Event type user_idstring User UUID who triggered the event dataobject ↳ 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, local_capture, etc.) ↳ url string URL to view in Grain ↳ thumbnail_url string Thumbnail URL (nullable) ↳ tags array Array of tag strings ↳ teams array Array of team objects ↳ meeting_type object Meeting type info with id, name, scope (nullable)
Trigger when a recording is deleted in Grain
Configuration and outputsParameter Type Required Description apiKeystring Yes Required to create the webhook in Grain.
Parameter Type Description typestring Event type (e.g., recording_added) user_idstring User UUID who triggered the event dataobject Event data object (recording, highlight, etc.)
Trigger when a recording is updated in Grain
Configuration and outputsParameter Type Required Description apiKeystring Yes Required to create the webhook in Grain.
Parameter Type Description typestring Event type user_idstring User UUID who triggered the event dataobject ↳ 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, local_capture, etc.) ↳ url string URL to view in Grain ↳ thumbnail_url string Thumbnail URL (nullable) ↳ tags array Array of tag strings ↳ teams array Array of team objects ↳ meeting_type object Meeting type info with id, name, scope (nullable)
Trigger when a new story is created in Grain
Configuration and outputsParameter Type Required Description apiKeystring Yes Required to create the webhook in Grain.
Parameter Type Description typestring Event type user_idstring User UUID who triggered the event dataobject ↳ id string Story UUID ↳ title string Story title ↳ url string URL to view in Grain ↳ created_datetime string ISO8601 creation timestamp
Trigger when a story is deleted in Grain
Configuration and outputsParameter Type Required Description apiKeystring Yes Required to create the webhook in Grain.
Parameter Type Description typestring Event type (e.g., recording_added) user_idstring User UUID who triggered the event dataobject Event data object (recording, highlight, etc.)
Trigger when a story is updated in Grain
Configuration and outputsParameter Type Required Description apiKeystring Yes Required to create the webhook in Grain.
Parameter Type Description typestring Event type user_idstring User UUID who triggered the event dataobject ↳ id string Story UUID ↳ title string Story title ↳ url string URL to view in Grain ↳ created_datetime string ISO8601 creation timestamp
Trigger on progress updates for recordings uploaded to Grain
Configuration and outputsParameter Type Required Description apiKeystring Yes Required to create the webhook in Grain.
Parameter Type Description typestring Event type (e.g., recording_added) user_idstring User UUID who triggered the event dataobject Event data object (recording, highlight, etc.)