Grain

Grain is a modern platform for capturing, storing, and sharing meeting recordings, transcripts, highlights, and AI-powered summaries. Grain enables teams to turn conversations into actionable insights and keep everyone aligned on key moments from meetings.

With Grain, you can:

  • Access searchable recordings and transcripts: Find and review every meeting by keyword, participant, or topic.
  • Share highlights and clips: Capture important moments and share short video/audio highlights across your team or workflows.
  • Get AI-generated summaries: Automatically produce meeting summaries, action items, and key insights using Grain’s advanced AI.
  • Organize meetings by team or type: Tag and categorize recordings for easy access and reporting.

The Zoen Grain integration empowers your agents to:

  • List, search, and retrieve meeting recordings and details by flexible filters (datetime, participant, team, etc).
  • Access AI summaries, participants, highlights, and other metadata for meetings to power automations or analysis.
  • Trigger workflows whenever new meetings are processed, summaries are generated, or highlights are created via Grain webhooks.
  • Easily bridge Grain data into other tools or notify teammates the moment something important happens in a meeting.

Whether you want to automate follow-up actions, keep records of important conversations, or surface insights across your organization, Grain and Zoen make it easy to connect meeting intelligence to your workflows.

Usage Instructions

Integrate Grain into your workflow. Access meeting recordings, transcripts, highlights, and AI-generated summaries. Can also trigger workflows based on Grain webhook events.

Actions

grain_list_recordings

List recordings from Grain with optional filters and pagination

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

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

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

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

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_hook

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

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_hooks

List webhooks for the account (v2 API)

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_hook

Delete a webhook by ID (v2 API)

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 is a block that starts a workflow when an event happens in this service.

Grain All Events

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

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

ParameterTypeRequiredDescription
apiKeystringYesRequired to create the webhook in Grain.

Output

ParameterTypeDescription
typestringEvent type
user_idstringUser UUID who triggered the event
dataobjectdata output from the tool
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

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

ParameterTypeRequiredDescription
apiKeystringYesRequired to create the webhook in Grain.

Output

ParameterTypeDescription
typestringEvent type
user_idstringUser UUID who triggered the event
dataobjectdata output from the tool
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

ParameterTypeRequiredDescription
apiKeystringYesRequired to create the webhook in Grain.

Output

ParameterTypeDescription
typestringEvent type
user_idstringUser UUID who triggered the event
dataobjectdata output from the tool
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

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

ParameterTypeRequiredDescription
apiKeystringYesRequired to create the webhook in Grain.

Output

ParameterTypeDescription
typestringEvent type
user_idstringUser UUID who triggered the event
dataobjectdata output from the tool
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

ParameterTypeRequiredDescription
apiKeystringYesRequired to create the webhook in Grain.

Output

ParameterTypeDescription
typestringEvent type
user_idstringUser UUID who triggered the event
dataobjectdata output from the tool
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

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

ParameterTypeRequiredDescription
apiKeystringYesRequired to create the webhook in Grain.

Output

ParameterTypeDescription
typestringEvent type
user_idstringUser UUID who triggered the event
dataobjectdata output from the tool
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

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.)

On this page