Skip to main content
When an interview uses Video, Harly selects one connected provider and stores the resulting link on the interview. With automatic selection, the preference order is Zoom, Microsoft Teams, Google Meet, then Jitsi. You can also select a provider explicitly or paste an external meeting URL.

Provider setup

Zoom

Create a Zoom OAuth app and register this callback:
Then open Settings → Integrations → Zoom. Enter the Zoom Client ID and Client Secret in the card or provide ZOOM_CLIENT_ID and ZOOM_CLIENT_SECRET on the server, choose Connect, and authorize the workspace account. Use the connection to schedule a test video interview. Rotate the provider secret in Zoom and Harly together.

Microsoft Teams

1

Configure Microsoft OAuth

Set MICROSOFT_CLIENT_ID and MICROSOFT_CLIENT_SECRET on the Harly server. Register this callback in the Microsoft app:
2

Connect Teams

Open Settings → Integrations → Microsoft Teams, choose Connect Microsoft, and authorize an account with access to the Outlook calendar.
3

Test the meeting link

Use Test connection, then schedule a video interview. Teams creates the meeting through the Outlook connection; calendar selection lives on the Outlook Calendar integration.

Google Meet

1

Configure Google OAuth

Set GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET on the Harly server and register ${HARLY_URL}/api/integrations/google/callback in Google Cloud.
2

Connect Meet

Open Settings → Integrations → Google Meet, choose Connect Google, and authorize the Google Calendar account.
3

Select a calendar and test

Select a writable calendar under Google Calendar, test the connection, and schedule a video interview. Meet uses the same Google Calendar connection.

Jitsi Meet

Jitsi does not require an OAuth client or API key. Open Settings → Integrations → Jitsi Meet, enter your self-hosted instance URL or keep the public https://meet.jit.si default, enable it, and test by scheduling a video interview. Use HTTPS in production. Public Jitsi rooms are open to anyone with the link; for sensitive interviews, prefer a self-hosted instance with a lobby. Jitsi is used automatically only when Zoom, Teams, and Google Meet are not connected.

Sync behavior

Editing or canceling an interview attempts to update the provider object. If a provider fails, Harly preserves the local interview and reports a provider warning. Retry the sync from the interview instead of creating a second interview.
Do not paste private provider tokens into the interview location field. Use the integration settings so credentials remain protected and auditable.