Habilitando sincronização bidirecional do Zendesk

Summary

In this documentation, we will cover:

  • Enabling Zendesk synchronization settings in Discourse
  • Configuring a Zendesk webhook
  • Setting up a Zendesk trigger

Enabling Zendesk synchronization settings

To begin, you will need to enable a specific setting in Discourse and provide a secure token.

  1. Navigate to Admin Settings: Go to your Discourse site and navigate to the Admin settings page at /admin/site_settings.
  2. Enable Sync Setting: Find and enable the sync comments from zendesk setting.
  3. Provide Webhook Token: In the zendesk incoming webhook token, generate and add a random secure string. This token will be used later for configuring Zendesk’s webhook.

Setting up a Zendesk webhook

Follow these steps to configure a webhook in Zendesk:

  1. Access Webhooks Page: Navigate to the Webhooks section in Zendesk under Apps and integrationsWebhooks.
    • Example URL: https://<instance_name>.zendesk.com/admin/apps-integrations/webhooks/webhooks
  2. Create a Webhook:
    • Click the Actions button in the upper right corner.
    • Select Create Webhook.
    • Fill in the webhook details, ensuring you replace <discourse.example.com> with your Discourse site’s URL.


  1. Test the Webhook:
    • Click the Test Webhook button.
    • Select ‘Custom Test’ from the dropdown.
    • Replace the JSON with the following, inserting your token:
     {
         "ticket_id": "{{ticket.id}}",
         "topic_id": "{{ticket.external_id}}",
         "email": "{{current_user.email}}",
         "token": "INSERT TOKEN HERE"
     }
  • Hit Send Test. Expect a 400 Bad Request as a positive signal with the HTML page displayed indicating success.

Setting up a Zendesk trigger

Configure a trigger in Zendesk to automate actions:

  1. Access Triggers Page: Go to the Triggers section in Zendesk under AdminObjects and RulesBusiness RulesTriggers.
    • Example URL: https://<instance_name>.zendesk.com/admin/objects-rules/rules/triggers
  2. Create a Trigger:
    • Click Add trigger.
    • Name it “Discourse Sync” and set the category to “Notifications”.
    • Configure the conditions and actions as depicted below.



  • Use the same JSON body as in the test webhook step, again replacing “INSERT TOKEN HERE” with your token.
  1. Save the Trigger: Once configured, make sure to save the trigger.

Last edited by @jessii 2024-10-29T18:59:23Z

Check documentPerform check on document:
10 curtidas

Hey @techAPJ this is really awesome! Is there a way to set up a triggered sync as opposed to a live sync? i.e. an agent would add a tag in ZD or hit a button or something and only then would the ticket sync to the community?
We are trying to figure out the best way to share common FAQ tickets we get to ZD in the community with the Q&A so that users can find the answers there instead of writing in a ticket.
Thanks!

3 curtidas

The only triggered sync we have currently is from Discourse → Zendesk.

Triggering a manual sync from Zendesk → Discourse is tricky since we do not have complete control on Zendesk. That said, I’ll investigate if there is a way to trigger webhook from Zendesk by adding a tag, etc.

3 curtidas

@techAPJ did you ever look into ZD to Discourse sync? We are looking at ways to push FAQs from tickets on Zendesk to Discourse!

Olá! Configurei tudo, mas só funciona do Discourse para o Zendesk. Não sei o que estou perdendo para que minhas respostas no Zendesk possam ser publicadas no Discourse.

Oi, estou com a Marla aqui ^^^. Conseguimos fazer o plugin funcionar! :tada:

Mas estamos nos perguntando: há alguma maneira de continuar a sincronização bidirecional quando/se o tópico for movido para uma mensagem privada? Às vezes, nossos membros pedem redefinições de senha e gostaríamos de continuar a conversa dentro da comunidade.

Já tentei o processo acima e está funcionando bem! :partying_face: No entanto, há um problema quando um comentário no Zendesk contém um anexo — a mensagem está chegando, mas o anexo está faltando. Não tenho certeza se há um parâmetro adicional que precisa ser passado no webhook para lidar com anexos. Alguém poderia esclarecer se há algum parâmetro específico necessário para isso?

Obrigado!

Acabei de configurar o plugin Zendesk e ele está funcionando muito bem. Gostaria de habilitar a sincronização bidirecional para comentários, mas não quero autogerar um ticket do Zendesk… nunca, na verdade.

Parece que a sincronização de comentários do ZD->Discourse requer a habilitação da autogeração. É esse o caso, ou existe uma solução alternativa?

Eu ativei o plugin Zendesk e postar tickets para o Zendesk funciona. Mas o Webhook na documentação acima (https:///zendesk-plugin/sync) retorna um 404 quando eu o testo da página de configuração do Webhook do Zendesk. Subsequentemente, não consigo atualizar postagens de fórum do Zendesk. O que estou fazendo de errado?

Outro problema: Se eu fechar o ticket no Zendesk e alguém responder à postagem no Discourse, o ticket fechado não é reaberto e eu perco a nova postagem. Alguma dica?

Olá Oliver,

Tenho certeza de que você já percebeu, mas o URL de sincronização precisa incluir seu domínio. Portanto, em vez de apenas https:///zendesk-plugin/sync, pode ser algo como isto: https://forum.yoursite.com/zendesk-plugin/sync.

Mesmo após definir o ticket como “Resolvido”, você ainda deverá ver qualquer resposta do Discourse no ticket do ZD. Você só precisará procurar o ticket. :slight_smile:

Por exemplo, em meu site de teste, criei uma postagem e, a partir dela, um ticket no ZD. Marquei o ticket como “Resolvido” e, em seguida, postei uma resposta ao tópico no Discourse. Recebi um comentário no ticket do ZD: