Salesforce-Lead über Zapier erstellen, wenn sich ein Benutzer bei Discourse anmeldet

Salesforce-Leads können erstellt werden, wenn sich ein Benutzer auf Ihrem Forum anmeldet, indem Sie ein Benutzerereignis über einen Webhook konfigurieren, der an Zapier sendet, und dann die Zapier-Salesforce-Integration verwenden, um den Lead zu erstellen.

Erstellen eines neuen Zaps

Melden Sie sich bei Zapier an und klicken Sie auf die Schaltfläche „Make a Zap!". Sie werden zu einer Seite mit einem Formular zur Erstellung Ihres Zaps weitergeleitet:

Verleihen Sie Ihrem Zap einen Namen und klicken Sie dann im Trigger-Abschnitt des Formulars auf „App auswählen". Wählen Sie im Abschnitt „Trigger-App auswählen" der Seite „Webhooks" aus:

Wählen Sie im Formular „Webhooks by Zapier Trigger auswählen" die Option „Häufigere Optionen anzeigen" und dann „Catch Raw Hook":

Klicken Sie auf „Speichern + Fortfahren".

Kopieren Sie dann die Webhook-URL in Ihre Zwischenablage.

Erstellen eines Discourse-Benutzerereignis-Webhooks

Um den Discourse-Webhook zu erstellen, gehen Sie auf Ihrem Discourse-Forum zu Admin / API / Webhooks und klicken Sie auf die Schaltfläche Webhook hinzufügen. Fügen Sie im erscheinenden Formular die Zapier-Webhook-URL in das Feld „Payload-URL" ein. Wählen Sie unter „Welche Ereignisse sollten diesen Webhook auslösen?" die Option Einzelne Ereignisse auswählen. Aktivieren Sie dann in der Gruppe Benutzerereignisse das Kontrollkästchen Benutzer wurde erstellt. Aktivieren Sie das Kontrollkästchen „Aktiv", um den Webhook zu aktivieren, und klicken Sie dann auf die Schaltfläche „Erstellen".

:bulb: Tipp: Da Sie nur das Ereignis user_created auswählen, löst Discourse diesen Webhook nur aus, wenn sich ein neuer Benutzer anmeldet – nicht für andere Benutzeränderungen. Das bedeutet, dass der unten beschriebene Zapier-Filter-Schritt optional, aber dennoch als Sicherheitsmaßnahme empfohlen wird.

Testen des Webhooks in Zapier

Gehen Sie nun zurück zu Zapier und klicken Sie auf die Schaltfläche „Ok, ich habe dies erledigt":

Sie müssen nun eine Beispielanfrage von Discourse an Zapier senden. Um die für die folgenden Schritte erforderlichen Daten zu generieren, müssen Sie einen neuen Benutzer auf Ihrem Forum erstellen. Eine verworfene Gmail-Adresse eignet sich hierfür gut. Melden Sie sich als neuer Benutzer auf Ihrem Forum an und gehen Sie dann zurück zum Zapier-Beispielschritt, um die Daten anzusehen.

Sie können das Beispiel erweitern, um die von Discourse gesendeten Daten anzuzeigen. Klicken Sie auf „Fortfahren", um zum nächsten Schritt zu gelangen.

Erfassen des Discourse-Benutzer-Erstellt-Ereignisses

Wenn Sie beim Konfigurieren des Webhooks in Discourse nur das Ereignis user_created ausgewählt haben, ist dieser Filterschritt optional. Es ist jedoch immer noch eine gute Sicherheitsmaßnahme. Klicken Sie auf „Schritt hinzufügen" und dann auf „Filter":

Um alle Ereignisse außer dem Benutzer-Erstellt-Ereignis herauszufiltern, konfigurieren Sie den Filter so, dass er nur fortfährt, wenn Headers Http X Discourse Event genau user_created entspricht.

'

Klicken Sie auf die Schaltfläche „Testen und Fortfahren". Wenn Sie das Beispielereignis durch Erstellen eines neuen Benutzers auf Ihrem Forum ausgelöst haben, sollten Sie eine Erfolgsmeldung sehen. Wenn Sie stattdessen eine Meldung sehen, dass Ihr Zap nicht fortgefahren wäre, gehen Sie zurück zu Ihren Beispieldaten und stellen Sie sicher, dass Headers Http X Discourse Event auf user_created gesetzt ist.

