Usa i modelli Zap di Zapier per Discourse

Zapier offre numerosi modelli ufficiali di Zap per Discourse. Questi modelli consentono di collegare Discourse a un’applicazione esterna con una configurazione minima. Puoi trovarli qui:

Scorri verso il basso nella pagina per visualizzare l’elenco delle integrazioni attualmente disponibili.

Questi modelli sono suddivisi in due tipi. Nel primo tipo, Discourse è l’app trigger. Questi modelli ti consentono di pubblicare i post di Discourse su Slack, Mattermost, Discord, Gruppi Facebook, Pagine Facebook, Google Sheets e altri servizi. Nel secondo tipo di modello, Discourse è l’app azione. Con questi modelli puoi pubblicare post da WordPress e Ghost su Discourse. Esiste inoltre un modello per pubblicare stream live di Twitch su Discourse.

Aggiunta delle credenziali di Discourse su Zapier

Per utilizzare qualsiasi integrazione Zapier per Discourse, dovrai aggiungere l’URL di base del tuo forum, oltre al tuo nome utente Discourse e alla tua Chiave API, durante la prima configurazione dello Zap.

Nella maggior parte dei casi, lo Zap dovrebbe essere configurato da un amministratore del sito utilizzando il proprio nome utente Discourse e la propria Chiave API. Le Chiavi API possono essere create su Discourse dalla pagina Amministratore / API / Chiavi. Tieni presente che il valore completo della Chiave API viene visualizzato una sola volta al momento della creazione della chiave, quindi assicurati di copiarlo in quel momento.

Dopo aver aggiunto le tue credenziali Discourse a Zapier, fai clic sul pulsante Continua. Dovresti vedere un messaggio di successo sullo schermo.

Configurazione dei post da recuperare tramite lo Zap

Quando Discourse è l’app trigger, per impostazione predefinita tutti i nuovi post sul tuo sito attiveranno lo Zap. Puoi limitare lo Zap in modo che venga attivato solo per i post creati in un argomento specifico, o solo per i post creati da un utente specifico, nella facoltativa fase “Modifica opzioni”.

Utilizza il menu a tendina Argomento della fase per selezionare un argomento specifico che deve attivare lo Zap. Quando questa opzione è configurata, solo i post creati nell’argomento scelto verranno recuperati da Zapier. Utilizza il menu a tendina Autore della fase per selezionare un nome utente per lo Zap. Quando configurato, solo i post creati da questo utente verranno recuperati da Zapier.

Aggiunta di un passaggio filtro per un controllo più preciso sui post

Se la fase “Modifica opzioni” non ti offre un controllo sufficiente su quali post vengono utilizzati per attivare lo Zap, puoi aggiungere un facoltativo passaggio Filtro allo Zap. Un esempio di ciò che è possibile fare con un filtro è scegliere di far continuare lo Zap solo se il post è il primo post in una categoria specifica. Per aggiungere un filtro, fai clic sull’icona :heavy_plus_sign: situata sotto il Trigger, quindi seleziona “Filtro” dal menu.

Il filtro ti consentirà di impostare le condizioni in base alle quali lo Zap deve continuare. L’esempio seguente procederà solo se il post è il primo post in un argomento che si trova nella categoria con ID 2.

Selezione del contenuto di Discourse da pubblicare

Quando pubblichi post da Discourse su un’altra applicazione, Zapier ti consentirà di selezionare quale parte del post desideri pubblicare. La scelta di cosa pubblicare dipenderà dall’applicazione di destinazione. Userò come esempio la pubblicazione di un post di Discourse in un Gruppo Facebook.

Il campo Messaggio del modulo imposta il contenuto che verrà pubblicato. Per pubblicare l’intero contenuto del post, seleziona il campo “Raw” dal menu a tendina Messaggio. Per pubblicare solo il titolo dell’argomento, seleziona “Topic Title” dal menu a tendina.

Costruzione di un link a un post o a un argomento

Quando pubblichi un post di Discourse su un’applicazione esterna, potresti dover costruire un link al post o al suo argomento utilizzando i dati restituiti da Discourse. Per farlo, inserisci l’URL di base del tuo sito nel campo in cui stai aggiungendo il link, seguito da /t/. Ad esempio, se l’URL del tuo sito è https://discourse.example.com, inserisci https://discourse.example.com/t/ nel modulo.

Ora apri il menu a tendina del campo e seleziona “Topic Slug” dal menu.

Zapier aggiungerà un segnaposto per lo slug dell’argomento al campo.

Ora inserisci una barra (/) dopo il segnaposto dello slug dell’argomento e seleziona “Topic ID” dal menu a tendina.

Il risultato finale sarà simile allo screenshot sottostante.

Per costruire un link a post specifici all’interno di un argomento, aggiungi un’altra barra (/) al campo e seleziona “Post Number” dal menu.

Tieni presente che i valori di eventuali segnaposto utilizzati durante la configurazione dello Zap verranno sostituiti dai valori passati da Discourse quando un nuovo post viene pubblicato.

Creazione di integrazioni senza un modello

I modelli Zapier elencati nella loro pagina di integrazioni sono progettati per facilitare la connessione di Discourse con un’applicazione esterna. Se desideri collegare Discourse a un’applicazione che non dispone di un modello, o se desideri creare uno Zap che ascolti un webhook di Discourse o invii una richiesta POST all’API di Discourse, puoi farlo seguendo o modificando una delle guide elencate qui:

17 Mi Piace

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 Mi Piace

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 Mi Piace

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 Mi Piace

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

3 Mi Piace

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

3 Mi Piace

Grazie mille, funziona alla perfezione!

1 Mi Piace

Ciao, esiste un modo per filtrare i post di Discourse che agiscono come trigger, mantenendo solo i nuovi argomenti (il primo post in un thread) ed escludendo le risposte in un thread? Grazie.

Infine ho scoperto come fare:

1 Mi Piace

Questo mi restituisce ancora un errore 403, in particolare nella parte “Imposta trigger” dello Zap in cui dovrei specificare l’autore:

Ho provato sia l’impostazione “Tutti gli utenti, Globale” e “Utente singolo, Globale”, sia l’impostazione “Tutti gli utenti, Sola lettura”. Tutte restituiscono lo stesso errore (403).

1 Mi Piace