Crie um lead no Salesforce via Zapier quando um usuário se cadastrar no Discourse

Os leads do Salesforce podem ser criados quando um usuário se cadastra no seu fórum, configurando um Evento de Usuário webhook para postar no Zapier e, em seguida, usando a integração do Zapier com o Salesforce para criar o lead.

Criar um novo Zap

Faça login no Zapier e clique no botão “Make a Zap!”. Você será levado a uma página com um formulário para criar seu Zap:

Dê um nome ao seu Zap e, em seguida, clique em “Choose App” na seção Trigger do formulário. Na seção “Choose a Trigger App” da página, selecione Webhooks:

No formulário “Select Webhooks by Zapier Trigger”, selecione “show less common options” e, em seguida, selecione “Catch Raw Hook”:

Clique em “Save + Continue”.

Em seguida, copie a URL do webhook para a área de transferência.

Criar um Webhook de Evento de Usuário do Discourse

Para criar o Webhook do Discourse, no seu fórum Discourse, vá em Admin / API / Webhooks e clique no botão Add webhook. No formulário que aparecer, cole a URL do webhook do Zapier no campo Payload URL. Em “Which events should trigger this webhook?”, selecione Select individual events. Em seguida, no grupo User Events, marque a caixa de seleção User is created. Marque a caixa de seleção Active para ativar o webhook e, em seguida, clique no botão Create.

:bulb: Dica: Como você está selecionando apenas o evento user_created, o Discourse acionará esse webhook apenas quando um novo usuário se cadastrar — não para outras alterações de usuário. Isso significa que a etapa de filtro do Zapier descrita abaixo é opcional, mas ainda recomendada como medida de segurança.

Testar o Webhook no Zapier

Agora, volte ao Zapier e clique no botão “Ok, I did this”:

Agora você precisa enviar uma solicitação de amostra do Discourse para o Zapier. Para gerar os dados necessários para testar as etapas a seguir, você precisará criar um novo usuário no seu fórum. Um endereço Gmail descartável é bom para usar nisso. Cadastre-se no seu fórum como um novo usuário e, em seguida, volte à etapa de amostra do Zapier para visualizar os dados.

Você pode expandir a amostra para ver os dados que foram enviados do Discourse. Clique em Continue para prosseguir para a próxima etapa.

Capturar o Evento de Usuário Criado do Discourse

Se você selecionou apenas o evento user_created ao configurar o webhook no Discourse, esta etapa de filtro é opcional. No entanto, ainda é uma boa medida de segurança. Clique em Add a Step e, em seguida, clique em Filter:

Para filtrar todos os eventos, exceto o evento User Created, configure o filtro para continuar apenas se Headers Http X Discourse Event corresponder exatamente a user_created.

'

Clique no botão Test and Continue. Se você acionou o evento de amostra criando um novo usuário no seu fórum, deverá ver uma notificação de Sucesso. Se, em vez disso, você vir uma notificação de que seu Zap não teria continuado, volte aos seus dados de amostra e certifique-se de que seu Headers Http X Discourse Event esteja definido como user_created.

Clique no botão Continue para prosseguir para a próxima etapa.

Analisar o payload bruto com uma etapa Run Javascript

Clique em Add a Step no menu do seu Zap. Em seguida, clique em Action/Search e selecione Code no menu Action. No formulário Code, selecione Run-Javascript.

O Zapier criará um objeto inputData ao qual você pode adicionar propriedades nomeadas. Adicione um nome para sua propriedade na coluna esquerda. Na coluna direita, selecione “Catch Raw Hook” no menu suspenso e, em seguida, selecione “Raw Body”:

Role a página para baixo para ver uma entrada de código:

Em seguida, você precisa substituir o código de amostra por algum código que analise o Raw Body e retorne um objeto com os valores necessários para sua ação final. Aqui está o código que estou usando. O Salesforce exige um sobrenome, então, se nenhum sobrenome existir, um erro será retornado. No meu site Discourse, adicionei um campo de Usuário Personalizado para Empresa que é obrigatório no cadastro. Quero passar esses dados para o Salesforce. Ao analisar o payload enviado do Discourse, sei que este campo está localizado em \"user_fields\":[\"10\"]. Você precisará configurar o código para retornar os campos de dados brutos que deseja passar para o 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: "Missing last name"}
  }
} else {
  return {error: "A user object was not returned"};
}

Após adicionar seu código, clique no botão Continue e, em seguida, clique no botão Test This Step. Os resultados devem retornar os dados do novo usuário:

Filtrar solicitações com falha

Se sua etapa de JavaScript retornou um erro, por exemplo, “Missing last name”, você pode adicionar outra etapa de filtro para evitar fazer solicitações com falha ao Salesforce. Clique em Add a Step no menu Zaps e, em seguida, clique em Filter. Configure este filtro para continuar apenas se não houver erros:

Criar um lead no Zapier

Clique em Add A Step e, em seguida, em Action/Search. No menu de ação, pesquise e selecione Salesforce. No menu de ação do Salesforce, selecione Create Lead. Clique em Save + Continue. Em seguida, clique em Connect an Account. Será solicitado que você permita que o Zapier acesse sua conta do Salesforce. Clique no botão Test para garantir que você está conectado:

Na página Set up Salesforce Lead, você pode adicionar campos da etapa Run-Javascript aos seus campos correspondentes no Salesforce:

Clique em Continue e, em seguida, em Send Test To Salesforce. Você deve ver um novo lead no Salesforce. Se tudo estiver funcionando corretamente, clique em Finish e, em seguida, ative o Zap.

11 curtidas