Klicken Sie auf die Schaltfläche „Fortfahren", um zum nächsten Schritt zu gelangen.

Parsen des Raw-Payloads mit einem „Run JavaScript"-Schritt

Klicken Sie im Menü Ihres Zaps auf „Schritt hinzufügen". Klicken Sie dann auf „Aktion/Suche" und wählen Sie im Aktionsmenü „Code" aus. Wählen Sie im Code-Formular „Run-Javascript" aus.

Zapier erstellt ein inputData-Objekt, dem Sie benannte Eigenschaften hinzufügen können. Geben Sie in der linken Spalte einen Namen für Ihre Eigenschaft ein. Wählen Sie in der rechten Spalte „Catch Raw Hook" aus dem Dropdown-Menü und dann „Raw Body":

Scrollen Sie nach unten auf der Seite, um eine Code-Eingabe zu sehen:

Sie müssen dann den Beispielcode durch einen Code ersetzen, der den Raw Body analysiert und ein Objekt zurückgibt, das die Werte enthält, die Sie für Ihre finale Aktion benötigen. Hier ist der Code, den ich verwende. Salesforce erfordert einen Nachnamen, daher wird bei fehlendem Nachnamen ein Fehler zurückgegeben. Auf meiner Discourse-Website habe ich ein benutzerdefiniertes Benutzerfeld für „Firma" hinzugefügt, das bei der Anmeldung erforderlich ist. Ich möchte diese Daten an Salesforce übergeben. Durch das Betrachten des von Discourse gesendeten Payloads weiß ich, dass sich dieses Feld bei \"user_fields\":[\"10\"] befindet. Sie müssen den Code so konfigurieren, dass er die Rohdatenfelder zurückgibt, die Sie an Salesforce übergeben möchten.

const parsed = JSON.parse(inputData.raw);
if (parsed.user) {
  const user = parsed.user,
        name = user.name,
        userFields = user.user_fields;
  let firstName,
      lastName,
      company;
  
  if (name) {
    const splitName = name.split(' ');
    firstName = splitName[0];
    lastName = splitName[1]
    }
  if (userFields) {
    company = userFields['10'];
  }
  if (lastName) {
    return {id: user.id,
            username: user.username,
            lastName: lastName,
            firstName: firstName,
            email: user.email,
            company: company,
            error: null
           };
  } else {
    return {error: \"Missing last name\"}
  }
} else {
  return {error: \"A user object was not returned\"};
}

Nachdem Sie Ihren Code hinzugefügt haben, klicken Sie auf die Schaltfläche „Fortfahren" und dann auf „Diesen Schritt testen". Die Ergebnisse sollten die Daten des neuen Benutzers zurückgeben:

Fehlerhafte Anfragen herausfiltern

Wenn Ihr JavaScript-Schritt einen Fehler zurückgegeben hat, z. B. „Missing last name", können Sie einen weiteren Filterschritt hinzufügen, um fehlerhafte Anfragen an Salesforce zu vermeiden. Klicken Sie im Menü der Zaps auf „Schritt hinzufügen" und dann auf „Filter". Konfigurieren Sie diesen Filter so, dass er nur fortfährt, wenn keine Fehler vorliegen:

Erstellen eines Leads in Zapier

Klicken Sie auf „Schritt hinzufügen" und dann auf „Aktion/Suche". Suchen Sie im Aktionsmenü nach „Salesforce" und wählen Sie es aus. Wählen Sie im Salesforce-Aktionsmenü „Lead erstellen" aus. Klicken Sie auf „Speichern + Fortfahren". Klicken Sie dann auf „Konto verbinden". Sie werden aufgefordert, Zapier den Zugriff auf Ihr Salesforce-Konto zu gewähren. Klicken Sie auf die Schaltfläche „Testen", um sicherzustellen, dass Sie verbunden sind:

Auf der Seite „Salesforce-Lead einrichten" können Sie Felder aus dem „Run-Javascript"-Schritt ihren entsprechenden Salesforce-Feldern zuordnen:

Klicken Sie auf „Fortfahren" und dann auf „Test an Salesforce senden". Sie sollten einen neuen Salesforce-Lead sehen. Wenn alles korrekt funktioniert, klicken Sie auf „Fertigstellen" und schalten Sie dann den Zap ein.

11 „Gefällt mir“