Salesforce: Datensatz erstellen oder aktualisieren
Verwenden Sie Salesforce: Datensatz erstellen oder aktualisieren, um einen Salesforce-Datensatz aus einem Journey-Schritt per Upsert zu bearbeiten, abgeglichen über ein externes ID-Feld: Es aktualisiert den Datensatz, wenn der Wert bereits vorhanden ist, und erstellt ihn, wenn nicht. Salesforce hat keinen statischen API-Token, daher authentifiziert sich dieser Punkt über eine verbundene App, die einmal für das gesamte Konto registriert wird. Es gibt kein Token-Feld am Punkt selbst.
Typische Anwendungsfälle:
- Salesforce synchron halten: Erstellen oder aktualisieren Sie einen Kontakt oder Lead, während sich der Teilnehmer durch die Journey bewegt, damit der Vertrieb aktuelle Daten sieht.
- Journey-Aktivitäten mit dem CRM synchronisieren: Setzen Sie ein Feld, wenn ein Teilnehmer einen Meilenstein erreicht, damit der Vertrieb danach filtern oder Berichte erstellen kann.
- Doppelte Datensätze vermeiden: Der Abgleich über eine externe ID bedeutet, dass ein Teilnehmer, der diesen Punkt erneut durchläuft, denselben Datensatz aktualisiert, anstatt einen neuen zu erstellen.
Bevor Sie beginnen
Anchor link toErstellen Sie eine verbundene App in Ihrer Salesforce-Organisation und verbinden Sie sie unter Einstellungen > Integrationen von Drittanbietern > Salesforce:
- Erstellen Sie in Salesforce eine Externe Client-App (oder eine klassische verbundene App) mit aktiviertem OAuth und dem Geltungsbereich Benutzerdaten über APIs verwalten (api).
- Aktivieren Sie den Client-Anmeldeinformationsfluss dafür und wählen Sie den ausführenden Benutzer aus. Der Punkt schreibt als dieser Benutzer, daher entscheidet sein Profil, welche Objekte und Felder er bearbeiten darf.
- Geben Sie in Pushwoosh unter Host meiner Domäne den Host Ihrer Organisation ohne
https://ein, zum Beispielacme.my.salesforce.com. - Fügen Sie unter Consumer Key und Consumer Secret die Anmeldeinformationen der App ein. Das Secret wird schreibgeschützt gespeichert: Pushwoosh zeigt es nie wieder an, also fügen Sie ein neues ein, um es zu ersetzen.
- Klicken Sie auf Salesforce verbinden.

Nachdem Sie Salesforce verbunden haben, installieren Sie die Integration, damit der Punkt im Journey Builder erscheint.
Zwei Dinge müssen auch auf der Salesforce-Seite vorhanden sein:
- Das Feld, nach dem Sie abgleichen, muss für dieses Objekt als Externe ID markiert sein. Ein reines Textfeld, selbst
Email, ist nicht ausreichend – Salesforce lehnt die Anfrage mitNOT_FOUNDab, wenn das Feld keine externe ID ist. - Der „Ausführen als“-Benutzer der verbundenen App benötigt Zugriff auf Feldebene für dieses Feld. Ein über Setup oder die API erstelltes Feld gewährt von sich aus keine Berechtigungen, und ohne die Berechtigung antwortet Salesforce mit demselben
NOT_FOUND: Field name provided ... does not match an External ID– das Feld ist für diesen Benutzer unsichtbar, also existiert es aus Sicht der API nicht. Fügen Sie es einem Berechtigungssatz hinzu, der dem „Ausführen als“-Benutzer zugewiesen ist.
Den Punkt konfigurieren
Anchor link to- Ziehen Sie Salesforce: Datensatz erstellen oder aktualisieren aus dem Abschnitt Integrationen des linken Panels auf die Arbeitsfläche.
- Doppelklicken Sie auf den Punkt und geben Sie einen Schrittnamen ein.
- Geben Sie unter Host meiner Domäne denselben Host ein, auf dem sich die verbundene App befindet.

- Geben Sie unter Objekt den API-Namen des Objekts ein –
Contact,Leadoder ein benutzerdefiniertes Objekt, das auf__cendet.

