Letzte Änderung: 22. August 2025

Run in Postman

Mit der Videokonferenz-API können Sie eine öffentliche App konfigurieren, um HubSpot-Benutzern die Möglichkeit zu geben, beim Erstellen eines Meetings einen Videokonferenzlink hinzuzufügen, ähnlich der Google Meet- und Zoom-Integration. Die Verwendung dieser API umfasst:
  1. Einrichten Ihrer öffentlichen App mit Videokonferenz-Erweiterung-Webhooks. Sie konfigurieren Ihre App mit den URIs, die HubSpot verwendet, um Sie zu benachrichtigen, wenn Meetings erstellt, aktualisiert oder gelöscht werden.
  2. Einrichten eines benutzerdefinierten Backends, um die Erstellung von Meetings und die Aktualisierung von Webhooks zu verarbeiten.
  3. Bei Bedarf Einrichten Ihres Backends für die Verarbeitung von Webhooks zur Verifizierung der Benutzeridentifikation ein.
Alle Anfragen an die Videokonferenz-API müssen mit dem Entwickler-API-Schlüssel Ihres Entwickler-Accounts authentifiziert werden. Sie können den Schlüssel in einen hapikey-Abfrageparameter am Ende der Anfrage-URL einfügen. Sie finden Ihren Entwickler-API-Schlüssel in Ihrem Entwickler-Account.

Voraussetzungen

Bevor Sie loslegen, stellen Sie sicher, dass Sie einen Entwickler-Account und eine öffentliche App darin erstellt haben.

Webhook-URLs konfigurieren

Damit HubSpot weiß, wohin Benachrichtigungen gesendet werden sollen, wenn Meetings erstellt, aktualisiert oder gelöscht werden, müssen Sie zunächst die Webhook-URLs der Erweiterung konfigurieren. Führen Sie dazu eine PUT-Anfrage an /crm/v3/extensions/videoconferencing/settings/{appId}?hapikey=YOUR_HUBSPOT_DEVELOPER_API_KEY durch. Im Anfragetext  müssen Sie das createMeetingUrl-Feld zum Festlegen der URL einfügen, an die HubSpot Meeting-Erstellung-Webhook-Payloads sendet. Sie können optional zusätzliche Webhook-URLs hinzufügen. Diese Werte können später mithilfe derselben Anfrage-URL aktualisiert werden.
// Example request

{
  "createMeetingUrl": "https://example.com/create-meeting",
  "updateMeetingUrl": "https://example.com/update-meeting",
  "deleteMeetingUrl": "https://example.com/delete-meeting"
}
FeldTypBeschreibung
createMeetingUrlZeichenfolgeDie URL, die HubSpot benachrichtigt, wenn ein neues Meeting erstellt wurde. Dies enthält eine JSON-Payload mit den Meeting-Details. Die URL muss das https-Protokoll verwenden.
updateMeetingUrlZeichenfolgeDie URL, die HubSpot benachrichtigt, wenn ein vorhandenes Meeting aktualisiert wurde. Dies enthält eine JSON-Payload mit den aktualisierten Meeting-Details. Die URL muss das https-Protokoll verwenden.
deleteMeetingUrlZeichenfolgeDie URL, die HubSpot benachrichtigt, wenn ein vorhandenes Meeting gelöscht wurde. Dazu gehört auch eine conferenceId des gelöschten Meetings. Die URL muss das https-Protokoll verwenden.
userVerifyUrlZeichenfolgeDie URL, mit der HubSpot überprüft, ob der Benutzer im externen Videokonferenzsystem anwesend ist.
Beispielantwort:
// Example 200 response
{
  "createMeetingUrl": "https://example.com/create-meeting",
  "updateMeetingUrl": "https://example.com/update-meeting",
  "deleteMeetingUrl": "https://example.com/delete-meeting"
}

Webhook-URLs abrufen

Um Webhook-URLs abzurufen, die für eine vorhandene App konfiguriert sind, führen Sie eine GET-Anfrage an /crm/v3/extensions/videoconferencing/settings/{appId} durch. Die Antwort enthält die aktuell konfigurierten Webhook-URLs.
// Example 200 response
{
  "createMeetingUrl": "https://example.com/create-meeting",
  "updateMeetingUrl": "https://example.com/update- meeting",
  "deleteMeetingUrl": "https://example.com/delete-meeting",
  "userVerifyUrl": "https://example.com/user-verify"
}

Webhook-Payloads

Sobald die Webhook-URLs konfiguriert sind, sendet HubSpot Payloads an diese URLs, wenn ein Event zum Erstellen, Aktualisieren oder Löschen eines Meetings stattfindet.
Alle von HubSpot gesendeten Webhooks sind mit HMAC unter Verwendung des Geheimnisses Ihrer App signiert. Weitere Informationen hierzu finden Sie in der Webhooks-Sicherheitsdokumentation (der Rest der Seite gilt nicht für Webhooks für diese Videokonferenz-Erweiterung).

„Meeting erstellen“-Webhook

Wenn ein Meeting erstellt wird, sendet HubSpot eine Anfrage an die URL, die im createMeetingUrl-Feld angegeben ist. Die Anfrage-Payload enthält Informationen über den HubSpot-Account, zugeordnete HubSpot-Benutzer und Meeting-Details.
// Example payload
{
  "portalId": 123123,
  "userId": 123,
  "userEmail": "test.user@example.com",
  "topic": "A Test Meeting",
  "source": "MEETINGS",
  "startTime": 1534197600000,
  "endTime": 1534201200000
}
FeldTypBeschreibung
portalIdZahlDie ID der HubSpot-Account, von der die Anfrage kommt.
userIdZahlDie ID des HubSpot-Benutzers, der dem Meeting zugewiesen ist.
userEmailZeichenfolgeDie E-Mail-Adresse des HubSpot-Benutzers, der dem Meeting zugewiesen ist.
topicZeichenfolgeDer Titel des Meetings.
sourceZeichenfolgeGibt an, wo das Meeting erstellt wurde. Kann eines sein von:
  • MEETINGS: Das Meeting wurde über eine Terminplanungsseite erstellt.
  • MANUAL: Das Meeting wurde manuell von einem CRM-Datensatz aus erstellt.
startTimeZahlDie Startzeit des Meetings in Epoche-Millisekunden.
endTimeZahlDie Endzeit des Meetings in Epoche-Millisekunden.
Um diesen Webhook erfolgreich zu verarbeiten, sollten Sie eine Videokonferenz für dieses Meeting erstellen (oder es mit einer bestehenden Konferenz verlinken) und mit Informationen zu dieser Konferenz antworten. Die in der Antwort erwarteten Felder sind:
  • conferenceId: eine eindeutige ID, die der Konferenz in diesem Event zugeordnet ist. Diese ID muss in Ihrem gesamten System eindeutig sein. HubSpot gibt diese ID zurück im Aktualisieren-Webhook an Sie zurück.
  • conferenceUrl: die URL, über die Benutzer der Konferenz beitreten können.
  • conferenceDetails: Einladungsinformationen, nur Text. Sollte beschreiben, wie Teilnehmer des Ereignisses auf die Videokonferenz für dieses Ereignis zugreifen können. Neue Zeilen werden in Darstellungen dieses Texts beibehalten, andere Formatierungen werden jedoch nicht unterstützt.
Ihre Antwort könnte zum Beispiel wie folgt aussehen:
//example response
{
  "conferenceId": "some-unique-id",
  "conferenceUrl": "https://example.com/join",
  "conferenceDetails": "Click here to join: https://example.com/join"
}

„Meeting aktualisieren“-Webhook

