New260+ blocks and 240+ tools are now fully documented
DocumentationReferenceTool IntegrationsProductivity & Docs
Tool

Grain Tools

Access Grain meeting recordings, transcripts, AI summaries, and webhooks

Grain captures, transcribes, and summarizes your meeting recordings. Use these tools in a workflow to list and fetch recordings, pull full transcripts and AI-generated summaries, browse views/teams/meeting types, and manage webhooks that notify your workflow when recordings change.

Overview

PropertyValue
Providergrain
Categorytools
AuthBearer Token (Grain API key / Personal Access Token)

Operations

OperationTool IDDescription
List Recordingsgrain_list_recordingsList recordings from Grain with optional filters and pagination
Get Recordinggrain_get_recordingGet details of a single recording by ID
Get Transcriptgrain_get_transcriptGet the full transcript of a recording
List Viewsgrain_list_viewsList saved views in Grain
List Teamsgrain_list_teamsList all teams in the Grain workspace
List Meeting Typesgrain_list_meeting_typesList all meeting types in the Grain workspace
Create Webhookgrain_create_hookCreate a webhook to receive Grain recording events
List Webhooksgrain_list_hooksList all webhooks in the Grain workspace
Delete Webhookgrain_delete_hookDelete a webhook from the Grain workspace

Configuration

All operations authenticate with a Grain API key (Personal Access Token), sent as a Bearer token in the Authorization header. The apiKey parameter is a secret — store it as an environment variable and reference it with {{...}} rather than hard-coding it.

grain_list_recordings

ParameterTypeRequiredDescription
apiKeystringYesGrain API key (Personal Access Token). Secret.
cursorstringNoPagination cursor from a previous response
beforeDatetimestringNoOnly recordings before this ISO8601 timestamp
afterDatetimestringNoOnly recordings after this ISO8601 timestamp
participantScopestringNoFilter scope: internal or external
titleSearchstringNoSearch term to filter by recording title
teamIdstringNoFilter by team UUID
meetingTypeIdstringNoFilter by meeting type UUID
includeHighlightsbooleanNoInclude highlights/clips in the response
includeParticipantsbooleanNoInclude the participant list in the response
includeAiSummarybooleanNoInclude the AI-generated summary

grain_get_recording

ParameterTypeRequiredDescription
apiKeystringYesGrain API key. Secret.
recordingIdstringYesThe recording UUID
includeHighlightsbooleanNoInclude highlights/clips
includeParticipantsbooleanNoInclude the participant list
includeAiSummarybooleanNoInclude the AI summary
includeCalendarEventbooleanNoInclude calendar event data
includeHubspotbooleanNoInclude HubSpot associations

grain_get_transcript

ParameterTypeRequiredDescription
apiKeystringYesGrain API key. Secret.
recordingIdstringYesThe recording UUID

grain_list_views

ParameterTypeRequiredDescription
apiKeystringYesGrain API key. Secret.
typeFilterstringNoFilter by type: recordings, highlights, or stories

grain_list_teams

ParameterTypeRequiredDescription
apiKeystringYesGrain API key. Secret.

grain_list_meeting_types

ParameterTypeRequiredDescription
apiKeystringYesGrain API key. Secret.

grain_create_hook

ParameterTypeRequiredDescription
apiKeystringYesGrain API key. Secret.
hookUrlstringYesThe URL to send webhook events to
viewIdstringYesView ID to scope the webhook to
actionsstringNoComma-separated actions: added, updated, removed (defaults to all three)

grain_list_hooks

ParameterTypeRequiredDescription
apiKeystringYesGrain API key. Secret.

grain_delete_hook

ParameterTypeRequiredDescription
apiKeystringYesGrain API key. Secret.
hookIdstringYesThe hook ID to delete

Outputs

grain_list_recordings

  • recordings (array) — Array of recording objects
  • cursor (string, optional) — Cursor for the next page

grain_get_recording

  • id (string) — Recording UUID
  • title (string) — Recording title
  • url (string) — URL to view in Grain
  • duration_ms (number) — Duration in milliseconds
  • participants (array, optional) — Participants list
  • ai_summary (json, optional) — AI summary

grain_get_transcript

  • transcript (array) — Array of transcript sections with speaker, text, and start/end times

grain_list_views

  • views (array) — Array of view objects

grain_list_teams

  • teams (array) — Array of team objects with id and name

grain_list_meeting_types

  • meeting_types (array) — Array of meeting type objects

grain_create_hook

  • id (string) — Hook ID
  • hook_url (string) — Webhook URL
  • enabled (boolean) — Whether the hook is enabled

grain_list_hooks

  • hooks (array) — Array of webhook objects

grain_delete_hook

  • success (boolean) — Whether the hook was deleted

YAML Example

grain_1:
  type: grain
  name: "Grain"
  inputs:
    operation: "grain_list_recordings"
    apiKey: "{{GRAIN_API_KEY}}"
    afterDatetime: "2024-01-01T00:00:00Z"
    includeAiSummary: true
  connections:
    outgoing:
      - target: next-block-id

Tips

  • Auth setup: Generate a Personal Access Token in your Grain account settings and store it as an environment variable (e.g. GRAIN_API_KEY), then reference it with {{GRAIN_API_KEY}}. Every operation requires it. Requests are sent against https://api.grain.com/_/public-api/v2 with the Public-Api-Version: 2025-10-31 header.
  • Pagination: grain_list_recordings returns a cursor when more results exist. Pass it back as the cursor parameter to fetch the next page.
  • Rich data is opt-in: The includeHighlights, includeParticipants, includeAiSummary, includeCalendarEvent, and includeHubspot switches default to off — enable only what you need to keep responses small. Transcripts come from the separate grain_get_transcript operation.
  • Webhooks need a view: grain_create_hook requires a viewId to scope events; use grain_list_views to find one. When actions is omitted, the hook subscribes to added, updated, and removed events.