fireflies.ai
fireflies.
A meeting transcript — list/search, fetch one (full sentences +
setup & usage
crée une clé API dans Fireflies (app.fireflies.ai → Integrations → API — voir la doc d'intégration), puis colle-la dans oto.
fireflies transcrit tes réunions et donne accès aux transcripts, au contrôle d'une réunion EN COURS, à son assistant Q&A AskFred et aux données d'organisation, en 7 tools :
fireflies_transcript(op="list", keyword="budget", mine=True)fireflies_transcript(op="get", transcript_id="...") (résumé, sentences, analytics, participants — tout en un appel)fireflies_transcript(op="upload", url="https://...", title="...") — l'URL doit être publiquement accessiblefireflies_transcript(op="update_title"|"update_privacy"|"update_channel", ...)fireflies_transcript(op="share", transcript_id="...", emails=[...])fireflies_transcript(op="create_upload_url", content_type="audio/mpeg", file_size=...) puis, une fois les octets envoyés à l'URL rendue, op="confirm_upload" — flux non documenté par Fireflies, découvert en live via introspection (le PUT des octets se fait hors agent, comme pour Grain)fireflies_live_meeting(op="list_active")fireflies_live_meeting(op="add_bot", meeting_link="https://zoom.us/...")fireflies_live_meeting(op="create_action_item"|"create_soundbite", meeting_id="...", prompt="...")fireflies_askfred(op="create_thread", query="...") (cherche sur plusieurs réunions ; passe transcript_id pour cibler une seule réunion)fireflies_askfred(op="continue_thread", thread_id="...", query="...")fireflies_user(op="list"|"groups")fireflies_channel(op="list")fireflies_bite(op="create", transcript_id="...", start_time=120, end_time=145)fireflies_org(op="analytics", start_time="...", end_time="...")fireflies_org(op="contacts")Fireflies configure ses webhooks (V1 comme V2) exclusivement depuis son interface web (Settings, puis Integrations → API → Webhook) — il n'existe aucune query ni mutation GraphQL pour créer/lister/supprimer un abonnement webhook. Ce connecteur n'a donc volontairement aucun tool *_webhook : la configuration se fait directement sur app.fireflies.ai.
Construit à partir de la documentation Fireflies (aucun spec OpenAPI accessible — docs.fireflies.ai/api-reference/openapi.json est listé dans le sitemap mais rend 404 au fetch). L'API live, elle, expose l'introspection GraphQL — testé le 2026-08-20 contre une vraie clé, 27/30 méthodes conformes du premier coup, 3 vrais bugs corrigés (type d'argument erroné sur list_transcripts, champ inexistant sur get_askfred_thread, faute de frappe côté API elle-même sur createBite).
⚠️ Fireflies lui-même ne valide PAS l'existence d'un `channel_id` sur op="update_channel" — assigner un id de canal inexistant réussit silencieusement côté Fireflies, et aucune mutation ne permet de « désassigner » un canal une fois posé. Ce connecteur s'en protège : fireflies_transcript(op="update_channel", ...) vérifie l'id contre fireflies_channel(op="list") et refuse un id inconnu AVANT d'appeler Fireflies — inutile de le faire toi-même.
outils
utilisation
claude plugin marketplace add otomata-tech/oto-plugin — mcp + skill configurés.pipx install oto-cli puis oto fireflies …