Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: twenty raycast integration #8117

Closed
wants to merge 1 commit into from

Conversation

Nabhag8848
Copy link
Contributor

@Nabhag8848 Nabhag8848 commented Oct 27, 2024

🔥 Twenty Raycast Integration

codebase link: https://github.com/Nabhag8848/twenty-raycast-integration
tweet Link: https://x.com/NabhagMotivaras/status/1850496053474422870

With this Raycast integration, record creation across standard and custom objects is now at your fingertips, making your workflow effortless and efficient. Experience how easy it is to use this Raycast for seamless record creation!

🤝 Create records instantly across Standard and Custom Objects

Command Descriptions

Create Object Record

With Create Object Record command, effortlessly create records in any standard or custom object. Search command press Enter to see active objects, then press CMD + Enter to unveil a form that fills in your record seamlessly into the CRM table — making CRM magic happen!


Getting Started

Get your API Keys from twenty developer settings , navigate to Raycast Command settings or try to access command which will open up view to provide your API key.

Twenty Api Token View

if you are selfhost user navigate to <self-host-url>/settings/developers, once you have your key, go to Raycast Command Settings to provide your selfhost api url and API key. If you don't provide selfhost url, Integration will assume https://api.twenty.com as your instance.

Raycast Settings

User Guide

To use the integration, search for the Create Object Record command, which will display all your active standard and custom objects currently in your twentyCRM. Its very flexible - if you create new objects or deactivate existing ones, this will automatically reflect those changes.

1.Twenty.mp4

When you deactivate any standard or custom object, it will no longer appear, ensuring you only see the information and objects you want to access. This makes the integration extensible and enhances your productivity.

2.Twenty.mp4

If you create new custom objects, they will appear, allowing you to quickly create your records instantly from Raycast.

3.Twenty.mp4

To create a record for any object, select your target object and press ENTER. This will open a form that matches the exact table schema you created in your CRM, following any validations it suggests to successfully create your record by pressing CMD + ENTER. Records cannot be created with an empty first column (such as Name, Title, etc.).

4.Twenty.mp4

Similar to creation of standard objects record you can create custom objects record

5.Twenty.mp4

It's much more flexible—similar to objects, if you deactivate any fields, they will no longer appear in your object schema during record creation.

6.Twenty.mp4

No worries! If you add or update any fields in your standard objects, they will automatically appear in your object schema form in Raycast, looking closely you will see, if you add a select field with a default value provided some icon, it will display exactly what you’ve set when creation.

7.Twenty.mp4

Roadmap

  • Currently we support FULL_NAME, TEXT, LINKS, EMAILS, SELECT.
  • Supporting other fields are easy as we have build the foundation and its quite similar to what we have already build.
  • PHONE_NUMBER, CURRENCY similar to LINKS
  • RATING (1, 2, 3, 4, 5 as option), BOOLEAN (True or False as option), MULTI_SELECT are similar to SELECT
  • RELATION Similar to SELECT but requires additional work but doable
  • support seeing records of all objects

@Nabhag8848
Copy link
Contributor Author

Nabhag8848 commented Oct 27, 2024

@CoreTeamTwenty @FelixMalfait @charlesBochet @Bonapara Excited to share most flexible twenty raycast integration.

  • we support creation of record across all active standard and custom objects.
  • create new objects or deactivate existing ones, this will automatically reflect those changes.
  • with Validations of table fields.
  • Support of self host users.
  • deactivate any fields, they will no longer appear in your object schema during record creation.
  • currently we support FULL_NAME, TEXT, LINKS, EMAILS, SELECT.
  • extended limits and capabilities such that we can provide additionalLinks, similarly additionalEmails. If we look closely on SELECT field in one of above demos. I have also matched colors of options Icons to match ours. here: https://github.com/Nabhag8848/twenty-raycast-integration/blob/main/src/enum/icons.ts#L12
  • Addition of custom field in standard objects will reflect that change during creation form.
  • for validation if field is not Nullable in twenty, then its not nullable in Raycast.

@Nabhag8848
Copy link
Contributor Author

Looking for feedbacks on how we can improve this much more, If this is a kind of solution, what you folks were looking for, I would love to release this to raycast marketplace and we can do that from a twenty's account which will help for better visibility and much much more.

@FelixMalfait
Copy link
Member

Hey @Nabhag8848 sorry for the delay - I've been wanting to look at Raycast integration more in-depth but we've been busy with other fixes. I'll be checking it soon. Thanks a lot!

@FelixMalfait
Copy link
Member

/award 2000 (great work on abstracting the objects)

Copy link

oss-gg bot commented Oct 30, 2024

Awarding Nabhag8848: 2000 points 🕹️ Well done! Check out your new contribution on oss.gg/Nabhag8848

@lucasbordeau
Copy link
Contributor

Please @Nabhag8848 see with @chrisdadev13 for not duplicating your work and work together for a great raycast extension !

@Nabhag8848
Copy link
Contributor Author

Hey @chrisdadev13 ! would love to collab and ship this to marketplace, easiest way to reach me out is through X https://x.com/NabhagMotivaras

if you prefer any other means of communication, we can head over from there.

@charlesBochet
Copy link
Member

Hi @Nabhag8848,

First I would like to apologize for the slow review. I have taken a deep look at your code and this is very interesting. Your extension is actually more in line with our flexible data model philosophy powered by objectMetadata than the existing one: https://github.com/raycast/extensions/tree/main/extensions/twenty/src.

We have been debating this internally and we would love to have the community build and maintain a Raycast extension. I'm happy to guide you if you need any help.

I'm not going to need this PR as oss.gg event is closed the folder has been removed but if you want to update https://github.com/raycast/extensions/tree/main/extensions/twenty/src and take over it I would support this community maintained extension

Thanks again for all the work

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants