Streamline TwentyCRM Event Notifications via Gmail and Slack

Discover how to automate event-triggered notifications from TwentyCRM directly to your preferred messaging channels like Gmail and Slack. This workflow ensures critical CRM updates reach your team instantly, reducing manual monitoring and boosting response times.
webhook
gmail
slack
+4
Learn how to Build this Workflow with AI:
Workflow Identifier: 2436
NODES in Use: Webhook, Set, Google Sheets, If, Gmail, Slack, Sticky Note

Press CTRL+F5 if the workflow didn't load.

Visit through Desktop for Best experience

Opening Problem Statement

Meet Sara, a sales operations manager who uses TwentyCRM daily to track and manage sales opportunities and customer interactions. Every time there is a change in important CRM records — for example, a new deal closes, a contact is updated, or a record is deleted — Sara needs to be instantly aware. Currently, Sara painstakingly logs into TwentyCRM multiple times a day to manually check for updates, wasting hours that could be spent analyzing data and strategic follow-ups.

The problem intensifies when some event notifications are missed, causing delays in customer response or team coordination. Sara realizes that critical CRM events should trigger immediate notifications on her preferred communication platforms, yet TwentyCRM lacks seamless out-of-the-box integrations with Gmail or Slack. This manual process leads to wasted time and costly errors.

What This Automation Does

This n8n workflow solves Sara’s problem by capturing real-time event triggers from TwentyCRM and automatically forwarding relevant notifications to the right messaging channels based on event type. Here’s what happens when this automation runs:

  • It listens for new event payloads sent by TwentyCRM via webhook (POST requests) whenever a CRM record changes.
  • It extracts and filters essential event data including event name, object ID, record ID, and type.
  • All received events are logged in a Google Sheet for audit and historical tracking.
  • For delete events, it sends a detailed email notification via Gmail with key record details.
  • For all other event types, it posts a concise message summary to a designated Slack channel.
  • This enables Sara to monitor CRM updates on channels she regularly uses without manually checking the CRM system.

By automating event-based notifications, the workflow saves Sara hours every week and reduces the risk of missing critical CRM updates.

Prerequisites ⚙️

  • TwentyCRM account configured to send events via webhook
  • n8n account for building and deploying the workflow
  • Google Sheets account with a document to log events (needs API access)
  • Gmail account to send email alerts for delete events 📧
  • Slack workspace and bot token to send messages to channels 💬
  • Webhook URL from n8n to configure in TwentyCRM event triggers

Step-by-Step Guide

1. Setting Up the Webhook Node to Receive TwentyCRM Events

In n8n, click + Add New Node, then select Webhook. Name it on new twentycrm event. Set the HTTP method to POST and note the generated webhook URL.

Open your TwentyCRM account and configure the integration or webhook settings. Use the gathered n8n webhook URL as the destination endpoint for new event push notifications.

After saving, you should see the webhook ready and waiting for incoming requests.

Common mistake: Forgetting to set HTTP method to POST or not copying the exact webhook URL.

2. Extracting and Filtering Required Data with the Set Node

Add a new Set node and name it filter required data #eventType mandatory. Connect it to the webhook node.

Configure it to extract these fields from the incoming JSON payload:
– eventName
– objectMetadata.id
– objectMetadata.nameSingular
– record.id
– record.__typename

This ensures only relevant data moves forward in the flow.

Common mistake: Missing the eventName which breaks conditional routing.

3. Logging All Events to Google Sheets

Add a Google Sheets node named events log and configure it with your spreadsheet document and specific sheet name. Set operation to Append.

Connect this node after the data filter node to log every event on a new row with the extracted data values.

This creates an auditable event history automatically.

Common mistake: Not sharing the Google Sheets document with the connected Google API account.

4. Evaluating Event Type to Route Notifications

Add an If node called message channel evaluation. Connect it after the Google Sheets logging node.

Set condition to check if {{$json.eventName.split(".")[1]}} equals delete. This means if the event type is a delete action, route accordingly.

Common mistake: Improperly splitting or referencing the eventName string.

5. Configuring the Gmail Node for Delete Notifications

Add a Gmail node named email channel for delete eventType. Connect it to the true output of the If node.

Set up the email subject as Record Deleted in TwentyCRM. In the message body, include HTML formatting such as a heading and list details pulled from the JSON data:

Please find below the attached record details



  • objectMetadata_id: {{ $json.objectMetadata.id }}
  • record_id: {{ $json.record.id }}

This sends a clear, formatted email notification to the configured recipient about deleted records.

Common mistake: Missing Gmail credentials or incorrect message templating.

6. Setting Up Slack Node for Other Event Types

Add a Slack node named message channel for all other eventTypes. Connect it to the false output of the If node.

Configure it to send a message text like:

event: {{ $json.eventName }}
event_id: {{ $json.objectMetadata.id }}
record_id: {{ $json.record.id }}

Select the appropriate Slack channel using the channel ID or name to ensure notifications reach the right team members.

Common mistake: Not setting the Slack channel or missing bot permissions.

