Use os modelos de Zap do Zapier para Discourse

O Zapier oferece vários modelos oficiais de integração (zaps) para o Discourse. Esses modelos permitem conectar o Discourse a um aplicativo externo com configuração mínima. Você pode encontrá-los aqui:

Role a página para baixo para ver a lista das integrações disponíveis atualmente.

Esses modelos são divididos em dois tipos. No primeiro tipo, o Discourse é o aplicativo acionador (trigger). Esses modelos permitem publicar posts do Discourse no Slack, Mattermost, Discord, Grupos do Facebook, Páginas do Facebook, Google Sheets e outros serviços. No segundo tipo de modelo, o Discourse é o aplicativo de ação (action). Com esses modelos, você pode publicar posts do WordPress e do Ghost no Discourse. Também há um modelo para transmitir streams ao vivo do Twitch para o Discourse.

Adicionando suas credenciais do Discourse no Zapier

Para usar qualquer uma das integrações do Zapier com o Discourse, você precisará adicionar a URL base do seu fórum, além do seu nome de usuário do Discourse e sua Chave de API, ao configurar o Zap pela primeira vez.

Na maioria dos casos, o Zap deve ser configurado por um administrador do site usando seu nome de usuário do Discourse e sua Chave de API. As Chaves de API podem ser criadas no Discourse na página Admin / API / Keys. Observe que o valor completo da Chave de API é exibido apenas uma vez, no momento da criação da chave, então certifique-se de copiá-lo nesse momento.

Após adicionar suas credenciais do Discourse ao Zapier, clique no botão Continuar. Você deverá ver uma mensagem de Sucesso na tela.

Configurando quais posts o Zap irá recuperar

Quando o Discourse é o aplicativo acionador, por padrão, todos os novos posts no seu site acionarão o Zap. Você pode limitar o Zap para que seja acionado apenas para posts criados em um tópico específico, ou apenas para posts criados por um usuário específico, na etapa opcional “Editar Opções”.

Use o menu suspenso Tópico da etapa para selecionar um tópico específico que deve acionar o Zap. Quando isso for configurado, apenas os posts criados no tópico escolhido serão recuperados pelo Zapier. Use o menu suspenso Autor da etapa para selecionar um nome de usuário para o Zap. Quando configurado, apenas os posts criados por esse usuário serão recuperados pelo Zapier.

Adicionando uma etapa de filtro para controle mais fino sobre os posts

Se a etapa “Editar Opções” não oferecer controle suficiente sobre quais posts são usados para acionar o Zap, você pode adicionar uma etapa de Filtro opcional ao Zap. Um exemplo do que pode ser feito com um Filtro é escolher que o Zap continue apenas se o post for o primeiro post de uma categoria específica. Para adicionar um Filtro, clique no ícone :heavy_plus_sign: que está abaixo do Acionador e, em seguida, selecione “Filtro” no menu.

O filtro permitirá definir as condições sob as quais o Zap deve continuar. O exemplo abaixo continuará apenas se o post for o primeiro post de um tópico que esteja na categoria com ID 2.

Selecionando o conteúdo do Discourse para publicar

Ao publicar posts do Discourse em outro aplicativo, o Zapier permitirá que você selecione qual parte do post deseja publicar. O que você escolher publicar dependerá do aplicativo para o qual está publicando. Usarei como exemplo a publicação de um post do Discourse em um Grupo do Facebook.

O campo Mensagem do formulário define o conteúdo que será publicado. Para publicar o conteúdo completo do post, selecione o campo “Raw” no menu suspenso Mensagem. Para publicar apenas o título do tópico, selecione “Título do Tópico” no menu suspenso.

Construindo um link para um post ou um tópico

Ao publicar um post do Discourse em um aplicativo externo, talvez seja necessário construir um link para o post ou seu tópico a partir dos dados retornados pelo Discourse. Para fazer isso, insira a URL base do seu site no campo onde está adicionando o link, seguido por /t/. Por exemplo, se a URL do seu site for https://discourse.example.com, insira https://discourse.example.com/t/ no formulário.

Agora, abra o menu suspenso do campo e selecione Slug do Tópico no menu.

O Zapier adicionará um espaço reservado para o slug do tópico no campo.

Agora, insira uma barra (/) após o espaço reservado do slug do tópico e, em seguida, selecione ID do Tópico no menu suspenso.

O resultado final será semelhante à captura de tela abaixo.

Para construir um link para posts específicos em um tópico, adicione outra barra (/) ao campo e, em seguida, selecione Número do Post no menu.

Observe que os valores de qualquer espaço reservado que você usar na configuração do Zap serão substituídos pelos valores transmitidos pelo Discourse quando um novo post for publicado.

Criando integrações sem um modelo

Os modelos do Zapier listados em sua página de integrações foram projetados para facilitar a conexão do Discourse com um aplicativo externo. Se você deseja conectar o Discourse a um aplicativo que não possui um modelo, ou se deseja criar um Zap que escute um webhook do Discourse ou faça uma solicitação POST para a API do Discourse, você pode fazer isso seguindo ou modificando um dos guias listados aqui:

17 curtidas

Getting the following on the add credentials zapier screen

We hit an error adding your new account

authentication failed: Error code 500: {“status”:500,“error”:“Internal Server Error”}

All details are correct.

Discourse reports successful use of the API key:

And the following error log:

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

Running 2.5.0.beta4 ( 811bc3544f )


That said, refreshing the add zap page that prompted the popup, results in the following:

So seems it was added successfully despite the error


However, selecting one of the added entries just prompts the auth flow again:

4 curtidas

Are you using a Discourse All Users API Key and the username of an admin user on your site? I am not sure if that is what is required, but I setup a new Zapier Discourse account with admin API credentials last week. It worked for me then.

1 curtida

We ran across this issue as well.

It is now edit: was impossible to do anything (well, a lot) with a user with a negative ID, due to this change:

https://github.com/discourse/discourse/commit/d301af39bd3d0808fa3c0c40740539237058bee7#diff-f2feb5a7249b1fd4020b0074eac2152bR26

@tgxworld It would be cool if it was possible to disable this new behavior, and/or to whitelist accounts.

3 curtidas

That was a bug and has been fixed in
https://github.com/discourse/discourse/commit/165fa13c9d45f486927a00d9c08bc307817a27cb

3 curtidas

It was indeed something we ran into yesterday :laughing: .
Thanks!! (and I should have checked before making this post)

3 curtidas

Muito obrigado, funciona perfeitamente!

1 curtida

Olá, existe uma maneira de filtrar os posts do Discourse que atuam como gatilho, mantendo apenas os novos tópicos (a primeira postagem de um tópico) e descartando as respostas dentro de um tópico? Obrigado.

Finalmente descobri como fazer isso:

1 curtida

Isso ainda gera um erro 403 para mim, especificamente na parte “Configurar gatilho” do Zap, onde devo especificar o Autor:

Tentei as configurações “Todos os Usuários, Global” e “Usuário Único, Global”, bem como a configuração “Todos os Usuários, Somente Leitura”. Todas elas retornam o mesmo erro (403).

1 curtida