Hubspot
Vorraussetzungen
Private App mit Berechtigungen.
Private App
Es muss eine private App erstellt werden um einen Access Token zu bekommen.
Authentication
Für die Authentication wird der Zugriffstoken als Bearer Token bei den Request mit geschickt.
Beispiel Request:
const myHeaders = new Headers(); myHeaders.append("Authorization", "Bearer pat-eu1-8aaaaaaa"); const requestOptions = { method: "GET", headers: myHeaders, redirect: "follow" }; try { const response = await fetch("https://api.hubapi.com/crm-objects/v1/objects/tickets/10295397592?properties=subject&properties=content&properties=created_by&properties=hs_conversations_originating_message_id&properties=hs_conversations_originating_thread_id", requestOptions); const result = await response.json(); console.log(result) } catch (error) { console.error(error); };
Berechtigungen
Für die Ticket Automation werden folgende Berechtigungen benötigt:
Scope
Verwendung
crm.objects.users.read
User auslesen für sender ID
settings.users.read
User auslesen für sender ID
crm.objects.contacts.read
Kontakte auslesen
tickets
Ticket lesen
tickets.sensitive
Ticket schreiben
conversations.read
Thread lesen (HelpDesk Tickets)
conversations.write
Thread schreiben (HelpDesk Tickets)
Verbindung zu melibo
Es gibt zwei Wege wie man eine Verbindung zu melibo aufbauen kann, das ist abhängig von Hubspot Paket das der Kunde hat.
Für das Standard Paket kann man die Verbindung nur über die private App machen, für alle Pakete drüber kann man Workflows benutzten.
Verbindung über die private App
Bei der Privaten App soll eine Webhook Subscription erstellt werden, die dafür sorgt das bei jedem neuen Ticket ein Request an melibo gesendet wird.
Im Tab “Webhooks” der privaten App kann man auf “Events subscriptions” erstellen. Die Target URL setzt sich zusammen aus der Basis URL “https://api.melibo.de/dingo/channels/hubspot/webhook/” und dem Webhook API Key des channels ins melibo.
Beispiel:
https://api.melibo.de/dingo/channels/hubspot/webhook/67f2ce86-9ba0-4fa9-9806-2236c4af07ab
Subscription
Zum Erstellen einer Event Subscription muss man auf “create Subscription” klicken, dort wählt man den Object Type und die Events aus.
Als Object Type sollte “Ticket” oder “Conversation” ausgewählt werden und als Event “Created”.
Danach speichern und darauf achten das sie subscription aktiv ist und schon kommen neue Tickets in melibo an.

Workflow
Für das senden der Email ans melibo wird ein Workflow benötigt, der eine Webhook anfrage an melibo sendet.
webhook
URL
Die URL ist api.melibo.de/dingo/channels/hubspot/webhook
Authentification
Damit der Webhook Requests zugeordnet werden kann muss ein Secret erstellt werden, damit es im Header als “api-key” mitgesendet werden kann.


Payload
Der Webhook soll einen “Customize request body” haben und die thread_id und die ticket_id mit senden.
Die Thread ID kann direkt hinzugefügt werden: CRM Properties - Enrolled Conversation - Thread ID

Damit man an die Ticket ID kommt muss man eine weitere Datenquelle hinzufügen.
Über “edit available data” werden die Datenquellen verwaltet.
Über “add data source” können andere Datenquellen hinzugefügt werden.
Um die Ticket ID hinzufügen zu können wähle als record Type “Ticket” und als label “The associated ticket” aus.

Nun sieht man unter CRM Properties auch Ticket als auswahlmöglichkeit.
Wählt man Ticket aus so kann man auf die Ticket Felder zugreifen.
Unter Number Properties ist dann schließlich die Ticket ID zu finden
Chat Flow
Ticket Objekt
Variable: @var{ticket}
Variable
Pfad
Pfad 2
Beschreibung
ticket
Ticket Objekt
id
ID des Tickets
content
Ticket Inhalt
subject
created_by
createdate
hs_conversations_originating_thread_id
Thread ID (optional)
source_type
Quelle des Tickets (optional)
sender
Sender der email (optional)
id
ID des Senders
name
Name des Senders
Email des Senders
thread
Thread Objekt (optional) für HelpDesk
id
Id des Threads
status
Status des Threads
originalChannelId
Channel Id
originalChannelAccountId
Account ID
spam
inboxId
archived
associatedContactId
Kontakt ID
latestMessageTimestamp
latestMessageReceivedTimestamp
assignedTo
Zugeordneter User
Aktionen
Notiz erstellen
Method
POST
URL
https://api.hubapi.com/crm/v3/objects/notes
Headers
Authorization Bearer …
Body
{ "properties": { "hs_timestamp": "2021-11-12T15:48:22Z", "hs_note_body": "<p>Test</p>" }, "associations": [ { "to": { "id": 13372182775 }, "types": [ { "associationCategory": "HUBSPOT_DEFINED", "associationTypeId": 228 } ] } ] }
Das sieht dann so aus:

Pipeline Ids rausfinden
Für manche Use cases ist es wichtig die richtige Pipeline zu verarbeiten dazu muss zur entsprechenden Pipeline auch die ID herausgefunden werden, da im Ticket nur die ID steht.
Die URL zum anzeigen der Pipelines ist https://api.hubapi.com/crm/v3/pipelines/tickets
Zuletzt aktualisiert
War das hilfreich?
