Eine Einführung zu und Übersicht über Workflow-Erweiterungen.
actionUrl
: die URL, an die eine HTTPS-Anfrage gesendet wird, wenn die Aktion ausgeführt wird. Der Anfragetext enthält Informationen darüber, für welchen Benutzer die Aktion ausgeführt wird und welche Werte in die Eingabefelder eingegeben wurden.
objectTypes
: mit welchen CRM-Objekten diese Aktion verwendet werden kann.
published
: standardmäßig werden benutzerdefinierte Aktionen in einem unveröffentlichten Zustand erstellt. Unveröffentlichte Aktionen sind nur im Entwicklerportal Ihrer HubSpot-Anwendung sichtbar. Um eine benutzerdefinierte Aktion für Benutzer sichtbar zu machen, aktualisieren Sie das published-Flag in Ihrer Aktionsdefinition in true.
inputFields
: die Eingaben, die die Aktion erhält. Diese werden vom Benutzer ausgefüllt.
inputFieldDependencies
: Diese Regeln definieren die Beziehungen zwischen zwei oder mehr Eingaben auf Grundlage von dependencyType
, wie in diesem Beispiel hier. Sie können die folgenden dependencyType
-Optionen verwenden:
SINGLE_FIELD
: Mit diesen Regeln können Felder ausgegraut werden, bis andere Felder bestimmte Bedingungen erfüllen. Verwenden Sie diese Option, um sicherzustellen, dass ein Feld vorausgefüllt ist, bevor Besucher den Rest des Formulars ausfüllen können. Kontrollierende (übergeordnete) Felder liefern Werte für die entsprechenden abhängigen (untergeordneten) Felder.CONDITIONAL_SINGLE_FIELD
: Mit diesen Regeln können Felder ausgeblendet werden, bis andere Felder bestimmte Bedingungen erfüllen. Verwenden Sie diese Option, um bestimmte Felder auf Grundlage einer vorherigen Auswahl ein- oder auszublenden. Wenn Ihr Unternehmen beispielsweise eine Bäckerei ist, können Sie ein Kontrollkästchen hinzufügen, um Besucher zu fragen, ob sie Kuchen mögen, und nur wenn das Kontrollkästchen aktiviert ist, ein Feld anzeigen, um zu fragen, welche Kuchensorte genau sie mögen.outputFields
: die Werte, die die Aktion ausgibt, die bei späteren Aktionen im Workflow verwendet werden können. Eine benutzerdefinierte Aktion kann null, eine oder mehrere Ausgaben haben.
objectRequestOptions
: Eigenschaften des aufgenommenen Objekts, das in der Payload für die actionUrl enthalten ist.
labels
: Bezeichnung, die dem Benutzer beschreibt, was die Felder der Aktion darstellen und was die Aktion macht. Englische Label sind erforderlich, aber Label können in einer der folgenden unterstützten Sprachen angegeben werden:
fr
)de
)ja
)es
)pt-br
)nl
)pl
)sv
)it
)da_dk
)fi
)no
)zh-tw
)executionRules
: eine Liste der Definitionen, die Sie angeben können, damit dem Besucher, der den Workflow erstellt, Fehler von Ihrem Dienst angezeigt werden.
functions
: Code-Snippets, die ausgeführt werden, um die an eine URL gesendete Payload und/oder die Antwort von dieser URL zu transformieren.
event
enthält die Daten, die an die Funktion übergeben werden.exports.main
ist die Methode, die aufgerufen wird, wenn die Funktion ausgeführt wird.callback
-Funktion kann verwendet werden, um ein Ergebnis zurückzugeben.functionSource
-Format in der Zeichenfolge angezeigt. Stellen Sie sicher, dass die Zeichen im Code ausgeblendet wurden.
Generell folgt die Definition einer Funktion dem Format:
name
: der interne Name des Eingabefelds, getrennt von seinem Label. Das in der Benutzeroberfläche angezeigte Label muss über den labels-Abschnitt der benutzerdefinierten Aktionsdefinition definiert werden.type
: der Typ des Werts, der für die Eingabe erforderlich ist.fieldType
: gibt an, wie das Eingabefeld in der Benutzeroberfläche gerendert werden soll. Eingabefelder imitieren CRM-Eigenschaften. Erfahren Sie in diesem Artikel mehr über gültige type
- und fieldType
-KombinationensupportedValueTypes
hat zwei gültige Werte:
OBJECT_PROPERTY
: Der Benutzer kann eine Eigenschaft vom aufgenommenen Objekt oder eine Ausgabe aus einer vorherigen Aktion auswählen, die als Wert für das Feld verwendet werden soll.STATIC_VALUE
: Dies sollte in allen anderen Fällen verwendet werden. Es bedeutet, dass der Benutzer selbst einen Wert eingeben muss.isRequired
: Hiermit wird festgelegt, ob der Benutzer einen Wert für diese Eingabe angeben muss oder nichtinputFieldDependencies
. Erfahren Sie mehr über das Festlegen Ihrer benutzerdefinierten Aktion.optionsURL
gesendete Payload ist wie folgt formatiert:
Feld | Beschreibung |
---|---|
portalId | Die ID des HubSpot-Accounts. |
actionDefinitionId | Die Definition-ID Ihrer benutzerdefinierten Aktion. |
actionDefinitionVersion | Die Definitionsversion Ihrer benutzerdefinierten Aktion. |
objectTypeId | Der Workflow-Objekttyp, in dem die Aktion verwendet wird. |
inputFieldName | Das Eingabefeld, für das Sie Optionen abrufen. |
inputFields | Die Werte für die Felder, die bereits vom Benutzer des Workflows ausgefüllt wurden. |
q | Die vom Benutzer angegebene Suchanfrage. Dies sollte verwendet werden, um die zurückgegebenen Optionen zu filtern. Dies wird nur berücksichtigt, wenn der vorherige Optionsabruf zurückgegeben searchable: true wurde und der Benutzer eine Suchanfrage eingegeben hat. |
after | Der Paginierungscursor. Dies ist derselbe Paginierungscursor, der vom vorherigen Optionsabruf zurückgegeben wurde. Es kann verwendet werden, um nachzuverfolgen, welche Optionen bereits abgerufen wurden. |
Feld | Beschreibung |
---|---|
q | Der Paginierungscursor. Wenn dies angegeben ist, rendert die Workflows-App am unteren Rand der Optionsliste eine Schaltfläche zum Laden weiterer Ergebnisse, wenn ein Benutzer eine Option auswählt, und sobald die nächste Seite geladen wird, wird dieser Wert in der Anfrage-Payload unter fetchOptions.after berücksichtigt. Dieses Feld ist optional. |
after | Der Standardwert ist false . Wenn dies true ist, rendert die Workflows-App ein Suchfeld, damit ein Benutzer die verfügbaren Optionen durch eine Suchanfrage filtern kann. Wenn eine Suchanfrage eingegeben wird, werden Optionen mit diesem Suchbegriff in der Anfrage-Payload unter fetchOptions.q erneut abgerufen. Dieses Feld ist optional. |
searchable:true
eingeschlossen wird.PRE_FETCH_OPTIONS
: eine Funktion, die die von HubSpot gesendete Payload konfiguriert.POST_FETCH_OPTIONS
: eine Funktion, die die Antwort Ihres Dienstes in ein Format umwandelt, das von HubSpot verstanden wird.id
in der Funktionsdefinition angeben.
Feld | Beschreibung |
---|---|
portalId | Die ID des HubSpot-Accounts. |
actionDefinitionId | Die Definition-ID Ihrer benutzerdefinierten Aktion. |
actionDefinitionVersion | Die Definitionsversion Ihrer benutzerdefinierten Aktion. |
objectTypeId | Der Workflow-Objekttyp, in dem die Aktion verwendet wird. |
inputFieldName | Das Eingabefeld, für das Sie Optionen abrufen. |
inputFields | Die Werte für die Felder, die bereits vom Benutzer des Workflows ausgefüllt wurden. |
q | Die vom Benutzer angegebene Suchanfrage. Dies sollte verwendet werden, um die zurückgegebenen Optionen zu filtern. Dies wird nur berücksichtigt, wenn der vorherige Optionsabruf zurückgegeben searchable: true wurde und der Benutzer eine Suchanfrage eingegeben hat. |
after | Der Paginierungscursor. Dies ist derselbe Paginierungscursor, der vom vorherigen Optionsabruf zurückgegeben wurde. Es kann verwendet werden, um nachzuverfolgen, welche Optionen bereits abgerufen wurden. |
Feld | Beschreibung |
---|---|
webhookUrl | Die von HubSpot aufzurufende Webhook-URL. |
body | Der Anforderungstext. Dies ist optional. |
httpHeaders | Eine Zuordnung der hinzuzufügenden benutzerdefinierten Anfrage-Header. Dies ist optional. |
contentType | Der Content-Type der Anfrage Der Standardwert ist application/json . Dies ist optional. |
accept | Die Accept -Art der Anfrage Der Standardwert ist application/json . Dies ist optional. |
httpMethod | Die HTTP-Methode, mit der die Anfrage durchgeführt werden soll. Der Standardwert ist POST , aber andere gültige Werte sind GET , POST , PUT , PATCH und DELETE . Dies ist optional. |
POST_FETCH_OPTIONS
-Funktion. Die Definition einer POST_FETCH_OPTIONS
-Funktion entspricht der einer PRE_FETCH_OPTIONS
-Funktion. Wenn externe Datenabrufoptionen definiert sind, wird ein Dropdown-Menü in den Eingabeoptionen für die Aktion gerendert.
type
- und fieldType
-KombinationenactionURL
analysiert. Beispielsweise können Sie Ausgabefelder in eine vorhandene Eigenschaft in HubSpot kopieren.
**
labels
: Text, der beschreibt, was die Felder der Aktion darstellen und was die Aktion macht. Englische Label sind erforderlich, aber Label können auch in einer der folgenden unterstützten Sprachen angegeben werden: Deutsch (de
), Französisch (fr
), Japanisch (ja
), Spanisch (es
), Brasilianisches Portugiesisch (pt-br
) und Niederländisch (nl
).actionName
: der im Bereich „Aktion auswählen“ im Workflow-Editor angezeigte Name der Aktion.actionDescription
: eine detaillierte Beschreibung für die Aktion, die beim Konfigurieren der benutzerdefinierten Aktion angezeigt wird.actionCardContent
: eine zusammengefasste Beschreibung, die auf der Karte der Aktion angezeigt wird.appDisplayName
: Der Name des Abschnitts im Bereich „Aktion auswählen“, in dem alle Aktionen für die App angezeigt werden Wenn appDisplayName für mehrere Aktionen definiert ist, wird die erste gefundene Aktion verwendet.inputFieldLabels
: ein Objekt, das die Definitionen von inputFields den entsprechenden Label zuordnet, die der Benutzer beim Konfigurieren der Aktion sieht.outputFieldLabels
: ein Objekt, das die Definitionen von den outputFields entsprechenden Label zuordnet, die im Workflows-Tool angezeigt werden.inputFieldDescriptions
: ein Objekt, das die Definitionen von inputFields den Beschreibungen unterhalb der entsprechenden Label zuordnet.executionRules
: ein Objekt, das die Definitionen von Ihren executionRules den Nachrichten zuordnet, die für die Ergebnisse der Aktionsausführung im Workflow-Verlauf angezeigt werden. In diesen Dokumenten gibt es einen separaten Abschnitt für Ausführungsregeln.actionUrl
gesendet.
callbackId
: eine eindeutige ID für die spezifische Ausführung. Wenn die Ausführung der benutzerdefinierten Aktion blockiert wird, verwenden Sie diese ID.object
: die Werte der in objectRequestOptions
angefragten Eigenschaften.InputFields
: die Werte für die Eingaben, die der Benutzer ausgefüllt hat.outputFields
: die Werte der zuvor definierten Ausgabefelder. Diese Werte können in späteren Aktionen verwendet werden.hs_execution_state
: ein optionaler spezieller Wert, der zu outputFields hinzugefügt werden kann. Es ist nicht möglich, einen neuen Versuch anzugeben, es können nur die folgenden Werte hinzugefügt werden:
SUCCESS
und FAIL_CONTINUE
zeigen an, dass die Aktion abgeschlossen ist und der Workflow mit der nächsten auszuführenden Aktion fortfahren sollte. Wenn kein Ausführungszustand angegeben ist, werden Statuscodes verwendet, um das Ergebnis einer Aktion zu bestimmen:
actionURL
zu formatieren und Daten von der actionURL
zu analysieren. Es gibt zwei Typen von Ausführungsfunktionen:
PRE_ACTION_EXECUTION
POST_ACTION_EXECUTION
PRE_ACTION_EXECUTION
-Funktionen zum Formatieren von Daten, bevor Sie sie an die actionURL
senden.
Die Funktionsdefinition ist folgendermaßen formatiert:
actionURL
erhalten haben, verwenden Sie eine POST_ACTION_EXECUTION
-Funktion, um Daten für HubSpot zu formatieren.
Die Funktionsdefinition ist folgendermaßen formatiert:
completed (2xx or 4xx status code)
von Ihrem Dienst die nächste Aktion im Workflow nach Ihrer benutzerdefinierten Aktion auszuführen, hört der Workflow so lange mit dem Ausführen („blockieren“) dieser Aufnahme auf, bis Sie den Workflow zum Fortfahren anweisen.
Wenn blockiert werden soll, können Sie einen Wert für das hs_default_expiration
-Feld festlegen, nach dem Ihre benutzerdefinierte Aktion als abgelaufen gilt. Die Ausführung des Workflows wird dann wieder aufgenommen, und die Aktion im Anschluss an Ihre benutzerdefinierte Aktion wird ausgeführt, auch wenn die Aktion nicht abgeschlossen ist.
Um eine benutzerdefinierte Aktion zu blockieren, muss Ihre Aktionsausführungsantwort folgendes Format haben:
Feld | Beschreibung |
---|---|
hs_execution_state | Um die Ausführung von Workflows zu blockieren, muss dies für Ihre benutzerdefinierte Aktion auf BLOCK festgelegt sein. Dies ist ein Pflichtfeld. |
hs_expiration_duration | Die Dauer muss im ISO 8601-Format „Dauer“ angegeben werden. Wenn nicht angegeben, wird eine Standardablauffrist von 1 Woche verwendet. Dies ist optional. |
/callbacks/{callbackId}/complete
Formatieren Sie den Anfragetext wie folgt:
Feld | Beschreibung |
---|---|
hs_execution_state | Der endgültige Ausführungszustand. Dies ist ein Pflichtfeld Die gültigen Werte für dieses Feld sind SUCCESS , um anzuzeigen, dass Ihre benutzerdefinierte Aktion erfolgreich abgeschlossen wurde, und FAIL_CONTINUE , um anzuzeigen, dass es ein Problem mit der Ausführung Ihrer benutzerdefinierten Aktion gibt. |
actionURL
im folgenden Format angegeben werden:
executionRules
werden in der angegebenen Reihenfolge getestet. Wenn mehrere Treffer vorhanden sind, wird dem Benutzer nur die Nachricht von der ersten Regel, die übereinstimmt, angezeigt.
Die Regel stimmt überein, wenn die Ausführungsausgabe einem bestimmten Wert in der Regel entspricht. Nehmen Sie beispielsweise diesen Satz an executionRules
:
{"errorCode": "ALREADY_EXISTS", "widgetName": "Test widget"}
: Dies würde mit der ersten Regel übereinstimmen, da errorCode
gleich ALREADY_EXISTS
ist. In diesem Fall wird, auch wenn eine widgetName
-Ausgabe vorliegt, diese nicht in der Regel verwendet, sodass jeder Wert zulässig ist.{"errorCode": "WIDGET_SIZE", "sizeError": "TOO_SMALL"}
: Dies würde mit der zweiten Regel übereinstimmen, da TOO_SMALL
einer der übereinstimmenden Fehler vom Typ sizeError
ist und errorCode
WIDGET_SIZE
ist.{"errorCode": "WIDGET_SIZE", "sizeError": "NOT_A_NUMBER"}
: Dies würde mit der dritten Regel übereinstimmen, da der sizeError
, auch wenn der errorCode
WIDGET_SIZE
ist, keinem der von der zweiten Regel angegebenen Werte entspricht (TOO_SMALL
oder TOO_BIG
).published
-Flag in Ihrer Aktionsdefinition auf true
. Wenn eine Aktion unveröffentlicht ist, können Portale, die die Aktion bereits zu ihrem Workflow hinzugefügt haben, bereits hinzugefügte Aktionen weiterhin bearbeiten und ausführen. Aber sie können die Aktion nicht wieder hinzuzufügen.
widgetName
: ein statisches EingabefeldwidgetColor
: ein Dropdown-Feld mit OptionenwidgetOwner
: ein Feld, das einen zuständigen Mitarbeiter in HubSpot darstellt.widgetQuantity
: ein Feld, das von einer Eigenschaft des aufgenommenen Objekts (die der Benutzer, der den Workflow erstellt, auswählt) abgeleitet ist.objectTypes
-Feld in der Definition der benutzerdefinierten Aktion nicht angegeben ist, steht diese Aktion in allen Workflows zur Verfügung.