Grain

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.

Use the block

Access meeting recordings, transcripts, highlights, and AI-generated summaries. Trigger workflows based on Grain webhook events.

Actions

Grain List Recordings

List recordings from Grain with optional filters and pagination

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesGrain API key (Personal Access Token)
cursorstringNoPagination cursor for next page (returned from previous response)
beforeDatetimestringNoOnly recordings before this ISO8601 timestamp (e.g., "2024-01-15T00:00:00Z")
afterDatetimestringNoOnly recordings after this ISO8601 timestamp (e.g., "2024-01-01T00:00:00Z")
participantScopestringNoFilter: "internal" or "external"
titleSearchstringNoSearch term to filter by recording title (e.g., "weekly standup")
teamIdstringNoFilter by team UUID (e.g., "a1b2c3d4-e5f6-7890-abcd-ef1234567890")
meetingTypeIdstringNoFilter by meeting type UUID (e.g., "a1b2c3d4-e5f6-7890-abcd-ef1234567890")
includeHighlightsbooleanNoInclude highlights/clips in response
includeParticipantsbooleanNoInclude participant list in response
includeAiSummarybooleanNoInclude AI-generated summary
includeAiActionItemsbooleanNoInclude AI-detected action items

Output

ParameterTypeDescription
recordingsarrayArray of recording objects
↳ idstringRecording UUID
↳ titlestringRecording title
↳ start_datetimestringISO8601 start timestamp
↳ end_datetimestringISO8601 end timestamp
↳ duration_msnumberDuration in milliseconds
↳ media_typestringaudio, transcript, or video
↳ sourcestringRecording source
↳ urlstringURL to view in Grain
↳ thumbnail_urlstringThumbnail URL
↳ tagsarrayArray of tags
↳ teamsarrayTeams the recording belongs to
↳ meeting_typeobjectMeeting type info
cursorstringCursor for next page (null if no more)

Grain Get Recording

Get details of a single recording by ID

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesGrain API key (Personal Access Token)
recordingIdstringYesThe recording UUID (e.g., "a1b2c3d4-e5f6-7890-abcd-ef1234567890")
includeHighlightsbooleanNoInclude highlights/clips
includeParticipantsbooleanNoInclude participant list
includeAiSummarybooleanNoInclude AI summary
includeAiActionItemsbooleanNoInclude AI-detected action items
includeCalendarEventbooleanNoInclude calendar event data
includeHubspotbooleanNoInclude HubSpot associations

Output

ParameterTypeDescription
idstringRecording UUID
titlestringRecording title
start_datetimestringISO8601 start timestamp
end_datetimestringISO8601 end timestamp
duration_msnumberDuration in milliseconds
media_typestringaudio, transcript, or video
sourcestringRecording source (zoom, meet, teams, etc.)
urlstringURL to view in Grain
thumbnail_urlstringThumbnail image URL
tagsarrayArray of tag strings
teamsarrayTeams the recording belongs to
meeting_typeobjectMeeting type info (id, name, scope)
highlightsarrayHighlights (if included)
participantsarrayParticipants (if included)
ai_summaryobjectAI summary text (if included)
ai_action_itemsarrayAI-detected action items with status, text, and assignee (if included)
calendar_eventobjectCalendar event data (if included)
hubspotobjectHubSpot associations (if included)

Grain Get Transcript

Get the full transcript of a recording

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesGrain API key (Personal Access Token)
recordingIdstringYesThe recording UUID (e.g., "a1b2c3d4-e5f6-7890-abcd-ef1234567890")

Output

ParameterTypeDescription
transcriptarrayArray of transcript sections
↳ participant_idstringParticipant UUID (nullable)
↳ speakerstringSpeaker name
↳ startnumberStart timestamp in ms
↳ endnumberEnd timestamp in ms
↳ textstringTranscript text

Grain List Teams

List all teams in the workspace

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesGrain API key (Personal Access Token)

Output

ParameterTypeDescription
teamsarrayArray of team objects
↳ idstringTeam UUID
↳ namestringTeam name

Grain List Meeting Types

List all meeting types in the workspace

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesGrain API key (Personal Access Token)

Output