Wenn Sie updateMeetingUrl spezifiziert haben, sendet HubSpot dieser URI immer dann ein Anfrage, wenn sich meetingrelevante Details geändert haben. Diese Benachrichtigung ist notwendig, wenn Sie das aktuelle Thema oder die aktuellen Zeiten für eine Videokonferenz pflegen müssen. Die Anfrage-Payload enthält Informationen über den HubSpot-Account, zugeordnete HubSpot-Benutzer und Meeting-Details.
//example request
{
  "conferenceId": "some-unique-id",
  "userId": 123,
  "userEmail": "test.user@example.com",
  "portalId": 123123,
  "topic": "A Test Meeting (updated)",
  "startTime": 1534197600000,
  "endTime": 1534201200000
}
FeldTypBeschreibung
conferenceIdZeichenfolgeDie eindeutige ID für die Konferenz, die von Ihrer Integration in der Antwort auf den „Meeting erstellen“-Webhook bereitgestellt wird.
userIdZahlDie ID des HubSpot-Benutzers, der dem Meeting zugewiesen ist. Dies ist immer derselbe Benutzer wie der in der Meeting-Erstellung-Payload.
userEmailZeichenfolgeDie E-Mail-Adresse des HubSpot-Benutzers, der dem Meeting zugewiesen ist. Dies ist immer derselbe Benutzer wie der in der Meeting-Erstellung-Payload.
portalIdZahlDie ID der HubSpot-Account, von der die Anfrage kommt.
topicZeichenfolgeDer Titel des Meetings.
startTimeZahlDie Startzeit des Meetings in Epoche-Millisekunden.
endTimeZahlDie Endzeit des Meetings in Epoche-Millisekunden.
Wenn Sie auf diese Anfragen antworten, ist ein „No response“-Text erforderlich. Es ist nur ein 200- oder 204-Antwortcode notwendig, damit HubSpot weiß, dass dieser Webhook erfolgreich empfangen wurde.

„Meeting gelöscht“-Webhook

Wenn ein Meeting in HubSpot gelöscht wird, wird eine Anfrage an die im deleteMeetingUrl-Feld angegebene URL gesendet. Die Payload enthält die conferenceId des gelöschten Meetings.
// Example payload
{
  "conferenceId": "some-unique-id"
}
Wenn Sie auf diese Anfragen antworten, ist ein „No response“-Text erforderlich. Es ist nur ein 200- oder 204-Antwortcode notwendig, damit HubSpot weiß, dass dieser Webhook erfolgreich empfangen wurde.

Benutzerverifizierung-Webhook

Die Systeme von HubSpot kommunizieren ständig Informationen über die Benutzer, z. B. die HubSpot-ID und die E-Mail-Adresse des HubSpot-Accounts. Es besteht die Möglichkeit, dass ein Benutzer im System von HubSpot in Ihrem System mit einer anderen E-Mail-Adresse oder einer anderen ID vorhanden ist. Bevor HubSpot einen Aufruf an Ihr System startet, um einen Videokonferenzlink zu erstellen, zu aktualisieren oder zu löschen, werden zunächst die Einstellungen der App für ein userVerifyUrl-Feld überprüft. Wenn diese URL festgelegt wurde, nimmt HubSpot eine Aufruf vor, um Ihre native Benutzer-ID abzurufen. Anschließend sendet sie diese ID als E-Mail-Adresse des Benutzers im nachfolgenden Aufruf. Wenn Sie diese URL nicht konfigurieren, gehen HubSpot immer davon aus, dass die Identität des Benutzers verifiziert ist. Diese Einstellung ist optional und Sie können selbst entscheiden, ob sie erforderlich ist. Wenn Sie eine Benutzerzuordnung in Ihrem System beibehalten möchten, können Sie möglicherweise die HubSpot-Benutzer-ID oder E-Mail an Ihre interne Benutzer-ID in jedem Aufruf zuordnen. Die Payload für diese Webhook enthält die HubSpot-Account-ID und die E-Mail-Adresse des Benutzers.
//example request
{
  "portalId": 123123,
  "userEmail": "test.user@example.com"
}
Sie können eine 200-Antwort oder einen beliebigen Fehlercode (z. B. wäre 404 passend) zurückgeben. Bei einem 200-Fehlercode sollten Sie eine Payload mit der neuen ID zurückgeben, die wir anstelle der E-Mail-Adresse verwenden sollen:
//example response
{
  "id": "any-string-id"
}