Internal Memo Labs tool · Reported real-world operation
Twenty CRM et n8n
An incoming request becomes a complete Twenty record, with no typing: company, contact, opportunity, note and follow-up.
The project at a glance
- The problem
- One request comes in through the website, another by email, a third through a form. When nothing links those channels to the CRM, someone copies them by hand, or the request gets lost. I wanted for Memo Labs what I offer my clients: a CRM where every request lands on its own, attached to the right company, with the follow-up already scheduled.
- My contribution
- Everything: deploying Twenty v2.55 (server, worker, PostgreSQL 16, Redis) behind Traefik, the data model (pipeline stages, Channel and Demo fields), a six-step n8n flow on Twenty’s GraphQL API, and Claude Code access to the CRM through Twenty’s MCP server and its official CLI.
- Work delivered
- In my tests, a sent message becomes a complete opportunity in under half a second: company, contact, a note with the message and a dated reply task. A second message from the same person creates no duplicate company or contact. I also contribute to Twenty’s code: three PRs merged into the main repository (#23323, #23325, #24919).
Context and scope: Internal project, no client. The screenshots show a demo request (Cabinet Lambert), not real prospects; the CRM and the form require an account.
What can be verified
Flow run on 5 Nov 2026: three successful executions between 0.27 and 0.46 seconds in the n8n log, and a second message from the same person with no duplicate. The CRM and the form require an account.
Access last checked:
Explore technical decisions and constraints
Technical approach
- Constraints
- No duplicates when the same person writes twice, an API key that must never appear in clear, and a server shared by 90 containers.
- Technical choices
- Records are created as upserts: the company is matched by its domain, the contact by their email. The API key lives in an encrypted n8n credential, set on the server without ever being displayed. The opportunity opens at the Contacted stage with the Inbound request channel, the message becomes a note, and a Reply to… task is due the next morning, both linked to the opportunity. On the hosting side: the official compose adapted, pinned images, memory caps, invitation-only sign-up.
Stack
Project visuals
These visuals introduce the project. On their own, they do not prove a payment, private feature or full user journey has been tested.
Working on a similar problem?
An interface to improve, an API to connect or an application to extend? Describe the need and constraints; you speak directly with me.


