Discourse Zendesk

:discourse2: Summary Create Zendesk tickets from Discourse topics.
:open_book: Install Guide This plugin is bundled with Discourse core. There is no need to install the plugin separately.

:warning: As Zendesk will permanently deactivate API-token authentication on April 30, 2027, existing installations need to migrate to authentication via OAuth.

Features

Create Zendesk tickets

This plugin allows you to create Zendesk tickets from Discourse topics. This can be done either by configuring the plugin so that all topics in a category automatically generate Zendesk tickets, or by pushing individual topics to Zendesk by clicking the “Create Zendesk Ticket” button that’s displayed for site staff below each topic:

When the ticket is created, the author of the topic’s first post will be set as the Requester on Zendesk. They will also be added to your Zendesk customers list.

After the ticket has been created, the “Create Zendesk Ticket” button will be updated to “View on Zendesk.” Clicking that button will take you to the associated Zendesk ticket:

Push replies created on Discourse to Zendesk

The plugin allows you to optionally push all replies to the Discourse topic to the Zendesk ticket, or to only push replies created by the topic’s author. Both of these features are configurable via the plugin’s settings.

Sync Zendesk comments with Discourse

Zendesk comment can be synced with the Discourse topic that the ticket originated on.

Configuration

The Discourse Zendesk settings can be accessed from the Plugins page of your Discourse site’s Admin section. Click the “Settings” button for the “discourse-zendesk-plugin” entry on that page.

Configure OAuth

First, create an OAuth client in Zendesk:

  1. In Zendesk Admin Center, go to Apps and integrations > APIs > OAuth clients.
  2. Click Add OAuth client.
  3. Enter a name, description and select Confidential as the client kind. A redirect URL is not required.
  4. Configure Scopes to tickets:read, tickets:write, users:read, and users:write to restrict the OAuth client to only the scopes required by the plugin.
  5. Save the client.
  6. Copy the client’s Identifier and Secret. Zendesk displays the complete secret only once.

Configure these Discourse settings:

  • zendesk oauth client id: enter the OAuth client’s Identifier.
  • zendesk oauth client secret: enter the OAuth client’s Secret.

Other settings

  • zendesk url: enter your Zendesk account URL followed by /api/v2. For example, https://example.zendesk.com/api/v2.

  • zendesk enabled: enable or disable the plugin.

  • zendesk jobs api token: Deprecated. Existing installations should migrate to OAuth.

  • zendesk jobs email: Deprecated. Existing installations should migrate to OAuth.

  • zendesk autogenerate all categories (formerly zendesk enable all categories): automatically create Zendesk tickets for topics in every category. This setting is disabled by default.

  • zendesk autogenerate categories (formerly zendesk enabled categories): select the Discourse categories whose new topics should automatically create Zendesk tickets.

  • zendesk job push all posts: push replies to Zendesk as ticket comments. This setting is enabled by default.

  • zendesk job push only author posts: only push replies written by the original topic author. This setting applies when zendesk job push all posts is enabled and is disabled by default.

  • sync comments from zendesk and zendesk incoming webhook token: sync comments from Zendesk to Discourse. See How to enable Zendesk two-way sync.

  • zendesk tags: an optional list of tags to add to Zendesk tickets created from Discourse.

Last edited by @tgxworld 2026-09-01T00:27:49Z

Check documentPerform check on document:
37개의 좋아요

이 Zendesk 통합에 대해 기능 요청을 하고 싶습니다:

Zendesk에 댓글로 답변을 보내는 기능과 Zendesk에서 댓글을 답변으로 가져오는 기능을 모두 사용할 수 있어야 합니다. 이 부분은 우리에게 정말 중요합니다. 그러나 후자를 실행하는 유일한 방법은 지정된 Discourse 카테고리 주제가 Zendesk 티켓을 자동으로 생성하도록 설정하는 것입니다.

수동으로 생성된 Zendesk 티켓도 댓글을 답변으로 가져오는 기능을 사용할 수 있는 방법이 있으면 훨씬 좋겠습니다. 이는 고객 생성 주제 중 일부만 Zendesk로 전달해야 하는 트리아지 프로세스를 갖추고 있기 때문입니다. 최종 사용자가 백그라운드에서 Zendesk 티켓을 생성할 수 있도록 하고 싶지 않습니다.

감사합니다!

플러그인 덕분에 정말 많이 도움되었습니다. 감사합니다!

아래 문제에 대해 도움을 받고 싶습니다:

  • Zendesk에서 티켓에 “내부 메모”(비공개 메모)를 작성해도, 해당 내부 메모가 Discourse의 whisper(속삭임)로 생성되지 않습니다.
  • Zendesk에 웹훅을 구현하여 모든 내부 메모에 대해 whisper를 생성하도록 설정했지만, 플러그인의 정상적인 동작으로 인해 해당 whisper가 다시 Zendesk로 전송되고 있습니다.

따라서, 제 질문은 다음과 같습니다: 위에서 설명한 대로 내부 메모에서 whisper를 생성할 때, 플러그인이 Zendesk에 새로운 댓글을 생성하는 것을 방지하는 방법이 있을까요?

모든 게시글에 대한 동기화를 비활성화할 수 있다는 점은 알고 있습니다. 하지만 목표는 Discourse API를 통해 제가 생성하는 whisper만 동기화하지 않는 것입니다.

이 문제를 쉽게 해결할 수 있는 방법이 있는지 알고 계신가요?

1개의 좋아요

안녕하세요!

