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

feat: Greenhouse app

Open aar2dee2 opened this issue 2 years ago • 8 comments

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

aar2dee2 avatar Sep 26 '23 11:09 aar2dee2

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

vercel[bot] avatar Sep 26 '23 11:09 vercel[bot]

@aar2dee2 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 Sep 26 '23 11:09 vercel[bot]

Thank you for following the naming conventions! 🙏 Feel free to join our discord and post your PR link.

github-actions[bot] avatar Sep 26 '23 11:09 github-actions[bot]

📦 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! 🙌

github-actions[bot] avatar Sep 26 '23 11:09 github-actions[bot]

This PR is being marked as stale due to inactivity.

github-actions[bot] avatar Oct 12 '23 00:10 github-actions[bot]

This PR is being closed due to inactivity. Please reopen if work is intended to be continued.

github-actions[bot] avatar Oct 19 '23 00:10 github-actions[bot]

Hi, Most of the code is in place, have a few Qs.

  1. For conferencing apps, the app gets added as a location for 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)
  2. I added another parameter to the app keys schema in zod.ts in 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?
  3. 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.

aar2dee2 avatar Jan 08 '24 15:01 aar2dee2

Hi, Most of the code is in place, have a few Qs.

  1. For conferencing apps, the app gets added as a location for 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)
  2. I added another parameter to the app keys schema in zod.ts in 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?
  3. 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.
  1. I think this can live under locations. Zoom also has a dashboard that displays all future calls.
  2. Running yarn app-store:build should work.
  3. 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 avatar Jan 18 '24 20:01 joeauyeung

@joeauyeung why would it be under location? Greenhouse does not come with its own video client, does it?

PeerRich avatar Jan 25 '24 09:01 PeerRich

@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.

joeauyeung avatar Jan 31 '24 17:01 joeauyeung

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.

keithwillcode avatar Feb 20 '24 19:02 keithwillcode