Skip to main content
The Fireflies plugin handles incoming webhooks. Point your provider’s subscription URL at your Corsair HTTP handler (see Overview for setup context and the exact URL shape).
New to Corsair? See webhooks and hooks.

Webhook map

  • meetings
    • inMeeting (meetings.inMeeting)
    • meetingDeleted (meetings.meetingDeleted)
    • newMeeting (meetings.newMeeting)
  • transcriptions
    • transcriptionComplete (transcriptions.transcriptionComplete)
    • transcriptProcessing (transcriptions.transcriptProcessing)

HTTP handler setup

app/api/webhook/route.ts
import { processWebhook } from "corsair";
import { corsair } from "@/server/corsair";

export async function POST(request: Request) {
    const headers = Object.fromEntries(request.headers);
    const body = await request.json();
    const result = await processWebhook(corsair, headers, body);
    return result.response;
}

Events

Meetings

In Meeting

meetings.inMeeting Fireflies bot has joined a meeting Payload
NameTypeRequiredDescription
meetingIdstringYes
clientReferenceIdstringNo
eventTypeInMeetingYes
{
  meetingId: string,
  clientReferenceId?: string | null,
  eventType: InMeeting
}
webhookHooks example
fireflies({
    webhookHooks: {
        meetings: {
            inMeeting: {
                before(ctx, args) {
                    return { ctx, args };
                },
                after(ctx, response) {
                },
            },
        },
    },
})

Meeting Deleted

meetings.meetingDeleted A meeting has been deleted Payload
NameTypeRequiredDescription
meetingIdstringYes
clientReferenceIdstringNo
eventTypeMeetingDeletedYes
{
  meetingId: string,
  clientReferenceId?: string | null,
  eventType: MeetingDeleted
}
webhookHooks example
fireflies({
    webhookHooks: {
        meetings: {
            meetingDeleted: {
                before(ctx, args) {
                    return { ctx, args };
                },
                after(ctx, response) {
                },
            },
        },
    },
})

New Meeting

meetings.newMeeting A new meeting has been detected Payload
NameTypeRequiredDescription
meetingIdstringYes
clientReferenceIdstringNo
eventTypeNewMeetingYes
{
  meetingId: string,
  clientReferenceId?: string | null,
  eventType: NewMeeting
}
webhookHooks example
fireflies({
    webhookHooks: {
        meetings: {
            newMeeting: {
                before(ctx, args) {
                    return { ctx, args };
                },
                after(ctx, response) {
                },
            },
        },
    },
})

Transcriptions

Transcription Complete

transcriptions.transcriptionComplete Transcription is complete and available Payload
NameTypeRequiredDescription
meetingIdstringYes
clientReferenceIdstringNo
eventTypeTranscriptionYes
{
  meetingId: string,
  clientReferenceId?: string | null,
  eventType: Transcription
}
webhookHooks example
fireflies({
    webhookHooks: {
        transcriptions: {
            transcriptionComplete: {
                before(ctx, args) {
                    return { ctx, args };
                },
                after(ctx, response) {
                },
            },
        },
    },
})

Transcript Processing

transcriptions.transcriptProcessing Transcript is being processed Payload
NameTypeRequiredDescription
meetingIdstringYes
clientReferenceIdstringNo
eventTypeTranscriptProcessingYes
{
  meetingId: string,
  clientReferenceId?: string | null,
  eventType: TranscriptProcessing
}
webhookHooks example
fireflies({
    webhookHooks: {
        transcriptions: {
            transcriptProcessing: {
                before(ctx, args) {
                    return { ctx, args };
                },
                after(ctx, response) {
                },
            },
        },
    },
})