Fireflies.ai Integration
Cync integrates with Fireflies.ai to fetch and analyze meeting transcripts.
Overview
Fireflies.ai is a meeting transcription service that:
- Joins meetings via bot (Zoom, Teams, Meet)
- Transcribes audio to text
- Provides speaker identification
- Generates meeting summaries
Setup
1. Get API Key
- Go to Fireflies Integrations
- Generate a new API key
- Copy the key
2. Configure Environment
# .env.local
FIREFLIES_API_KEY=your-api-key-here
API Usage
GraphQL Endpoint
Fireflies uses GraphQL:
https://api.fireflies.ai/graphql
Fetching Transcripts
const query = `
query Transcripts($limit: Int) {
transcripts(limit: $limit) {
id
title
dateString
duration
participants
transcript_url
summary {
overview
shorthand_bullet
action_items
}
}
}
`;
const response = await fetch('https://api.fireflies.ai/graphql', {
method: 'POST',
headers: {
'Authorization': `Bearer ${FIREFLIES_API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({ query, variables: { limit: 20 } })
});
Transcript Object
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier |
title | string | Meeting title |
dateString | string | Meeting date |
duration | number | Duration in seconds |
participants | string[] | Attendee list |
transcript_url | string | Full transcript URL |
summary.overview | string | AI-generated overview |
summary.action_items | string[] | Extracted action items |
Cync Implementation
Fireflies Client
// lib/services/fireflies.ts
export async function fetchTranscripts(limit = 20) {
const response = await firefliesClient.query({
query: TRANSCRIPTS_QUERY,
variables: { limit }
});
return response.data.transcripts;
}
API Route
// app/api/fireflies/route.ts
export async function GET() {
const transcripts = await fetchTranscripts();
return Response.json(transcripts);
}
Rate Limits
Fireflies has rate limits on API calls:
- Check current limits in Fireflies dashboard
- Implement caching for frequently accessed transcripts
- Handle 429 (rate limit) errors gracefully
Data Flow
Fireflies API ──▶ /api/fireflies ──▶ UI Component
│
▼
Local caching (future)
Troubleshooting
Authentication Errors
Error: 401 Unauthorized
- Verify API key is correct
- Check key hasn't been revoked
- Ensure no extra whitespace in .env
Empty Transcripts
- Meeting may still be processing
- Bot may not have joined successfully
- Check Fireflies dashboard for status