New260+ blocks and 240+ tools are now fully documented
DocumentationReferenceCore BlocksMedia & Audio
Block

Grain Block

Access meeting recordings, transcripts, and AI summaries

The Grain block integrates Grain into your workflow so you can access meeting recordings, transcripts, highlights, and AI-generated summaries. Reach for it when you want to pull conversation data into automations — summarizing calls, extracting transcripts, or subscribing to recording events via webhooks.

Overview

PropertyValue
Typegrain
Categorytools
Color#F6FAF9

When to Use

  • Pull a list of meeting recordings, optionally filtered by date range, team, meeting type, title, or participant scope.
  • Fetch a single recording's details, including highlights, participants, AI summary, calendar event, or HubSpot data.
  • Retrieve the full transcript of a recording for downstream summarization or analysis.
  • Enumerate available Grain views, teams, or meeting types for filtering and routing.
  • Create webhooks to subscribe to recording events in real time from a specific Grain view.
  • List or delete existing webhooks to manage event subscriptions programmatically.

Configuration

Operation

Selects which Grain action the block runs. Defaults to grain_list_recordings.

LabelID
List Recordingsgrain_list_recordings
Get Recordinggrain_get_recording
Get Transcriptgrain_get_transcript
List Viewsgrain_list_views
List Teamsgrain_list_teams
List Meeting Typesgrain_list_meeting_types
Create Webhookgrain_create_hook
List Webhooksgrain_list_hooks
Delete Webhookgrain_delete_hook

API Key

Your Grain API key (Personal Access Token). Required for every operation and stored as a password field. Use {{GRAIN_API_KEY}} to pull it from an environment variable.

Recording ID

The recording UUID. Required for Get Recording (grain_get_recording) and Get Transcript (grain_get_transcript). Sub-block id: recordingId.

Pagination Cursor

A cursor string returned by a previous List Recordings call, used to fetch the next page. Optional. Shown only for List Recordings. Sub-block id: cursor.

Before Date

Filter recordings created before this ISO8601 timestamp (e.g. 2024-01-01T00:00:00Z). Optional. Shown only for List Recordings. Sub-block id: beforeDatetime.

After Date

Filter recordings created after this ISO8601 timestamp. Optional. Shown only for List Recordings. Sub-block id: afterDatetime.

Participant Scope

Narrow the recording list to a specific participant category. Optional. Shown only for List Recordings. Sub-block id: participantScope.

LabelID
All`` (empty string — no filter)
Internalinternal
Externalexternal

A free-text search term to filter recordings by their title. Optional. Shown only for List Recordings. Sub-block id: titleSearch.

Team ID

Filter recordings by team UUID. Optional. Shown only for List Recordings. Sub-block id: teamId.

Meeting Type ID

Filter recordings by meeting type UUID. Optional. Shown only for List Recordings. Sub-block id: meetingTypeId.

Include Highlights

Toggle to embed highlights/clips in the response. Shown for List Recordings and Get Recording. Sub-block id: includeHighlights.

Include Participants

Toggle to embed the participant list in the response. Shown for List Recordings and Get Recording. Sub-block id: includeParticipants.

Include AI Summary

Toggle to embed the AI-generated summary in the response. Shown for List Recordings and Get Recording. Sub-block id: includeAiSummary.

Include Calendar Event

Toggle to embed the associated calendar event data on the recording. Shown only for Get Recording. Sub-block id: includeCalendarEvent.

Include HubSpot Data

Toggle to embed HubSpot CRM associations on the recording. Shown only for Get Recording. Sub-block id: includeHubspot.

View ID

The Grain view UUID to scope a new webhook to. Required for Create Webhook. Sub-block id: viewId.

Webhook URL

The endpoint URL that Grain will POST events to. Required for Create Webhook. Sub-block id: hookUrl.

Webhook ID

The UUID of an existing webhook. Required for Delete Webhook. Sub-block id: hookId.

Inputs & Outputs

  • Inputs: operation (string) — Operation to perform; apiKey (string) — Grain API key (Personal Access Token); recordingId (string) — Recording UUID; cursor (string) — Pagination cursor; viewId (string) — Grain view UUID for webhook subscriptions; beforeDatetime (string) — Filter recordings before this ISO8601 timestamp; afterDatetime (string) — Filter recordings after this ISO8601 timestamp; participantScope (string) — Filter by participant scope (internal/external); titleSearch (string) — Search recordings by title; teamId (string) — Filter by team UUID; meetingTypeId (string) — Filter by meeting type UUID; includeHighlights (boolean) — Include highlights in response; includeParticipants (boolean) — Include participants in response; includeAiSummary (boolean) — Include AI summary in response; includeCalendarEvent (boolean) — Include calendar event in response; includeHubspot (boolean) — Include HubSpot data in response; hookUrl (string) — Webhook endpoint URL; hookId (string) — Webhook UUID to delete
  • Outputs: recordings (json) — List of recordings; recording (json) — Single recording details; transcript (json) — Recording transcript; views (json) — List of views; teams (json) — List of teams; meetingTypes (json) — List of meeting types; hooks (json) — List of webhooks; hook (json) — Created webhook details

Tools

  • Grain List Recordings (grain_list_recordings) — Lists recordings from Grain with optional filters (date range, team, meeting type, title search, participant scope) and cursor-based pagination. Optionally embeds highlights, participants, and AI summary.
  • Grain Get Recording (grain_get_recording) — Returns full details for a single recording by UUID. Optionally embeds highlights, participants, AI summary, calendar event, and HubSpot associations.
  • Grain Get Transcript (grain_get_transcript) — Returns the full transcript of a recording as an array of sections, each containing speaker, text, and start/end timestamps.
  • Grain List Views (grain_list_views) — Lists saved views in the Grain workspace, optionally filtered by type (recordings, highlights, or stories).
  • Grain List Teams (grain_list_teams) — Returns all teams in the Grain workspace, providing ids and names for use as filter inputs.
  • Grain List Meeting Types (grain_list_meeting_types) — Returns all meeting types configured in the Grain workspace.
  • Grain Create Hook (grain_create_hook) — Creates a webhook scoped to a Grain view; Grain will POST recording events (added, updated, removed) to the given URL.
  • Grain List Hooks (grain_list_hooks) — Returns all webhooks registered in the Grain workspace.
  • Grain Delete Hook (grain_delete_hook) — Deletes a webhook by its UUID.

YAML Example

grain_1:
  type: grain
  name: "Grain"
  inputs:
    operation: "grain_get_transcript"
    apiKey: "{{GRAIN_API_KEY}}"
    recordingId: "{{start.recordingId}}"
  connections:
    outgoing:
      - target: next-block-id