Building an Auto-updating CRM
25 March 2026

This one not really operations focused, but sales has become part of my consultancy business. I have been spending 10-15 minutes, if not more throughout the day logging chats or calls with people in a Notion day space. So I decided to work with Claude to develop some n8n workflows to organise all of this.
I currently use several different means to keep in touch with people, primarily WhatsApp, LinkedIn, email, and video-calls. So I have built three different workflows to auto update my Notion CRM. 3 separate workflows below:
Workflow
Name
Description
WF1A
LinkedIn Quick Log (form)
After any LinkedIn conversation, tap the bookmark and log the touchpoint in 10 seconds.
WF1B
iCloud Mail → Notion
Connects emails from contacts in iCloud mail and
WF1C
WhatsApp → Notion
⏳ Webhook verified, awaiting real number
WF1A: LinkedIn Quick Log (Manual Form)
Why is this not an auto-update from LinkedIn? The LinkedIn API is actually highly restrictive and doesn’t the import or export of messages via LinkedIn. Therefore, I need to have a manual form via n8n that I just fill out.
WF1B: iCloud Mail → Notion CRM
This fetches all of today's emails from iCloud via IMAP, filters out marketing/automated emails, matches senders to contacts, and updates the CRM. This required a code node that Claude had to help me with to be able to contact iCloud via IMAP.
I was required to get / do the following to get this one off the ground:
- iCloud app-specific password from appleid.apple.com
- IMAP login uses your @icloud.com email, not your custom domain. However, it will log emails to the customer domain.
imapandmailparsernpm packages needed to be installed in my Docker container in Oracle.NODE_FUNCTION_ALLOW_EXTERNAL=imap,mailparserin docker-compose environment
WF1C: WhatsApp → Notion CRM
Honestly this one was a bit of a time sieve, the Meta developers suite felt really clunky to use. So it required some iteration and testing to get the webhooks from my whatsapp business number. It was fiddly because Meta didn’t automatically recognise my phone number and I had to go through business verification to get it on there.
I was required to get / do the following to get this worflow to actually work:
- WhatsApp Cloud API set up via Meta for Developers. I had to signup to Meta developers.
- Setup an app in Meta developers to get a webhook for my whatsapp messages. I’m sure there are many more fancy things that I could do with this.
- I had to get a real whatsApp Business number registered (coexistence mode to keep using WA Business app)
A limitation is that it only captures inbound messages. Outbound messages from your phone are not logged by the webhook.