Zendesk Chat
O Zendesk Chat usa webhooks de cada plataforma para configurar uma conversa bidirecional por SMS. Quando um usuário solicita suporte, um ticket é criado no Zendesk. As respostas dos agentes são encaminhadas à Braze por meio de uma Campaign de SMS disparada por API, e as respostas dos usuários são enviadas de volta ao Zendesk.
Pré-requisitos
| Pré-requisito | Descrição |
|---|---|
| Uma conta do Zendesk | É necessário ter uma conta do Zendesk para aproveitar essa parceria. |
| Um token de autorização básica do Zendesk | Um token de autorização básica do Zendesk é usado para fazer uma solicitação de webhook de saída da Braze para o Zendesk. |
| Uma chave da API REST da Braze | Uma chave da API REST da Braze com permissões campaigns.trigger.send. Isso pode ser criado no dashboard da Braze em Configurações > Chaves de API. |
Casos de uso
Aumente a eficiência do suporte ao cliente combinando os recursos de SMS da Braze com as respostas dos agentes em tempo real do Zendesk para atender prontamente às consultas dos usuários com suporte humano.
Integração do Zendesk Chat
Etapa 1: Criar um webhook no Zendesk
- No console de desenvolvedor do Zendesk, acesse webhooks:
https://{{url}}.zendesk.com/admin/apps-integrations/webhooks/webhooks - Em Create Webhook, selecione Trigger or automation.
- Para Endpoint URL, adicione o endpoint /campaign/trigger/send.
- Em Authentication, selecione Bearer token e adicione a chave da API REST da Braze com as permissões
campaigns.trigger.send.

Etapa 2: Criar uma Campaign de SMS de saída
Em seguida, você criará uma Campaign de SMS que ouvirá webhooks do Zendesk e enviará uma resposta de SMS personalizada para seus clientes.
Etapa 2.1: Redija sua mensagem
Quando o Zendesk envia o conteúdo de uma mensagem por meio da API, ele vem no seguinte formato:
1
**----------------------------------------------\n\n{Replier Name}, {Replier Date}\n\n{Message}**
Portanto, precisamos extrair os detalhes que desejamos dessa string para exibir na mensagem, caso contrário, o usuário verá todos os detalhes.

Na caixa de texto Mensagem, adicione o seguinte código Liquid e qualquer linguagem de descadastramento ou outro conteúdo estático:
1
2
3
4
5
6
7
{% assign body = {{api_trigger_properties.${msg_body}}} %}
{% assign msg = body | split: "
" %}
New message from Zendesk:
{{msg[2]}}
Feel free to respond directly to this number!

Etapa 2.2: Agendar a entrega
Para o tipo de entrega, selecione Entrega disparada por API e, em seguida, copie o ID da Campaign, que será usado nas próximas etapas.

Por fim, em Controles de entrega, ative a reelegibilidade.

Etapa 3: Criar um gatilho no Zendesk para encaminhar as respostas do agente à Braze
Acesse Objects and rules > Business rules > Triggers.
- Crie uma nova categoria (por exemplo, Trigger a message).
- Crie um novo gatilho (por exemplo, Respond via SMS Braze).
- Em Conditions, selecione:
- Ticket>Comment está Present and requester can see comment para que a mensagem seja disparada sempre que um novo comentário público for incluído em uma atualização de ticket
- Ticket>Update não é Web service (API) para que, quando um usuário enviar uma mensagem pela Braze, ela não seja encaminhada de volta para o celular. Somente mensagens provenientes do Zendesk são encaminhadas.

Em Actions, selecione Notify by Webhook e escolha o endpoint que você criou na etapa 1. Em seguida, especifique o corpo da chamada à API. Insira o campaign_id da etapa 2.2 no corpo da solicitação.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"campaign_id": "{{YOUR_CAMPAIGN_ID}}",
"recipients": [
{
"external_user_id": "{{ticket.requester.custom_fields.braze_external_id}}",
"trigger_properties": {
"msg_body": "{{ticket.latest_public_comment_html}}"
},
"attributes": {
"zendesk_ticket" : "{{ticket.id}}",
"zendesk_ticket_open" : "true"
}
}
]
}
Etapa 4: Criar um gatilho no Zendesk para atualizar um usuário quando um ticket for fechado
Se quiser notificar o usuário de que o ticket foi fechado, crie uma nova Campaign na Braze com o corpo de resposta modelado.

