Grain
Authentication Type: API Key Description: Meeting recording and intelligence platform for accessing recordings, transcripts, AI summaries, and team data.
Authentication
To authenticate, you'll need a Grain API key. Learn how to create one in the Grain documentation.
Navigate to Settings > Integrations > Public API to generate your API key.
Recordings
Operations for accessing meeting recordings and transcripts.
List Recordings
List recordings with optional filters for title, date range, participants, and team.
Operation Type: Query (Read)
Parameters:
- titleSearch
string(nullable): Search recordings by title - startDateFrom
string(nullable): Filter recordings starting from this ISO date - startDateTo
string(nullable): Filter recordings starting before this ISO date - participantScope
string(nullable): Filter by participant scope (internal, external, all) - teamId
string(nullable): Filter by team ID - meetingTypeId
string(nullable): Filter by meeting type ID - cursor
string(nullable): Pagination cursor from a previous response - limit
number(nullable): Maximum recordings to return (default 20, max 100)
Returns:
- recordings
array of objects: Array of recordings- id
string: Recording ID - title
string: Recording title - url
string: URL to view the recording in Grain - startDate
string: ISO timestamp of recording start - endDate
string: ISO timestamp of recording end - duration
number: Duration in seconds - ownerEmail
string(nullable): Owner's email address
- id
- cursor
string(nullable): Cursor for next page
Example Usage:
{
"titleSearch": "product review",
"startDateFrom": "2024-01-01T00:00:00Z",
"startDateTo": "2024-03-31T23:59:59Z",
"participantScope": null,
"teamId": null,
"meetingTypeId": null,
"cursor": null,
"limit": 20
}
Get Recording
Get full details of a specific recording with optional includes for participants, highlights, AI summary, and action items.
Operation Type: Query (Read)
Parameters:
- recordingId
string(required): The recording ID to retrieve - includeParticipants
boolean(nullable): Include participant list (default false) - includeHighlights
boolean(nullable): Include highlights/clips (default false) - includeAiSummary
boolean(nullable): Include AI-generated summary (default false) - includeAiActionItems
boolean(nullable): Include AI-generated action items (default false)
Returns:
- recording
object: Recording details- id
string: Recording ID - title
string: Recording title - url
string: URL to view the recording - startDate
string: Recording start time - endDate
string: Recording end time - duration
number: Duration in seconds - ownerEmail
string(nullable): Owner's email - participants
array of objects(nullable): Meeting participants (if requested)- email
string: Participant email - name
string(nullable): Participant name
- email
- highlights
array of objects(nullable): Recording highlights (if requested)- id
string: Highlight ID - title
string(nullable): Highlight title - transcript
string(nullable): Highlight transcript text
- id
- aiSummary
string(nullable): AI-generated meeting summary (if requested) - aiActionItems
array of strings(nullable): AI-generated action items (if requested)
- id
Example Usage:
{
"recordingId": "rec_abc123def456",
"includeParticipants": true,
"includeHighlights": false,
"includeAiSummary": true,
"includeAiActionItems": true
}
Get Transcript
Get the full transcript of a recording with speaker labels and timestamps.
Operation Type: Query (Read)
Parameters:
- recordingId
string(required): The recording ID to get the transcript for
Returns:
- segments
array of objects: Transcript segments- speaker
string(nullable): Speaker name or identifier - text
string: Spoken text - startTime
number: Start time in seconds - endTime
number: End time in seconds
- speaker
Example Usage:
{
"recordingId": "rec_abc123def456"
}
Users
Operations for accessing workspace user data.
List Users
List all users in the Grain workspace.
Operation Type: Query (Read)
Parameters:
No parameters required.
Returns:
- users
array of objects: Array of workspace users- id
string: User ID - email
string: User email - name
string(nullable): User display name
- id
Example Usage:
{}
Teams
Operations for accessing team data.
List Teams
List all teams in the Grain workspace.
Operation Type: Query (Read)
Parameters:
No parameters required.
Returns:
- teams
array of objects: Array of teams- id
string: Team ID - name
string: Team name
- id
Example Usage:
{}
Meeting Types
Operations for accessing meeting type definitions.
List Meeting Types
List all configured meeting types in the workspace.
Operation Type: Query (Read)
Parameters:
No parameters required.
Returns:
- meetingTypes
array of objects: Array of meeting types- id
string: Meeting type ID - name
string: Meeting type name
- id
Example Usage:
{}
Common Use Cases
Meeting Intelligence:
- Search recordings by title or date range to find specific meetings
- Get AI summaries and action items for quick meeting recaps
- Retrieve full transcripts for detailed review or compliance
Sales & Customer Success:
- Filter recordings by participant scope (external) to find customer calls
- Extract action items from sales calls for follow-up tracking
- Review highlights and key moments from customer meetings
Team Management:
- List recordings by team to monitor meeting volume and patterns
- Filter by meeting type to analyze different types of calls
- Use transcripts for coaching and training purposes
Data & Reporting:
- List users and teams for organizational mapping
- Aggregate recording data across date ranges for meeting analytics
- Export transcripts for integration with other analysis tools