* feat: add Settings/Accounts/New section with empty state * fix: added label for Empty State Card * On RecordTable, if I have no records, the Record Table Layout is not broken (#2911) * On RecordTable, if I have no records, the Record Table Layout is not broken Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: RubensRafael <rubensrafael2@live.com> * Revert scrollbar changes Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: RubensRafael <rubensrafael2@live.com> * fix + button Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: RubensRafael <rubensrafael2@live.com> * Revert unwanted changes Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: RubensRafael <rubensrafael2@live.com> * Merge main Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com> Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: RubensRafael <rubensrafael2@live.com> * On RecordTable, if I have no records, the Record Table Layout is not broken Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com> Co-authored-by: RubensRafael <rubensrafael2@live.com> * Add bottom border Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com> Co-authored-by: RubensRafael <rubensrafael2@live.com> * Always show + button Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com> Co-authored-by: RubensRafael <rubensrafael2@live.com> * Refactor according to review Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com> Co-authored-by: RubensRafael <rubensrafael2@live.com> * Fix according to PR --------- Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com> Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: RubensRafael <rubensrafael2@live.com> Co-authored-by: Charles Bochet <charles@twenty.com> Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com> Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com> * Add jest tests for twenty-front (#2983) * Add jest tests for twenty-front Co-authored-by: v1b3m <vibenjamin6@gmail.com> * Fix tests --------- Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com> Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: Charles Bochet <charles@twenty.com> * feat: select default Unit for Currency field (#2996) Closes #2347 Co-authored-by: Thais GUIGON <thaisguigon@macbook-pro.home> * Remaining UI docs (#2997) * remaining UI docs * completed ui component docs --------- Co-authored-by: Charles Bochet <charles@twenty.com> * Fix CIs (#3004) * Fix CIs * Fix docs * Fix eslint-build * Move file * Move back * Fix server ci * Fix server ci * Fix server ci * Fix server ci * Deactivate e2e tests * Fix front * Fix front * Fix front * Add twenty-zapier and twenty-utils to the yarn project * fix * fix * Remove pull_request trigger * Fix ExceptionHandler requiring httpAdapter (#3021) * Disable chromatic CI * Disable Danger CI on push trigger (#3024) Disable Danger CI on main * feat: add Show Page Emails tab (#2962) * feat: add Show Page Emails tab Closes #2926, Closes #2927 * feat: review - disable Emails tab if messaging not enabled * refactor: review - add FeatureFlagKey type --------- Co-authored-by: Thais GUIGON <thaisguigon@macbook-pro.home> * 2880 timebox create a poc to fetch emails from the gmail api (#2993) * create empty service * getting threads is working * insert message channel * save threads in the db * clean * fetch messages * create a service to fetch a batch of messages * batch messages * use httpService instead * parse batch * base 64 decoding working * solve parsing bug * saving messages is working * bug to fix in fetchAllByBatches * fetching all messages is working but not saving yet * fecth 500 messages and threads is working * remove unused package and console log * set direction to incoming * fix bug after merging main * Fix modified files DangerCI (#3025) - fix modified files * feat: add Show Page Emails preview (#2964) * feat: add Show Page Emails preview Closes #2928 * refactor: review - rename StyledContainer to StyledCardContent * 2915 rest api documentation (#3020) * Init rest-api page * Add ugly form to fetch open api schema * Clean code * Make the form design more acceptable * Update doc * Use local storage * Update design * Add isLoading * Fix typo * Fix long lines * Code review returns * Remove staging and local url from servers * 2982-feat: Clear SelectableList reset scoped state (#2987) * 2982-feat: Clear SelectableList reset scoped state * State fixes as suggested in pr * State fixes as suggested in pr --------- Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com> Co-authored-by: Charles Bochet <charles@twenty.com> * Fix docusaurus style overriden by spotlight/element (rest api playground) (#3033) * Fix docusaurus style overriden by spotlight/element (rest api playground) * Fix spacing * Fix spacing * Fix: keep the filter edition open if it is empty (#2986) Co-authored-by: 曹志浩 <caozhihao@quyiyuan.com> Co-authored-by: Charles Bochet <charles@twenty.com> --------- Co-authored-by: Lakshay saini <lakshay.saini@finmo.net> Co-authored-by: gitstart-twenty <140154534+gitstart-twenty@users.noreply.github.com> Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com> Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: RubensRafael <rubensrafael2@live.com> Co-authored-by: Charles Bochet <charles@twenty.com> Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com> Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com> Co-authored-by: Thaïs <guigon.thais@gmail.com> Co-authored-by: Thais GUIGON <thaisguigon@macbook-pro.home> Co-authored-by: Nimra Ahmed <50912134+nimraahmed@users.noreply.github.com> Co-authored-by: Charles Bochet <charlesBochet@users.noreply.github.com> Co-authored-by: bosiraphael <71827178+bosiraphael@users.noreply.github.com> Co-authored-by: brendanlaschke <brendan.laschke@googlemail.com> Co-authored-by: martmull <martmull@hotmail.fr> Co-authored-by: Kanav Arora <kanavarora1515@gmail.com> Co-authored-by: Cao Z.H <150761799+CzhCN0@users.noreply.github.com> Co-authored-by: 曹志浩 <caozhihao@quyiyuan.com>
A Modern Open Source CRM
Tailored to your unique business needs
🌐 Website · 📚 Documentation · Discord ·
Figma
We’ve spent thousands of hours grappling with traditional CRMs like Pipedrive and Salesforce to align them with our business needs, only to end up frustrated — customizations are complex and the closed ecosystems of these platforms can feel restrictive.
We felt the need for a CRM platform that empowers rather than constrains. We believe the next great CRM will come from the open source community. And we’ve packed Twenty with powerful features to give you full control and help you win more deals.
Demo
Go to app.twenty.com and login with the following credentials:
email: noah@demo.dev
password: Applecar2025
See also:
🚀 Self-hosting
🖥️ Local Setup
Why Choose Twenty?
We understand that the CRM landscape is vast. So why should you chose us?
⛓️ Full control, Full Freedom: Contribute, self-host, fork. Break free from vendor lock-in and join us in shaping the open future of CRM.
📊 Data, Your Way: The days when the role of CRM platforms was to shift manual data entries to a database are over. Now, the data is already there. CRM 2.0 should be built around your data, allowing you to access and visualize any existing sources, not forcing you to retrofit your data into predefined objects on a remote cloud.
🎨 Effortlessly Intuitive: We set out to create something that we ourselves would always enjoy using. The main application draws inspiration from Notion, a tool known for its user-friendly interface and customization capabilities.
What You Can Do With Twenty
We're currently in the development phase of Twenty's alpha version.
Please feel free to flag any specific need you have need by creating an issue.
Below are some features we have implemented to date:
- Add, filter, sort, edit and track customers
- Create one or several opportunities for each company
- See rich notes tasks displayed in a timeline
- Create tasks on records
- Navigate quickly through the app using keyboard shortcuts and search
Add, filter, sort, edit and track customers:
Create one or several opportunities for each company:
See rich notes tasks displayed in a timeline:
Create tasks on records
Navigate quickly through the app using keyboard shortcuts and search:
What's In Store
Here’s what you can look forward to:
⏳ Frequent updates: We’re shipping fast! Expect regular updates and new features that enhance your experience.
🔗 Extensibility: We’re putting the power in your hands. Soon, you’ll have the tools to extend and customize Twenty with plugins and more.
Join the Community
- Star the repo
- Join discussions and track issues
- Follow us on Twitter or LinkedIn
- Join our Discord
- Contributions are, of course, most welcome!




