Building a modern alternative to Salesforce, powered by the community.
Go to file
Antoine Moreaux 07bde4883e
feat(auth): add default workspace support for user handling (#9099)
Introduce `defaultWorkspaceId` to improve workspace redirection logic.
Updated GraphQL schema, server logic, and frontend components
accordingly to prioritize default workspaces when available.

## Summary
This PR adds a mechanism to handle and prioritize default workspace
selection for users during authentication. It updates the logic in
multiple components and services to ensure users are redirected to their
default workspaces if no specific selection is provided.

### Main changes:
- **GraphQL Schema Updates**:
- Enhanced `UserExists` GraphQL entity with a new `defaultWorkspaceId`
field to specify the user's default workspace.
  - Updated queries and mutations to handle the `defaultWorkspaceId`.

- **Client-Side Updates**:
- Enhanced `useAuth` hook to include logic for managing default
workspace redirection.
- Adjusted UI logic in `SignInUpGlobalScopeForm` to utilize the
`defaultWorkspaceId`.

- **Server-Side Adjustments**:
- Modified `AuthService` to include `defaultWorkspaceId` in
`checkUserExists`.
- Default workspace logic added to the backend flow for consistent
handling.

- **Tests/Helpers**:
- Added utility and type changes to integrate the new backend response
changes (e.g., `UserExists` GraphQL).
- **Subsequent function lifecycle** was adjusted to include recheck for
workspace token states when performing sign-in flows.
2024-12-17 19:56:19 +01:00
.github Basic test verifying if demo account is working properly (#8442) 2024-12-17 13:56:00 +01:00
.nx Add nxw.js file (#8362) 2024-11-06 14:24:07 +01:00
.vscode Begin moving to postgres spilo + adding pgvector (#8309) 2024-11-15 09:38:30 +01:00
.yarn/releases removed @blocknote/core from dependencies (#6580) 2024-08-08 15:44:09 +02:00
packages feat(auth): add default workspace support for user handling (#9099) 2024-12-17 19:56:19 +01:00
tools/eslint-rules feat: add eslint rule for enforcing WorkspaceService naming convention (#6308) 2024-07-19 19:17:57 +02:00
.dockerignore feat: merge front and server dockerfiles and optimize build (#4589) 2024-03-21 19:22:21 +01:00
.eslintrc.cjs 5421 box shadow on frozen header and first column (#6130) 2024-07-05 18:30:59 +02:00
.eslintrc.react.cjs Create ESLint rule to discourage usage of navigate() and prefer Link (#5642) 2024-06-04 17:04:57 +02:00
.gitignore Devenv setup via devenvious (#8774) 2024-11-28 11:33:22 +01:00
.nvmrc Embrace nx monorepo structure with root package.json (#3255) 2024-01-05 14:59:58 +01:00
.prettierignore POC: chore: use Nx workspace lint rules (#3163) 2024-01-03 23:07:25 +01:00
.prettierrc POC: chore: use Nx workspace lint rules (#3163) 2024-01-03 23:07:25 +01:00
.vale.ini Fix vale ci (#3353) 2024-01-10 17:05:23 +01:00
.yarnrc.yml removed @blocknote/core from dependencies (#6580) 2024-08-08 15:44:09 +02:00
jest.config.js POC: chore: use Nx workspace lint rules (#3163) 2024-01-03 23:07:25 +01:00
jest.preset.js POC: chore: use Nx workspace lint rules (#3163) 2024-01-03 23:07:25 +01:00
LICENSE feat(sso): allow to use OIDC and SAML (#7246) 2024-10-21 20:07:08 +02:00
Makefile Fix Make Postgres on Docker (#8830) 2024-12-02 09:58:03 +01:00
nx Migrate to a monorepo structure (#2909) 2023-12-10 18:10:54 +01:00
nx.json Add Twenty Shared & Fix profile image rendering (#8841) 2024-12-17 09:24:21 +01:00
package.json Add Twenty Shared & Fix profile image rendering (#8841) 2024-12-17 09:24:21 +01:00
README.md Update README.md (#8673) 2024-11-22 11:55:56 +01:00
render.yaml Begin moving to postgres spilo + adding pgvector (#8309) 2024-11-15 09:38:30 +01:00
tsconfig.base.json Add Twenty Shared & Fix profile image rendering (#8841) 2024-12-17 09:24:21 +01:00
yarn.lock Add Twenty Shared & Fix profile image rendering (#8841) 2024-12-17 09:24:21 +01:00


Twenty logo

The #1 Open-Source CRM

Tailored to your unique business needs

🌐 Website · 📚 Documentation · Discord · Figma


Companies view


Weve 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. Weve packed Twenty with powerful features to give you full control and help you run your business efficiently.


Demo

Go to demo.twenty.com and login with the following credentials:

email: tim@apple.dev
password: Applecar2025

See also:
🚀 Self-hosting
🖥️ Local Setup

Why Choose Twenty?

We understand that the CRM landscape is vast. So why should you choose 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 needs you have by creating an issue.

Below are some features we have implemented to date:

Add, filter, sort, edit, and track customers:

Companies view

Create one or several opportunities for each company:

Companies view

Track deals effortlessly with the email integration:

Companies view

Tailor your data model to meet business needs:

Companies view

See rich notes displayed in a timeline:

Companies view

Create tasks on records

Companies view

Companies view

Connect your CRM to all your tools through our APIs and Webhooks.

Companies view


What's In Store

Heres what you can look forward to:

Frequent updates: Were shipping fast! Expect regular updates and new features that enhance your experience.

🔗 Extensibility: Were putting the power in your hands. Soon, youll have the tools to extend and customize Twenty with plugins and more.


Join the Community