# 🧠 AI-Powered Meeting Transcript to CRM Data Integration ## **Overview** This feature automatically transforms meeting transcripts into structured CRM data using AI. When unstructured meeting notes are received via a **webhook**, the system processes them and creates organized **notes, tasks, and assignments** directly in **Twenty CRM**. --- ## **Key Features** - **🤖 AI-Powered Analysis:** Extracts **summaries, action items, assignees, and due dates** from natural language transcripts. - **📋 Smart Task Consolidation:** Merges related sub-tasks into unified deliverables *(e.g., `"draft" + "review" + "present"` → one consolidated task).* - **👥 Intelligent Assignment:** Uses **GraphQL member lookup** to match extracted assignee names to workspace member IDs with flexible string matching. - **🔗 Automatic Linking:** Links generated **notes and tasks** to relevant contacts using `noteTargets` and `taskTargets`. - **🗓️ Date Parsing:** Converts **relative date expressions** (e.g., “next Monday”, “end of week”) into **ISO-formatted dates** for accurate scheduling. --- ## **Technical Stack** | Component | Description | |------------|-------------| | **AI Provider** | Groq (via OpenAI SDK) using the `GPT-OSS-20B` model | | **APIs** | Twenty CRM REST API + GraphQL (for member resolution) | | **Runtime** | Webhook-triggered **serverless function** written in **TypeScript** | --- ## **Example Input** ```json { "transcript": "During the Project Phoenix Kick-off on November 1st, 2025, we discussed securing the Series B funding. ACTION: Dylan Field is designated to finalize the investor deck layout and needs to present it next Monday, November 4th. Irfan Hussain will review the deck before the presentation by Monday morning. COMMITMENT: Dario Amodei confirmed he would personally review the security protocols for the AI model before the end of this week, by Friday November 7th. Iqra Khan will coordinate the security review process and ensure completion by the Friday deadline.", "meetingTitle": "Project Phoenix Kick-off", "meetingDate": "2025-11-01", "participants": [ "Brian Chesky", "Dario Amodei", "Iqra Khan", "Irfan Hussain", "Dylan Field" ], "token": "e6d9d54e51953fd5a451cca933c63e7f8783b001f0c45be95be9d09ee06c6cda", "relatedPersonId": "6c4b0e98-b69e-42a4-ba0c-fd2eeafca642" } ``` --- ## **Example Output** ```json { "success": true, "noteId": "9cc3b4fc-ae37-4b3e-a343-a4c69cf6b1e8", "taskIds": [ "0f408062-0dcc-49f0-9866-1ea05392661d", "2b3739bf-0653-4101-9419-6a44ea5135cd" ], "summary": { "noteCreated": true, "tasksCreated": 2, "actionItemsProcessed": 2, "commitmentsProcessed": 0 }, "executionLogs": [ "✅ Validation passed", "📝 RelatedPersonId: 6c4b0e98-b69e-42a4-ba0c-fd2eeafca642", "🤖 Starting transcript analysis...", "✅ Analysis complete: 2 action items, 0 commitments", "📄 Creating note in Twenty CRM...", "✅ Note created: 9cc3b4fc-ae37-4b3e-a343-a4c69cf6b1e8", "📋 Creating tasks from action items...", "✅ Action item tasks created: 2", "📋 Creating tasks from commitments...", "✅ Commitment tasks created: 0" ] } ``` --- Variable Name | Description -- | -- GROQ_API_KEY | API key for authenticating requests to the Groq AI service. TWENTY_API_KEY | Authentication token used to access the Twenty CRM API. TWENTY_API_URL | Base URL for the Twenty CRM REST API. WEBHOOK_SECRET | Secret key used to validate incoming webhook requests for security. NODE_ENV | Defines the runtime environment (development, production, etc.). LOG_LEVEL | Controls verbosity of logs (info, debug, error). --- ## **Attachments** <img width="649" height="863" alt="swappy-20251103-035128" src="https://github.com/user-attachments/assets/2f0390af-9538-4fe2-bba8-f38e558935ad" /> --- https://github.com/user-attachments/assets/88620035-67ed-4150-b0be-46131083e2c5 --- Co-authored-by: iqra77818 <iqra77818@gmail.com>
The #1 Open-Source CRM
🌐 Website · 📚 Documentation · Roadmap ·
Discord ·
Figma
Installation
See: 🚀 Self-hosting 🖥️ Local Setup
Does the world need another CRM?
We built Twenty for three reasons:
CRMs are too expensive, and users are trapped. Companies use locked-in customer data to hike prices. It shouldn't be that way.
A fresh start is required to build a better experience. We can learn from past mistakes and craft a cohesive experience inspired by new UX patterns from tools like Notion, Airtable or Linear.
We believe in Open-source and community. Hundreds of developers are already building Twenty together. Once we have plugin capabilities, a whole ecosystem will grow around it.
What You Can Do With Twenty
Please feel free to flag any specific needs you have by creating an issue.
Below are a few features we have implemented to date:
- Personalize layouts with filters, sort, group by, kanban and table views
- Customize your objects and fields
- Create and manage permissions with custom roles
- Automate workflow with triggers and actions
- Emails, calendar events, files, and more
Personalize layouts with filters, sort, group by, kanban and table views
Customize your objects and fields
Create and manage permissions with custom roles
Automate workflow with triggers and actions
Emails, calendar events, files, and more
Stack
- TypeScript
- Nx
- NestJS, with BullMQ, PostgreSQL, Redis
- React, with Recoil, Emotion and Lingui
Thanks
Thanks to these amazing services that we use and recommend for UI testing (Chromatic), code review (Greptile), catching bugs (Sentry) and translating (Crowdin).
Join the Community
- Star the repo
- Subscribe to releases (watch -> custom -> releases)
- Follow us on Twitter or LinkedIn
- Join our Discord
- Improve translations on Crowdin
- Contributions are, of course, most welcome!