이것이 버그를 보고하는 적절한 곳인지 확실하지 않아서, 다른 곳으로 옮기는 것이 더 나은지 알려주시면 감사하겠습니다.

몇 주 동안 이 플러그인을 사용해 왔는데 전반적으로는 잘 작동하고 있습니다. 다만, 플러그인이 댓글을 두 번 동기화하는 문제가 하나 발견되었습니다. 제 생각에는 다음과 같은 일이 일어나고 있는 것 같습니다:

  1. 사용자가 Discourse에 게시물을 보냅니다.
  2. 게시물이 Zendesk로 동기화됩니다.
  3. 동기화 플러그인이 Zendesk의 새 댓글을 감지하고 다시 Discourse로 동기화합니다.

아래는 John(플러그인을 설정한 관리자)이 개입하지 않았는데도 다른 사용자의 메시지를 중복으로 보내는 경우가 발생하는 것을 시각적으로 보여주는 내용입니다. 이는 Discourse 동기화 플러그인에서 비롯된 것입니다:

Zendesk 쪽에서는 중복된 답글을 볼 수 없으며, 사용자의 답글 하나만 표시됩니다. (이 포럼의 제한 사항으로 인해 두 번째 스크린샷을 게시할 수 없습니다.)

티켓의 히스토리 보기에서 확장하더라도 Zendesk에서 이상한 점을 찾을 수 없습니다.

무엇이 잘못되고 있는지, 또는 어떻게 디버깅할 수 있는지에 대한 아이디어가 있으신가요?

감사합니다!

6개의 좋아요

Shane님! 문제를 재현할 수 있는지 확인하기 위해 테스트를 해봤지만, 아직까지 동일한 문제가 발생하지 않고 있습니다.

확인차 여쭤볼게요. ZD가 자동으로 댓글을 Discourse로 다시 보내고 있는 것 같습니다. John이 댓글을 인용하거나 복사/붙여넣기를 하고 있는 것이 아닌가요?

플러그인을 처음 설정할 때 ZD에서 추가 트리거를 설정하셨나요?

3개의 좋아요

도와줘서 고마워! 응, 이건 소프트웨어 문제야. 존이 직접 이 메시지들을 올리는 게 아니거든.

트리거를 확인해서 비활성화했다가 다시 활성화하는 걸 테스트해볼게. 안타깝게도 이런 현상이 언제, 왜 발생하는지 사이에 어떤 공통점이 있는지 찾지 못해서, 직접 재현할 수 있는 방법을 알지 못해.

2개의 좋아요

티켓이 업데이트되고 discourse 태그가 붙어 있을 때, PUT 요청을 통해 Discourse 동기화 웹훅에 알림을 보내는 트리거를 찾았습니다. 이 플러그인을 설정한 사람은 저가 아니지만, 이것이 원인이 될 수 있을까요?

이 트리거를 제외하면 간섭을 일으킬 다른 자동화 기능은 보이지 않습니다. 저는 디스코러스 관리자에게 존(John)의 모든 댓글(삭제된 것을 포함하여) 목록을 요청하여, 각 사례를 대조하면서 연결고리를 찾아보려 합니다.

4개의 좋아요

저는 Zendesk 플러그인을 사용하면서 꽤 만족하고 있습니다. 하지만 방금 예상치 못한 일이 발생했습니다. 팀의 다른 멤버(예전에 Zendesk에서 에이전트로 일했던 사람)가 Discourse의 스레드에 답변을 남기자, Zendesk가 해당 메시지를 다시 Discourse로 전송했습니다. 그 결과, Discourse 주제에 메시지가 두 번 게시되었는데, 하나는 Discourse에서 게시한 팀 멤버 이름으로, 또 하나는 Zendesk 티켓의 현재 담당자 이름으로 표시됩니다.

이런 문제를 경험하신 분이나 해결책이 있으신 분이 있을까요?

안녕하세요,

커뮤니티 측에서 생성된 비공개 토픽이 Zendesk에 생성되지 않는 문제를 겪고 있습니다. 비공개 토픽이 Zendesk에 올바르게 동기화되도록 하기 위해 필요한 특정 설정이나 구성이 있는지 조언해 주실 수 있을까요?

도움 주셔서 감사합니다.

1개의 좋아요

기능 요청이 있습니다 : )

“Zendesk 티켓 생성/보기” 버튼이 스태프에게만 표시되는 것을 확인했습니다.

더 많은 유연성을 위해, 이 버튼의 표시 여부를 새로운 zendesk_create_ticket_allowed_groupszendesk_view_ticket_allowed_groups 플러그인 설정으로 제어할 수 있을까요?

저희 지원팀에 관리자나 모더레이터 역할을 부여하고 싶지는 않습니다. 물론 그들은 자신들의 (Zendesk) 도메인 관리자이지만, 제 생각에는 그것이 Discourse에서 확장된 권한을 항상 정당화하지는 않는다고 봅니다.

:partying_face: 이 플러그인은 이제 Bundling more popular plugins with Discourse core 에 따라 Discourse 코어에 번들링되어 제공됩니다. 셀프 호스팅을 하고 이 플러그인을 사용 중이라면 다음 업그레이드 전에 app.yml에서 제거해야 합니다.

1개의 좋아요

@gormus Zendesk 인증을 위해 OAuth 토큰을 지원하도록 플러그인을 업데이트하던 중, 여기에서 요청하신 내용을 보았습니다. Zendesk 버튼의 그룹 기반 가시성 기능이 여전히 도움이 될지 궁금해서요.