# Fireflies Automatically (with cli util : webhook not working and no cron added) captures meeting notes with AI-generated summaries and insights from Fireflies.ai into your Twenty CRM. ## Current Status - Doesn't work with Fireflies webhook yet due to missing headers forwarding in twenty serverless func - Meeting ingestion utility script are available for individual meeting insertion and historical meetings with filters with yarn meeting:all - You have to push the secrets as application.config.ts values (despite env variables in .env in docker compose or container I couldn't push the secrets with the cli) ## Current Platform Limitation (Headers) - Twenty serverless route triggers currently do **not forward HTTP headers** to functions. Fireflies signatures sent in headers are stripped, so header-based verification does not work in production. - Workaround: the provided test script also includes the signature inside the payload; the handler falls back to that payload signature. Use this only for testing until header forwarding is supported. ## Utilities for meeting insertion (workarounds) - Ingest a specific Fireflies meeting into Twenty: `yarn meeting:ingest <meetingId>` or `MEETING_ID=... yarn meeting:ingest` - Fetch all/historical Fireflies meetings into Twenty: `yarn meeting:all [--from 2024-01-01] [--to 2024-02-01] [--organizer a@x.com] [--participant b@x.com] [--channel <channelId>] [--mine] [--dry-run]` - Filters (combine as needed): - `--from` / `--to`: ISO or date string range filter - `--organizer` / `--participant`: comma-separated emails - `--channel`: Fireflies channel id - `--mine`: only meetings for the current Fireflies user - Controls: - `--dry-run`: list and transform without writing to Twenty - `--page-size`: pagination size (default 50) - `--max-records`: stop after N transcripts (default 500) I am closing previous #16378 as this one includes it all
33 lines
796 B
JSON
33 lines
796 B
JSON
{
|
|
"name": "fireflies",
|
|
"version": "0.3.0",
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": "^24.5.0",
|
|
"npm": "please-use-yarn",
|
|
"yarn": ">=4.0.2"
|
|
},
|
|
"packageManager": "yarn@4.9.2",
|
|
"scripts": {
|
|
"test": "jest",
|
|
"setup:fields": "tsx scripts/add-meeting-fields.ts",
|
|
"test:webhook": "tsx scripts/test-webhook.ts",
|
|
"meeting:ingest": "tsx scripts/ingest-meeting.ts",
|
|
"meeting:delete": "tsx scripts/delete-meeting.ts",
|
|
"meeting:all": "tsx scripts/fetch-all-meetings.ts"
|
|
},
|
|
"dependencies": {
|
|
"axios": "^1.13.1",
|
|
"dotenv": "^17.2.3",
|
|
"twenty-sdk": "0.1.3"
|
|
},
|
|
"devDependencies": {
|
|
"@types/jest": "^29.5.5",
|
|
"@types/node": "^24.9.2",
|
|
"jest": "^29.7.0",
|
|
"ts-jest": "^29.1.1",
|
|
"tsx": "^4.19.3",
|
|
"typescript": "^5.9.3"
|
|
}
|
|
}
|