Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Implement Fireflies.ai webhook receiver with HMAC signature verification and event processing. Use when setting up webhook endpoints, handling transcript-ready notifications, or building real-time meeting intelligence pipelines. Trigger with phrases like "fireflies webhook", "fireflies events", "fireflies webhook signature", "handle fireflies events", "fireflies notifications".
.claude/skills/jeremylongshore-fireflies-webhooks-events/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 39% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 54% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 151% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 45% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 134% | 0% |
Implement a current Fireflies Webhooks V2 consumer with raw-body HMAC verification, event allowlisting, idempotency, ordering tolerance, and fast acknowledgement.
V2 payloads contain event, timestamp, meeting_id, and optional client_reference_id. Documented events include meeting.transcribed and meeting.summarized. X-Hub-Signature is sha256=<hex HMAC> over the raw body; valid deliveries need a 2xx response within 10 seconds.
For authenticated operations, inject FIREFLIES_API_KEY from an approved secret manager and send it only as Authorization: Bearer REDACTED_KEY to https://api.fireflies.ai/graphql. Never print, commit, place in a URL, forward to a browser, or include the key in evidence. Webhook signing secrets are separate credentials and must not be reused as API keys.
Use Read, Glob, and Grep to inspect code, configuration, tests, and evidence. Use Write/Edit only for approved implementation or documentation changes. Do not query Fireflies, retrieve meeting content, create an AskFred thread, upload media, change account state, replay an event, or deploy merely because this skill was invoked.
Require approval before subscribing to team-wide events, fetching transcript content after an event, replaying a delivery, or retaining payloads.
Return the exact operation or event surface, environment, authorization class, selected field groups, validation results, content-free metrics, decisions, and a concise pass/fail receipt. Keep secrets and meeting-derived content out of general output.
Before reporting success, rerun the smallest relevant deterministic check, compare actual state with the requested outcome and current contract, verify no secret or meeting-derived content entered logs or artifacts, and record unresolved uncertainty explicitly.
Read official Fireflies.ai evidence before relying on a field, filter, event, permission, plan limit, mutation, or processing state.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 19,734 | 592,837 | +2904% | 1 | 1 | 0% | 4,283 | 5,964 | +39% | 0 | 0 | — |
case-02 | fail→pass | 15,992 | 13,916 | -13% | 1 | 1 | 0% | 3,376 | 5,209 | +54% | 0 | 0 | — |
case-03 | fail→pass | 15,087 | 2,820 | -81% | 1 | 1 | 0% | 989 | 2,482 | +151% | 0 | 0 | — |
case-04 | pass→pass | 7,031 | 1,749 | -75% | 1 | 1 | 0% | 1,238 | 2,242 | +81% | 0 | 0 | — |
case-05 | pass→pass | 3,801 | 2,063 | -46% | 1 | 1 | 0% | 691 | 2,339 | +238% | 0 | 0 | — |
case-06 | fail→pass | 9,426 | 2,177 | -77% | 1 | 1 | 0% | 1,647 | 2,393 | +45% | 0 | 0 | — |
case-07 | pass→pass | 14,290 | 9,646 | -32% | 1 | 1 | 0% | 2,673 | 3,872 | +45% | 0 | 0 | — |
case-08 | pass→pass | 10,795 | 6,282 | -42% | 1 | 1 | 0% | 1,833 | 3,074 | +68% | 0 | 0 | — |
case-09 | pass→pass | 8,227 | 3,366 | -59% | 1 | 1 | 0% | 1,252 | 2,572 | +105% | 0 | 0 | — |
case-10 | pass→pass | 26,170 | 2,630 | -90% | 1 | 1 | 0% | 4,707 | 2,423 | -49% | 0 | 0 | — |
case-11 | fail→pass | 5,850 | 1,250 | -79% | 1 | 1 | 0% | 917 | 2,149 | +134% | 0 | 0 | — |
case-12 | pass→pass | 4,592 | 3,326 | -28% | 1 | 1 | 0% | 821 | 2,553 | +211% | 0 | 0 | — |
case-13 | pass→pass | 6,519 | 2,956 | -55% | 1 | 1 | 0% | 1,152 | 2,507 | +118% | 0 | 0 | — |
case-14 | pass→pass | 5,156 | 3,220 | -38% | 1 | 1 | 0% | 918 | 2,546 | +177% | 0 | 0 | — |
case-15 | pass→pass | 13,415 | 11,534 | -14% | 1 | 1 | 0% | 1,908 | 3,851 | +102% | 0 | 0 | — |
case-16 | fail→pass | 13,296 | 11,814 | -11% | 1 | 1 | 0% | 2,061 | 4,158 | +102% | 0 | 0 | — |
case-17 | fail→pass | 8,431 | 6,154 | -27% | 1 | 1 | 0% | 1,586 | 3,310 | +109% | 0 | 0 | — |
case-18 | pass→pass | 5,230 | 2,015 | -61% | 1 | 1 | 0% | 877 | 2,289 | +161% | 0 | 0 | — |
case-19 | pass→pass | 5,674 | 3,147 | -45% | 1 | 1 | 0% | 1,070 | 2,583 | +141% | 0 | 0 | — |
case-20 | fail→fail | 13,396 | 14,230 | +6% | 1 | 1 | 0% | 2,567 | 4,929 | +92% | 0 | 0 | — |
case-21 | pass→pass | 9,351 | 7,143 | -24% | 1 | 1 | 0% | 1,534 | 3,271 | +113% | 0 | 0 | — |
case-22 | fail→fail | 22,433 | 22,813 | +2% | 1 | 1 | 0% | 3,903 | 6,307 | +62% | 0 | 0 | — |
case-23 | pass→pass | 9,503 | 5,727 | -40% | 1 | 1 | 0% | 1,898 | 3,149 | +66% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 22 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +30 percentage points is the difference between those two pass rates over the 22 comparable cases.
The publisher has shipped newer versions since this run, so these numbers describe v1, not the version currently listed.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.