Selecione Entrega disparada por API e copie o ID da Campaign.
Em seguida, configure um gatilho para notificar a Braze quando o ticket for fechado:
- Categoria: Trigger a message
- Em Conditions, selecione Ticket>Ticket Status e altere para Solved

Em Actions, selecione Notify by Webhook e escolha o segundo endpoint que você acabou de criar. A partir daí, precisamos especificar o corpo da chamada à API:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"campaign_id": "{{YOUR_API_KEY}}",
"recipients": [
{
"external_user_id": "{{ticket.requester.custom_fields.braze_external_id}}",
"trigger_properties": {
"msg_body": "Your ticket has been closed"
},
,
"attributes": {
"zendesk_ticket_open" : "false"
}
}
]
}
Etapa 5: Adicionar um campo de usuário personalizado no Zendesk
Na Central de administração, selecione People na barra lateral e, em seguida, selecione Configuration > User fields. Adicione o campo de usuário personalizado braze_external_id.
Etapa 6: Configurar o encaminhamento de SMS de entrada
Em seguida, você criará duas novas Campaigns de webhook na Braze para encaminhar SMS recebidos de clientes para a caixa de entrada do Zendesk.
| Campaign | Finalidade |
|---|---|
| Campaign de webhook 1 | Cria um novo ticket no Zendesk. |
| Campaign de webhook 2 | Encaminha todas as respostas de SMS de conversação enviadas pelo cliente ao Zendesk. |
Etapa 6.1: Criar uma categoria de palavra-chave SMS
No dashboard da Braze, acesse Público, escolha seu grupo de inscrições de SMS e selecione Adicionar palavra-chave personalizada. Preencha os campos a seguir para criar uma categoria de palavra-chave de SMS exclusiva para o Zendesk.
| Campo | Descrição |
|---|---|
| Categoria da palavra-chave | O nome da categoria da palavra-chave, como ZendeskSMS1. |
| Palavras-chave | Suas palavras-chave personalizadas, como SUPPORT. |
| Mensagem de resposta | A mensagem enviada quando uma palavra-chave é detectada, como “Um representante de atendimento ao cliente entrará em contato com você em breve.” |

Etapa 6.2: Crie sua primeira Campaign de webhook
No dashboard da Braze, crie sua primeira Campaign de webhook. Essa mensagem sinalizará ao Zendesk que o suporte está sendo solicitado.
No criador do webhook, preencha os seguintes campos:
- URL do webhook: https://{{url}}.zendesk.com/api/v2/tickets
- Método HTTP: POST
- Cabeçalhos de solicitação:
- Content-Type: application/json
- Authorization: Basic
- Corpo da solicitação:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
"ticket": {
"subject": "Action Needed",
"comment": {
"body": "{{sms.${inbound_message_body}}}"
},
"requester":{
"name": "{{${first_name}}} {{${last_name}}}",
"user_fields": {
"braze_external_id": "{{${user_id}}}"
}
},
"priority": "normal",
"type": "problem"
}
}

Etapa 6.3: Agendar a primeira entrega
Em Programar entrega, selecione Entrega baseada em ação e, em seguida, escolha Enviar uma mensagem SMS de entrada para o tipo de gatilho. Adicione também o grupo de inscrições de SMS e a categoria de palavras-chave que você configurou anteriormente.

Em Controles de entrega, ative a reelegibilidade.

Etapa 6.4: Crie sua segunda Campaign de webhook
Configure uma Campaign de webhook para encaminhar as mensagens SMS restantes do usuário ao Zendesk:
Como o Zendesk envia o ID do ticket como uma string, crie um bloco de conteúdo para converter a string em um número inteiro para que você possa usá-lo no webhook do Zendesk.
1
{% assign var = {{custom_attribute.${zendesk_ticket}}} | to_i %}{{var}}
No criador do webhook:
- URL do webhook: https://{{url}}.zendesk.com/api/v2/tickets/{{content_blocks.${to_int}}}.json
- Solicitação: PUT
- KVPs:
- Content-Type:application/JSON
- Authorization: Basic
Corpo de exemplo:
1
2
3
4
5
6
7
{
"ticket": {
"comment": {
"body": "Inbound message from {{${first_name}}} {{${last_name}}}: {{sms.${inbound_message_body}}}"
}
}
}
Etapa 6.5: Concluir a configuração da segunda Campaign de webhook
- Configure um gatilho baseado em ação para usuários que enviam uma mensagem de entrada na categoria “Other”.
- Defina os critérios de reelegibilidade.
- Adicione públicos aplicáveis (neste caso, o atributo personalizado zendesk_ticket_open é true).