- Geben Sie unter Feld für externe ID den API-Namen des als Externe ID markierten Feldes ein.

- Geben Sie unter Wert für externe ID den Wert ein, nach dem abgeglichen werden soll, normalerweise ein Makro wie
{{device:hwid}}.

- Fügen Sie unter Felder eine Zeile pro zu setzendem Salesforce-Feld hinzu. Geben Sie den API-Namen des Feldes und den Wert ein. Namen müssen nicht leer und eindeutig sein. Erforderliche Felder des Objekts müssen darunter sein, sonst weigert sich Salesforce, einen neuen Datensatz zu erstellen. Ein Wert kann fester Text oder ein Teilnehmer-Makro wie
{{device:hwid}}sein, dieselben Makros wie in einem Webhook-Body. Oder klicken Sie auf Dynamischen Wert einfügen, um ein Attribut auszuwählen, das ein früherer Schritt in dieser Journey erzeugt hat, zum Beispiel eine LLM-Antwort oder einen zugeordneten Webhook-Wert.

- Klicken Sie auf Speichern.
Antwort
Anchor link toDer Teilnehmer fährt mit dem nächsten Schritt fort, den Sie auf der Arbeitsfläche verbinden.
Attribute nach Ausführung des Schritts
Anchor link to| Attribut | Inhalt |
|---|---|
salesforce_record_id | Die ID des Datensatzes |
Wie man es in späteren Schritten verwendet
Anchor link toDer Teilnehmer ist bereits unabhängig von diesem Attribut zum nächsten Schritt übergegangen. Speichern Sie es in einem Tag mit Benutzerprofil aktualisieren, wenn Sie später auf diesen spezifischen Datensatz verweisen müssen, zum Beispiel über die eigene API von Salesforce.
Fehler und unerwartete Antworten
Anchor link toÖffnen Sie das Anrufprotokoll in der Seitenleiste des Punktes und überprüfen Sie die Antwort:
- 401 – die Anmeldeinformationen der verbundenen App sind falsch oder der Client-Anmeldeinformationsfluss ist dafür nicht aktiviert.
- NOT_FOUND im Body – der Objektname oder das externe ID-Feld stimmt mit nichts in dieser Organisation überein. Überprüfen Sie, ob das Feld wirklich als Externe ID markiert ist.
- REQUIRED_FIELD_MISSING im Body – das Erstellen eines neuen Datensatzes erfordert ein Feld, das der Punkt nicht sendet. Fügen Sie es unter Felder hinzu.
- INVALID_FIELD im Body – ein Name unter Felder ist kein API-Name für dieses Objekt. Der API-Name eines benutzerdefinierten Feldes endet auf
__c.
Eine fehlgeschlagene Anfrage lässt den Teilnehmer aus der Journey ausscheiden. Siehe Fehler und fehlgeschlagene Anfragen.
Beispielszenario: Weiterleitung einer In-App-Beratungsanfrage an den Vertrieb
Anchor link toEine Wellness-App ermöglicht es Benutzern, in der App auf Mit einem Berater sprechen zu tippen. Das Team möchte, dass diese Anfrage zu einem Salesforce-Kontakt wird, den ein Vertriebsmitarbeiter weiterverfolgen kann.
- Fügen Sie ein Trigger-basiertes Eintrittselement hinzu und stellen Sie es so ein, dass es bei einem
AdvisorCallRequested-Ereignis ausgelöst wird. - Fügen Sie direkt danach Salesforce: Datensatz erstellen oder aktualisieren hinzu. Setzen Sie Objekt auf
Contact, Feld für externe ID aufPushwoosh_HWID__cund Wert für externe ID auf{{device:hwid}}. Setzen Sie unter FelderEmailauf{{tag:Email}}. - Klicken Sie auf Speichern.
Sobald dies ausgeführt wird, landet jede In-App-Beratungsanfrage als Kontakt in Salesforce, abgeglichen nach Gerät, sodass ein wiederholtes Tippen denselben Kontakt aktualisiert, anstatt ein Duplikat zu erstellen.