7. Activating and Testing Your Workflow

Activate the entire workflow by toggling on the active switch in n8n. Use the webhook URL to send a test event payload from TwentyCRM or a tool like Postman simulating an event.

Check that data flows through each node correctly, the Google Sheet logs the event, and the appropriate notification channels receive the messages.

If needed, revisit each node to adjust configuration based on test outcomes.

Customizations ✏️

  • Adjust filter criteria: Modify the Set node to include or exclude extra event properties, tailoring notifications for specific record types or users.
  • Additional channels: Add nodes such as Microsoft Teams or SMS gateways to diversify notification destinations.
  • Enhanced email formatting: Include more detailed record data or links back to TwentyCRM records for faster access in the Gmail node.
  • Conditional routing: Expand the If node logic to handle other event types like “update” or “create” differently with unique channels.
  • Event priority tagging: Add a Code node to categorize events by priority and alter notification urgency accordingly.

Troubleshooting 🔧

Problem: “Webhook receives no data from TwentyCRM.”
Cause: TwentyCRM webhook not configured correctly or webhook URL copied incorrectly.
Solution: Double check the webhook URL in TwentyCRM settings, ensure it’s the n8n webhook URL with POST method enabled.

Problem: “Google Sheets node fails to append data.”
Cause: Google API credentials missing or spreadsheet not shared.
Solution: Verify credentials and share the spreadsheet with the Google API client email.

Problem: “Notifications not sent to Slack or Gmail.”
Cause: Authentication tokens missing or incorrect channel IDs.
Solution: Check Slack bot permissions and Gmail credential setup. Confirm channel IDs and recipient addresses.

Pre-Production Checklist ✅

  • Confirm webhook URL is properly set in TwentyCRM webhook configuration.
  • Verify the Set node extracts all required fields including eventName.
  • Ensure Google Sheets integration has API access and document is shared.
  • Test email sending from Gmail node with sample data.
  • Test Slack messages with bot in the intended channel.
  • Run full test with real TwentyCRM event payloads.

Deployment Guide

Once tested and verified, toggle the Activate switch in n8n to start the workflow.

Monitor the execution logs in n8n for any errors and confirm event logs update live in the Google Sheet.

Set up alerts or additional monitoring if necessary for high reliability.

FAQs

Q: Can I use another email provider besides Gmail for delete notifications?
A: This workflow uses the Gmail node specifically, but it can be adapted with SMTP or other email nodes to utilise different providers.

Q: Is there a limit to how many events can be processed?
A: n8n can handle a high volume of events but API rate limits on Gmail, Slack, or Google Sheets may apply based on your accounts.

Q: Is my data secure in this workflow?
A: All data flows are within secure API connections. Ensure your n8n instance is secured and credentials are kept private.

Conclusion

By following this workflow, you have set up a robust system that listens to TwentyCRM events and delivers real-time notifications tailored by event type directly to Gmail and Slack. This automation saves hours of manual checking and improves your team’s responsiveness to CRM changes.

Next, consider expanding your workflow by integrating additional communication channels or enriching event data for deeper insights. Keep iterating to make your CRM processes smarter and more effective!

Related Workflows

Automate Viral UGC Video Creation Using n8n + Degaus (Beginner-Friendly Guide)

Learn how to automate viral UGC video creation using n8n, AI prompts, and Degaus. This beginner-friendly guide shows how to import, configure, and run the workflow without technical complexity.
Form Trigger
Google Sheets
Gmail
+37
Free

AI SEO Blog Writer Automation in n8n (Beginner Guide)

A complete beginner guide to building an AI-powered SEO blog writer automation using n8n.
AI Agent
Google Sheets
httpRequest
+5
Free

Automate CrowdStrike Alerts with VirusTotal, Jira & Slack

This workflow automates processing of CrowdStrike detections by enriching threat data via VirusTotal, creating Jira tickets for incident tracking, and notifying teams on Slack for quick response. Save hours daily by transforming complex threat data into actionable alerts effortlessly.
scheduleTrigger
httpRequest
jira
+5
Free

Automate Telegram Invoices to Notion with AI Summaries & Reports

Save hours on financial tracking by automating invoice extraction from Telegram photos to Notion using Google Gemini AI. This workflow extracts data, records transactions, and generates detailed spending reports with charts sent on schedule via Telegram.
lmChatGoogleGemini
telegramTrigger
notion
+9
Free

Automate Email Replies with n8n and AI-Powered Summarization

Save hours managing your inbox with this n8n workflow that uses IMAP email triggers, AI summarization, and vector search to draft concise replies requiring minimal review. Automate business email processing efficiently with AI guidance and Gmail integration.
emailReadImap
vectorStoreQdrant
emailSend
+12
Free

Automate Email Campaigns Using n8n with Gmail & Google Sheets

This n8n workflow automates personalized email outreach campaigns by integrating Gmail and Google Sheets, saving hours of manual follow-up work and reducing errors in email sequences. It ensures timely follow-ups based on previous email interactions, optimizing communication efficiency.
googleSheets
gmail
code
+5
Free