fix(fireflies): support V2 webhook payload format for meetingId mapping#4221
fix(fireflies): support V2 webhook payload format for meetingId mapping#4221waleedlatif1 merged 2 commits intostagingfrom
Conversation
Fireflies V2 webhooks use snake_case field names (meeting_id, event, client_reference_id) instead of camelCase (meetingId, eventType, clientReferenceId). The formatInput handler now auto-detects V1 vs V2 payloads and maps fields correctly, fixing empty meetingId on V2 webhooks. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
PR SummaryMedium Risk Overview Exposes an optional Reviewed by Cursor Bugbot for commit 2586e7d. Configure here. |
Greptile SummaryThis bug fix adds V2 webhook payload support to the Fireflies integration, auto-detecting format by checking for both Prior review concerns — the Confidence Score: 5/5Safe to merge — prior P0/P1 concerns are resolved and the implementation is correct. Both issues raised in prior review rounds (OR vs AND detection heuristic, NaN timestamp propagation) are fixed. No new P0/P1 findings introduced. Remaining observations are P2-level at most. No files require special attention. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Incoming Fireflies Webhook POST] --> B{Detect Version}
B -->|meeting_id AND event are strings| C[V2 Snake_case Mapping]
B -->|otherwise| D[V1 CamelCase Mapping]
C --> E[meetingId = meeting_id\neventType = event\nclientReferenceId = client_reference_id]
D --> F[meetingId = meetingId\neventType = eventType\nclientReferenceId = clientReferenceId]
E --> G[Extract timestamp]
F --> G
G -->|b.timestamp != null| H{Number.isFinite?}
H -->|yes| I[Include timestamp in output]
H -->|no / NaN| J[Omit timestamp from output]
I --> K[Return FormatInputResult]
J --> K
Reviews (2): Last reviewed commit: "fix(fireflies): guard against NaN timest..." | Re-trigger Greptile |
Address PR review feedback: - Use Number.isFinite guard to prevent NaN timestamp propagation - Use AND instead of OR for V2 detection since both meeting_id and event are required fields in every V2 payload Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
@greptile |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 2586e7d. Configure here.

Summary
meeting_id,event,client_reference_id) instead of V1 camelCase (meetingId,eventType,clientReferenceId)formatInputnow auto-detects V1 vs V2 payloads and maps fields correctlytimestampoutput field exposed by V2 webhooksType of Change
Testing
Tested manually
Checklist