ParameterTypeDescription
meeting_typesarrayArray of meeting type objects
↳ idstringMeeting type UUID
↳ namestringMeeting type name
↳ scopestringinternal or external

Grain Create Webhook

Create a webhook for a specific Grain event type (v2 API)

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesGrain API key (Personal or Workspace Access Token)
hookUrlstringYesWebhook endpoint URL. Grain performs a reachability test on creation — the endpoint must respond 2xx.
hookTypestringYesEvent 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
includejsonNoOptional include object controlling payload richness. For recording hooks: {"participants": true, "highlights": true, "ai_summary": true}. For highlight hooks: {"transcript": true, "speakers": true}.

Output

ParameterTypeDescription
idstringHook UUID
enabledbooleanWhether hook is active
hook_urlstringThe webhook URL
hook_typestringEvent type the hook subscribes to
includejsonInclude object the hook was created with
inserted_atstringISO8601 creation timestamp

Grain List Webhooks

List webhooks for the account (v2 API)

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesGrain API key (Personal or Workspace Access Token)
hookTypestringNoOnly 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
statestringNoOnly return hooks that are "enabled" or "disabled"

Output

ParameterTypeDescription
hooksarrayArray of hook objects
↳ idstringHook UUID
↳ enabledbooleanWhether hook is active
↳ hook_urlstringWebhook URL
↳ hook_typestringEvent type the hook subscribes to
↳ includeobjectInclude object the hook was created with
↳ inserted_atstringCreation timestamp

Grain Delete Webhook

Delete a webhook by ID (v2 API)

Inputs and outputs

Input

ParameterTypeRequiredDescription
apiKeystringYesGrain API key (Personal or Workspace Access Token)
hookIdstringYesThe hook UUID to delete (e.g., "a1b2c3d4-e5f6-7890-abcd-ef1234567890")

Output

ParameterTypeDescription
successbooleanTrue when webhook was successfully deleted

Triggers

A trigger starts a workflow when a supported event occurs in this service.

Grain All Events

Trigger on every Grain event (recordings, highlights, stories, uploads)

Configuration and outputs

Configuration

ParameterTypeRequiredDescription
apiKeystringYesRequired to create the webhook in Grain.

Output

ParameterTypeDescription
typestringEvent type (e.g., recording_added)
user_idstringUser UUID who triggered the event
dataobjectEvent data object (recording, highlight, etc.)

Grain Highlight Added

Trigger when a new highlight/clip is created in Grain

Configuration and outputs

Configuration

ParameterTypeRequiredDescription
apiKeystringYesRequired to create the webhook in Grain.

Output

ParameterTypeDescription
typestringEvent type
user_idstringUser UUID who triggered the event
dataobject
↳ idstringHighlight UUID
↳ recording_idstringParent recording UUID
↳ textstringHighlight title/description
↳ transcriptstringTranscript text of the clip
↳ speakersarrayArray of speaker names
↳ timestampnumberStart timestamp in ms
↳ durationnumberDuration in ms
↳ tagsarrayArray of tag strings
↳ urlstringURL to view in Grain
↳ thumbnail_urlstringThumbnail URL
↳ created_datetimestringISO8601 creation timestamp

Grain Highlight Deleted

Trigger when a highlight/clip is deleted in Grain

Configuration and outputs

Configuration

ParameterTypeRequiredDescription
apiKeystringYesRequired to create the webhook in Grain.

Output

ParameterTypeDescription
typestringEvent type (e.g., recording_added)
user_idstringUser UUID who triggered the event
dataobjectEvent data object (recording, highlight, etc.)

Grain Highlight Updated

Trigger when a highlight/clip is updated in Grain

Configuration and outputs

Configuration

ParameterTypeRequiredDescription
apiKeystringYesRequired to create the webhook in Grain.

Output

ParameterTypeDescription
typestringEvent type
user_idstringUser UUID who triggered the event
dataobject
↳ idstringHighlight UUID
↳ recording_idstringParent recording UUID
↳ textstringHighlight title/description
↳ transcriptstringTranscript text of the clip
↳ speakersarrayArray of speaker names
↳ timestampnumberStart timestamp in ms
↳ durationnumberDuration in ms
↳ tagsarrayArray of tag strings
↳ urlstringURL to view in Grain
↳ thumbnail_urlstringThumbnail URL
↳ created_datetimestringISO8601 creation timestamp

