Use the Zapier Discourse Zap Templates

Zapier offers a number of official Discourse zap templates. These templates make it possible to connect Discourse with an external application with minimal configuration. You can find them here:

Scroll down that page to see the list of the currently available integrations.

These templates are divided into two types. In the first type, Discourse is the trigger app. These templates allow you to publish Discourse posts to Slack, Mattermost, Discord, Facebook Groups, Facebook Pages, Google Sheets, and other services. In the second type of template, Discourse is the action app. With these templates you can publish posts from WordPress, and Ghost to Discourse. There is also a template for publishing Twitch live streams to Discourse.

Adding your Discourse credentials on Zapier

To use any of the Zapier Discourse integrations, you will need to add your forum’s base URL, as well as your Discourse username and API Key when you first setup the Zap.

For most cases, the Zap should be configured by a site admin with their Discourse username and API Key. API Keys can be created on Discourse from the Admin / API / Keys page. Note that the full API Key value is only displayed once when you first create the key, so be sure to copy it at that time.

After adding your Discourse credentials to Zapier, click the Continue button. You should see a Success message on the screen.

Configuring which posts the Zap will retrieve

When Discourse is the trigger app, by default all new posts on your site will trigger the Zap. You can limit the Zap to only be triggered for posts created in a specific topic, or to only be triggered for posts created by a specific user, in the optional ‘Edit Options’ step.

Use the step’s Topic dropdown menu to select a specific topic that should trigger the Zap. When this is configured, only posts created in the chosen topic will be retrieved by Zapier. Use the step’s Author dropdown menu to select a username for the Zap. When configured, only posts created by this user will be retrieved by Zapier.

Adding a filter step for finer control over posts

If the ‘Edit Options’ step doesn’t give you enough control over which posts are used to trigger the Zap, you can add an optional Filter step to the Zap. An example of what can be done with a Filter is that you could choose to only have the Zap continue if the post is the first post in a specific category. To add a Filter, click the :heavy_plus_sign: icon that’s below the Trigger, and then select ‘Filter’ from the menu.

The filter will allow you to set the conditions under which the Zap should continue. The example below will only continue if the post is the first post in a topic that is in the category with an ID of 2.

Selecting the Discourse content to publish

When publishing posts from Discourse to another application, Zapier will allow you to select which part of the post you’d like to publish. What you choose to publish will depend on the application you are publishing to. I’ll use publishing a Discourse post to a Facebook Group as an example.

The form’s Message field sets the content that will be published. To publish the full post content, select the ‘Raw’ field from the Message dropdown. To just publish the topic’s title, select ‘Topic Title’ from the dropdown.

Constructing a link to a post or a topic

When publishing a Discourse post to an external application, you may need to construct a link to the post or its topic from the data that is returned from Discourse. To do this, enter your site’s base URL into the field you’re adding the link to, followed by /t/. For example, if your site’s URL is https://discourse.example.com, enter https://discourse.example.com/t/ into the form.

Now open the field’s dropdown menu and select Topic Slug from the menu.

Zapier will add a placeholder for the topic slug to the field.

Now enter a slash (/) after the topic slug placeholder and then select Topic ID from the dropdown menu.

The final result will look similar to the screenshot below.

To construct a link to specific posts in a topic, add another slash (/) to the field and then select Post Number from the menu.

Note that the values of any placeholders you use in setting up the Zap will be replaced by the values passed from Discourse when a new post is published.

Creating integrations without a template

The Zapier templates that are listed on their integrations page are designed to make it easy to connect Discourse with an external application. If you would like to connect Discourse to an application that doesn’t have a template, or if you would like to create a Zap that listens for a Discourse webhook, or makes a POST request to the Discourse API, you can do that by following or modifying one of the guides listed here:

Last edited by @NateDhaliwal 2026-07-06T23:20:07Z

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

자격 증명 추가 Zapier 화면에서 다음과 같은 오류가 발생합니다.

새 계정 추가 중 오류가 발생했습니다

인증 실패: Error code 500: {“status”:500,“error”:“Internal Server Error”}

모든 상세 정보가 정확합니다.

Discourse는 API 키 사용에 성공했다고 보고합니다:

그리고 다음과 같은 오류 로그가 있습니다:

Message

Draft::OutOfSequence (Draft::OutOfSequence)
/var/www/discourse/app/models/draft.rb:124:in `get'

Backtrace

/var/www/discourse/app/models/draft.rb:124:in `get'
/var/www/discourse/lib/topic_list_responder.rb:11:in `respond_with_list'
/var/www/discourse/app/controllers/list_controller.rb:152:in `block in generate_message_route'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.3/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.3/lib/abstract_controller/base.rb:195:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.3/lib/action_controller/metal/rendering.rb:30:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.3/lib/abstract_controller/callbacks.rb:42:in `block in process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.3/lib/active_support/callbacks.rb:135:in `run_callbacks'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.3/lib/abstract_controller/callbacks.rb:41:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.3/lib/action_controller/metal/rescue.rb:22:in `process_action'

Env

HTTP HOSTS: discuss.bevry.me

실행 중인 버전: 2.5.0.beta4 ( 811bc3544f )


그럼에도 불구하고, 팝업을 표시했던 Zap 추가 페이지를 새로고침하면 다음과 같은 결과가 나타납니다:

따라서 오류에도 불구하고 항목이 성공적으로 추가된 것으로 보입니다.


그러나 추가된 항목 중 하나를 선택하면 다시 인증 플로우가 시작됩니다:

4개의 좋아요

사이트의 관리자 사용자 이름과 Discourse All Users API 키를 사용하고 계신가요? 이것이 필요한지 확실하지는 않지만, 지난주에 관리자 API 자격 증명으로 새로운 Zapier Discourse 계정을 설정했을 때 제 환경에서는 정상적으로 작동했습니다.

1개의 좋아요

저희도 이 문제를 겪었습니다.

이제는 수정: 이전에는 이 변경 사항으로 인해 음수 ID를 가진 사용자로 많은 것들을 할 수 없었습니다:

@tgxworld 이 새로운 동작을 비활성화할 수 있거나, 계정 화이트리스트를 설정할 수 있으면 좋겠습니다.

3개의 좋아요

그것은 버그였으며 다음 커밋에서 수정되었습니다:

3개의 좋아요

정말 어제 어제에 그런 일이 있었네요 :laughing:
감사합니다!! (이 글을 올리기 전에 먼저 확인해 봤어야 했는데)

3개의 좋아요

정말 감사합니다, 완벽하게 작동합니다!

1개의 좋아요

안녕하세요, 디스커스(Discourse) 게시물에서 새 주제(스레드의 첫 번째 게시물)만 유지하고 스레드 내 답변을 제외하도록 필터링하는 방법이 있을까요? 감사합니다.

마침 방법을 찾았습니다:

1개의 좋아요

여전히 403 오류가 발생하고 있습니다. 특히 Zap의 “Set up trigger” 부분에서 저자를 지정해야 하는데, 그 부분에서 오류가 납니다:

“All Users, Global”, “Single User, Global” 설정과 “All Users, Read Only” 설정을 모두 시도해 보았습니다. 모두 동일한 오류(403)가 반환됩니다.

1개의 좋아요