cal.com
cal.com copied to clipboard
feat: Greenhouse app
What does this PR do?
Implements #13148 Greenhouse integration to sync bookings Currently a draft PR while I wait for access to a Greenhouse sandbox to test this.
Fixes # (issue)
Requirement/Documentation
- If there is a requirement document, please, share it here.
- If there is ab UI/UX design document, please, share it here.
Type of change
- [-] New feature (non-breaking change which adds functionality)
How should this be tested?
- Are there environment variables that should be set?
- What are the minimal test data to have?
- What is expected (happy path) to have (input and output)?
- Any other important info that could help to test that PR
Mandatory Tasks
- [-] Make sure you have self-reviewed the code. A decent size PR without self-review might be rejected.
Checklist
- I haven't checked if new and existing unit tests pass locally with my changes
The latest updates on your projects. Learn more about Vercel for Git ↗︎
| Name | Status | Preview | Comments | Updated (UTC) |
|---|---|---|---|---|
| ui | ✅ Ready (Inspect) | Visit Preview | 💬 Add feedback | Sep 27, 2023 4:43am |
@aar2dee2 is attempting to deploy a commit to the cal Team on Vercel.
A member of the Team first needs to authorize it.
Thank you for following the naming conventions! 🙏 Feel free to join our discord and post your PR link.
📦 Next.js Bundle Analysis for @calcom/web
This analysis was generated by the Next.js Bundle Analysis action. 🤖
This PR introduced no changes to the JavaScript bundle! 🙌
This PR is being marked as stale due to inactivity.
This PR is being closed due to inactivity. Please reopen if work is intended to be continued.
Hi, Most of the code is in place, have a few Qs.
- For conferencing apps, the app gets added as a
locationfor the event. For calendar apps, the app can be chosen as the calendar for a given event. Greenhouse falls in neither category but works similarly, you can create/edit/delete interviews - how will this work with a Cal event? (The Basecamp integration looks similar but I don't know how it operates) - I added another parameter to the app keys schema in
zod.tsin the greenhouse directory, but this isn't showing up in app settings in admin settings. Do I need to run a command to update this? - Do we need to create webhooks in Greenhouse? There is only the Interview Deleted event related to scheduled interviews for which Greenhouse will send notifications.
Hi, Most of the code is in place, have a few Qs.
- For conferencing apps, the app gets added as a
locationfor the event. For calendar apps, the app can be chosen as the calendar for a given event. Greenhouse falls in neither category but works similarly, you can create/edit/delete interviews - how will this work with a Cal event? (The Basecamp integration looks similar but I don't know how it operates)- I added another parameter to the app keys schema in
zod.tsin the greenhouse directory, but this isn't showing up in app settings in admin settings. Do I need to run a command to update this?- Do we need to create webhooks in Greenhouse? There is only the Interview Deleted event related to scheduled interviews for which Greenhouse will send notifications.
- I think this can live under locations. Zoom also has a dashboard that displays all future calls.
- Running
yarn app-store:buildshould work. - How would the webhooks for Greenhouse work? Would it be up to us as the connected app to send the deleted booking event to Greenhouse to their "Deleted Interview" webhook? Is there any additional work we would have to do?
@joeauyeung why would it be under location? Greenhouse does not come with its own video client, does it?
@joeauyeung why would it be under location? Greenhouse does not come with its own video client, does it?
Greenhouse also has the same video integrations. We should have a single source of truth for video links. If we choose to have it on Cal we would need clear messaging to disable the video link generating on Greenhouse.
Going to postpone this to 4.0 as we wait to have an implementation of this not requiring users getting API keys but instead be able to use OAuth. Can reopen when ready.