Grain Recording Added

Trigger when a new recording is added in Grain

Configuration and outputs

Configuration

ParameterTypeRequiredDescription
apiKeystringYesRequired to create the webhook in Grain.

Output

ParameterTypeDescription
typestringEvent type
user_idstringUser UUID who triggered the event
dataobject
↳ idstringRecording UUID
↳ titlestringRecording title
↳ start_datetimestringISO8601 start timestamp
↳ end_datetimestringISO8601 end timestamp
↳ duration_msnumberDuration in milliseconds
↳ media_typestringaudio, transcript, or video
↳ sourcestringRecording source (zoom, meet, local_capture, etc.)
↳ urlstringURL to view in Grain
↳ thumbnail_urlstringThumbnail URL (nullable)
↳ tagsarrayArray of tag strings
↳ teamsarrayArray of team objects
↳ meeting_typeobjectMeeting type info with id, name, scope (nullable)

Grain Recording Deleted

Trigger when a recording is deleted in Grain

Configuration and outputs

Configuration

ParameterTypeRequiredDescription
apiKeystringYesRequired to create the webhook in Grain.

Output

ParameterTypeDescription
typestringEvent type (e.g., recording_added)
user_idstringUser UUID who triggered the event
dataobjectEvent data object (recording, highlight, etc.)

Grain Recording Updated

Trigger when a recording is updated in Grain

Configuration and outputs

Configuration

ParameterTypeRequiredDescription
apiKeystringYesRequired to create the webhook in Grain.

Output

ParameterTypeDescription
typestringEvent type
user_idstringUser UUID who triggered the event
dataobject
↳ idstringRecording UUID
↳ titlestringRecording title
↳ start_datetimestringISO8601 start timestamp
↳ end_datetimestringISO8601 end timestamp
↳ duration_msnumberDuration in milliseconds
↳ media_typestringaudio, transcript, or video
↳ sourcestringRecording source (zoom, meet, local_capture, etc.)
↳ urlstringURL to view in Grain
↳ thumbnail_urlstringThumbnail URL (nullable)
↳ tagsarrayArray of tag strings
↳ teamsarrayArray of team objects
↳ meeting_typeobjectMeeting type info with id, name, scope (nullable)

Grain Story Added

Trigger when a new story is created in Grain

Configuration and outputs

Configuration

ParameterTypeRequiredDescription
apiKeystringYesRequired to create the webhook in Grain.

Output

ParameterTypeDescription
typestringEvent type
user_idstringUser UUID who triggered the event
dataobject
↳ idstringStory UUID
↳ titlestringStory title
↳ urlstringURL to view in Grain
↳ created_datetimestringISO8601 creation timestamp

Grain Story Deleted

Trigger when a story is deleted in Grain

Configuration and outputs

Configuration

ParameterTypeRequiredDescription
apiKeystringYesRequired to create the webhook in Grain.

Output

ParameterTypeDescription
typestringEvent type (e.g., recording_added)
user_idstringUser UUID who triggered the event
dataobjectEvent data object (recording, highlight, etc.)

Grain Story Updated

Trigger when a story is updated in Grain

Configuration and outputs

Configuration

ParameterTypeRequiredDescription
apiKeystringYesRequired to create the webhook in Grain.

Output

ParameterTypeDescription
typestringEvent type
user_idstringUser UUID who triggered the event
dataobject
↳ idstringStory UUID
↳ titlestringStory title
↳ urlstringURL to view in Grain
↳ created_datetimestringISO8601 creation timestamp

Grain Upload Status

Trigger on progress updates for recordings uploaded to Grain

Configuration and outputs

Configuration

ParameterTypeRequiredDescription
apiKeystringYesRequired to create the webhook in Grain.

Output

ParameterTypeDescription
typestringEvent type (e.g., recording_added)
user_idstringUser UUID who triggered the event
dataobjectEvent data object (recording, highlight, etc.)