Crear un lead en Salesforce mediante Zapier cuando un usuario se registra en Discourse

Se pueden crear oportunidades de Salesforce cuando un usuario se registra en su foro configurando un evento de usuario webhook para publicar en Zapier y luego utilizando la integración de Salesforce de Zapier para crear la oportunidad.

Crear un nuevo Zap

Inicie sesión en Zapier y haga clic en el botón Crear un Zap!. Será llevado a una página que tiene un formulario para crear su Zap:

Asigne un nombre a su Zap y luego haga clic en Elegir aplicación desde la sección Disparador del formulario. En la sección Elegir una aplicación de disparador de la página, seleccione Webhooks:

En el formulario Seleccionar Webhooks por Disparador de Zapier, seleccione ‘mostrar opciones menos comunes’ y luego seleccione Capturar gancho sin procesar:

Haga clic en Guardar + Continuar.

Luego copie la URL del webhook en su portapapeles.

Crear un webhook de evento de usuario de Discourse

Para crear el webhook de Discourse, en su foro de Discourse, vaya a Administración / API / Webhooks y haga clic en el botón Agregar webhook. En el formulario que aparece, pegue la URL del webhook de Zapier en el campo URL de la carga útil. Bajo “¿Qué eventos deben activar este webhook?”, seleccione Seleccionar eventos individuales. Luego, bajo el grupo Eventos de usuario, marque la casilla Se crea un usuario. Marque la casilla Activo para habilitar el webhook y luego haga clic en el botón Crear.

:bulb: Consejo: Dado que solo está seleccionando el evento user_created, Discourse solo activará este webhook cuando un nuevo usuario se registre, no para otros cambios de usuario. Esto significa que el paso de filtro de Zapier descrito a continuación es opcional, pero aún se recomienda como medida de seguridad.

Probar el webhook en Zapier

Ahora regrese a Zapier y haga clic en el botón ‘Ok, lo hice’:

Ahora necesita enviar una solicitud de ejemplo desde Discourse a Zapier. Para generar los datos necesarios para probar los siguientes pasos, deberá crear un nuevo usuario en su foro. Una dirección de Gmail desechable es buena para usar en esto. Regístrese en su foro como un nuevo usuario y luego regrese al paso de muestra de Zapier para ver los datos.

Puede expandir la muestra para ver los datos que se enviaron desde Discourse. Haga clic en Continuar para pasar al siguiente paso.

Capturar el evento de usuario creado de Discourse

Si seleccionó solo el evento user_created al configurar el webhook en Discourse, este paso de filtro es opcional. Sin embargo, sigue siendo una buena medida de seguridad. Haga clic en Agregar un paso y luego en Filtro:

Para filtrar todos los eventos excepto el evento Usuario creado, configure el filtro para continuar solo si Headers Http X Discourse Event coincide exactamente con user_created.

'

Haga clic en el botón Probar y Continuar. Si activó el evento de muestra creando un nuevo usuario en su foro, debería ver un aviso de Éxito. Si, en cambio, ve un aviso de que su Zap no habría continuado, regrese a sus datos de muestra y asegúrese de que sus Headers Http X Discourse Event estén configurados en user_created.

Haga clic en el botón Continuar para pasar al siguiente paso.

Analizar la carga útil sin procesar con un paso Ejecutar Javascript

Haga clic en Agregar un paso desde el menú de su Zap. Luego haga clic en Acción/Búsqueda y seleccione Código en el menú de Acción. En el formulario Código, seleccione Ejecutar-Javascript.

Zapier creará un objeto inputData al que puede agregar propiedades con nombre. Agregue un nombre para su propiedad en la columna izquierda. Desde la columna derecha, seleccione “Capturar gancho sin procesar” en el menú desplegable y luego seleccione “Cuerpo sin procesar”:

Desplácese hacia abajo en la página para ver una entrada de código:

Luego necesita reemplazar el código de muestra con algún código que analice el Cuerpo sin procesar y devuelva un objeto que tenga los valores que necesita para su acción final. Aquí está el código que estoy usando. Salesforce requiere un apellido, por lo que si no existe un apellido, se devuelve un error. En mi sitio de Discourse he agregado un campo de usuario personalizado para Empresa que es obligatorio al registrarse. Quiero pasar estos datos a Salesforce. Al examinar la carga útil enviada desde Discourse, sé que este campo se encuentra en \"user_fields\":[\"10\"]. Deberá configurar el código para devolver los campos de datos sin procesar que desea pasar a Salesforce.

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: "Falta el apellido"}
  }
} else {
  return {error: "No se devolvió un objeto de usuario"};
}

Después de agregar su código, haga clic en el botón Continuar y luego en el botón Probar este paso. Los resultados deberían devolver los datos del nuevo usuario:

Filtrar solicitudes fallidas

Si su paso de javascript devolvió un error, por ejemplo, “Falta el apellido”, puede agregar otro paso de filtro para evitar realizar solicitudes fallidas a Salesforce. Haga clic en Agregar un paso desde el menú de Zaps y luego en Filtro. Configure este filtro para continuar solo si no hay errores:

Crear una oportunidad en Zapier

Haga clic en Agregar un paso y luego en Acción/Búsqueda. En el menú de acción busque y seleccione Salesforce. En el menú de acción de Salesforce seleccione Crear oportunidad. Haga clic en Guardar + Continuar. Luego haga clic en Conectar una cuenta. Se le pedirá que permita que Zapier acceda a su cuenta de Salesforce. Haga clic en el botón Probar para asegurarse de que está conectado:

En la página Configurar oportunidad de Salesforce puede agregar campos del paso Ejecutar-Javascript a sus campos correspondientes de Salesforce:

Haga clic en Continuar y luego en Enviar prueba a Salesforce. Debería ver una nueva oportunidad de Salesforce. Si todo funciona correctamente, haga clic en Finalizar y luego active el Zap.

11 Me gusta