cal.com icon indicating copy to clipboard operation
cal.com copied to clipboard

feat: Attio integration

Open asadath1395 opened this issue 11 months ago • 7 comments

What does this PR do?

  • Fixes #19101
  • Fixes #18989
  • Fixes CAL-5128
  • Fixes CAL-5098

Video Demo (if applicable):

Creating a new Attio app integration

https://www.loom.com/share/3ee871b8f7204745add706eb84d7522d?sid=d7727a09-f0e2-41de-8ca9-6b8b9e52983e

Using Attio
  • Login and create a new event type
  • Install Attio from app store and link it to previously created event type
  • Create a new booking and check Attio dashboard

https://www.loom.com/share/878aca4401db47d3afafcd3fb8329eb4?sid=2d5a7852-c497-4ad2-82ed-81bba1d32aad

Mandatory Tasks (DO NOT REMOVE)

  • [x] I have self-reviewed the code (A decent size PR without self-review might be rejected).
  • [x] I have updated the developer docs in /docs if this PR makes changes that would require a documentation change. If N/A, write N/A here and check the checkbox.
  • [x] I confirm automated tests are in place that prove my fix is effective or that my feature works.

How should this be tested?

Check videos above

asadath1395 avatar Feb 26 '25 13:02 asadath1395

@asadath1395 is attempting to deploy a commit to the cal Team on Vercel.

A member of the Team first needs to authorize it.

vercel[bot] avatar Feb 26 '25 13:02 vercel[bot]

@asadath1395 is attempting to deploy a commit to the cal Team on Vercel.

A member of the Team first needs to authorize it.

vercel[bot] avatar Feb 26 '25 13:02 vercel[bot]

No dependency changes detected. Learn more about Socket for GitHub.

👍 No dependency changes detected in pull request

socket-security[bot] avatar Feb 26 '25 13:02 socket-security[bot]

Graphite Automations

"Add consumer team as reviewer" took an action on this PR • (02/26/25)

1 reviewer was added to this PR based on Keith Williams's automation.

"Add community label" took an action on this PR • (02/26/25)

1 label was added to this PR based on Keith Williams's automation.

graphite-app[bot] avatar Feb 26 '25 13:02 graphite-app[bot]

Hey @joeauyeung,

I saw that you are working on https://github.com/calcom/cal.com/issues/18989 after starting work on https://github.com/calcom/cal.com/issues/19101 which seems to be a duplicate of yours. If you have not started working, could you please review this PR, else bad luck to me, we can close this PR :D

asadath1395 avatar Feb 26 '25 16:02 asadath1395

hey @asadath1395 there are some tests failing 🙏

retrogtx avatar Mar 11 '25 03:03 retrogtx

hey @asadath1395 there are some tests failing 🙏

@retrogtx All tests should be fixed now. Please review this again. Thanks!!

asadath1395 avatar Mar 13 '25 09:03 asadath1395

@keithwillcode Can you ask someone from the team to review this? Thanks

asadath1395 avatar Mar 21 '25 05:03 asadath1395

E2E results are ready!

github-actions[bot] avatar Mar 21 '25 06:03 github-actions[bot]

@asadath1395 How do we handle the active installations after this merge? I mean the users who have already installed the app?

anikdhabal avatar Apr 04 '25 03:04 anikdhabal

@anikdhabal I think it was a placeholder app before. Users have to re-install the app again to benefit from the app

asadath1395 avatar Apr 05 '25 09:04 asadath1395

@PeerRich Not sure what to do either😬

asadath1395 avatar Apr 16 '25 04:04 asadath1395

@PeerRich Can you suggest something here? Let's get this merged!

asadath1395 avatar Jul 02 '25 06:07 asadath1395

[!IMPORTANT]

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

This change introduces a full integration for the Attio CRM platform within the app store. It adds new environment variables for Attio OAuth credentials and updates configuration files to recognize Attio as an OAuth-based CRM app. The implementation includes API route handlers for OAuth authorization and callback, a TypeScript client for Attio's API, and a service class implementing CRM operations such as managing contacts and tasks. The integration is registered in app store schemas, browser components, and the Prisma seed script. Supporting files and exports are updated to ensure Attio is available as a CRM option throughout the application.

✨ Finishing Touches
🧪 Generate unit tests
  • [ ] Create PR with unit tests
  • [ ] Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

coderabbitai[bot] avatar Jul 17 '25 17:07 coderabbitai[bot]

hey @asadath1395 Got the response from the attio team. You can take the reference from this -> They've got two core entities you can interact with using these APIs: Meetings – synced or manually created calendar events Call recordings – stores videos and transcripts of calls (sit on top of meetings) This first phase of the release gives you access to the following endpoints: List Meetings Get a Meeting List Call Recordings Get Call Recording Get Call Transcript This is their Alpha release, which means: APIs are feature flagged (we’ll need to let them know which workspace to enable it for). No planned breaking changes, but small bug fixes and improvements may happen. They’re open to feedback on bugs or usability improvements. They also mentioned they’ve enabled a webhook for completed calls: Webhook Docs

Devanshusharma2005 avatar Sep 02 '25 07:09 Devanshusharma2005

Closing this for now due to staleness. Feel free to ping me up if you want to continue working on this.

Devanshusharma2005 avatar Sep 04 '25 06:09 Devanshusharma2005

Hey @Devanshusharma2005

I think @Amit91848 is working on this as stated here https://github.com/calcom/cal.com/pull/19566#discussion_r2216285634

asadath1395 avatar Sep 16 '25 04:09 asadath1395