Navigate to the channel where you want to add the webhook and select (•••) More Options from the top navigation bar.
Choose Connectors from the drop-down menu and search for Incoming Webhook .
Select the Configure button, provide a name, and, optionally, upload an image avatar for your webhook.
The dialog window will present a unique URL that will map to the channel. Make sure that you copy and save the URL —you will need to provide it to the outside service.
Select the Done button. The webhook will be available in the team channel.
Setup Discourse
In your site settings, enable the chat integration teams enabled setting
Go to the Plugins tab, then Chat Integrations
Go to the Microsoft Teams tab, and click Add Channel
Enter the name of your teams channel (e.g. discourse)
Paste the Webhook URL that you copied earlier, then click Save Channel
Use the Test button on the channel you just created to check that everything’s working. You should see something like this in the chatbox of your microsoft teams channel
Just tried it out and it seemed to work at first, but only the first time I clicked on the test button.
Rules are set up as follows:
Type: normal
Filter: All topics(?) and replies (translating from German here)
Category: Sandbox
When I wrote a reply to the test topic in my Sandbox category I got a warning sign when I went to my chat integrations, but when clicking on the warning triangle it says unknown error... with the error message bein null.
When I try to send another test notification it gives me another error 500 internal server error
Any hints on where to start trouble shooting this are welcome. If this should be posted elsewhere (e.g. under the chat integration plugin page), or made a separate topic, feel free to move it accordingly or let me know.
Just set it up about a week ago on a separate DigitalOcean droplet (one-click installation, now I’m on Version: 2.6.0.beta1 (310952fd6a). I use a subdomain and have the DNS records also on DigitalOcean. I have an A-Record, pointing to the IP, MX-Record pointing to the sub-domain name for reply by email as per these instruction). Only thing there is that I don’t have a DMARC Record published.
That’s all I can think of that I did in relation to DNS stuff. However, so far everything worked as expected. The site is set up, I can reach it via the sub-domain name, log-in, create topics (even via email), etc.
I’m just startled the first message made it through, but subsequent ones didn’t
When I say DNS resolution, I mean your server is having trouble contacting outlook.office.com. The setup of your forum’s DNS records shouldn’t affect that.
Can you try connecting to your server via SSH and running
host outlook.office.com
You should get something like
outlook.office.com is an alias for substrate.office.com.
substrate.office.com is an alias for substrate.ms-acdc.office.com.
substrate.ms-acdc.office.com is an alias for afd-k.office.com.
afd-k.office.com is an alias for outlook-office-com.k-0002.k-msedge.net.
outlook-office-com.k-0002.k-msedge.net is an alias for k-0002.k-msedge.net.
k-0002.k-msedge.net has address 13.107.18.11
k-0002.k-msedge.net has IPv6 address 2620:1ec:c::11
Trying "outlook.office.com"
Host outlook.office.com not found: 2(SERVFAIL)
Received 36 bytes from 127.0.0.53#53 in 43 ms
When adding port :443 I get another error
Trying "outlook.office.com:443"
Host outlook.office.com:443 not found: 3(NXDOMAIN)
Received 40 bytes from 127.0.0.53#53 in 3 ms
Received 40 bytes from 127.0.0.53#53 in 3 ms
For other domains like google.com or the domain of my discourse instance in question (h-da.transformative-praxis.cc), or other sites I get the expected output similar to what you describe.
I did some search for the first error, but I’m still not sure about its source. I’ve read the following, but wasn’t able to judge, if this is actually relevant to my problem:
I kept retrying it and this time I got the results you described when typing
host outlook.office.com
So everything seemed fine at this point. I’ve repeated that many times in a row to make sure (like around 15 times with an interval of around 10 seconds) and at some point I got the same servfail error as before. But mostly it worked.
The opposite is the case when I try to send a test message. It maybe works one out of ten times. The other times I get the same errors as before. And when I post a regular message that fits to the rule I’ve set for the channel, I don’t get a notification, nor an error message in the logs.
It just seems so random to me that I can’t find out what causes it.
I kept suspecting my setup with two droplets for each subdomain and two respective A-Records, plus one set of NS-records for my main domain pointing to ns1.digitalocean.com. So I tried out dnsstuff for my site getting a Fail for the SOA record check and whatsmydns.net for my NS records, but I still couldn’t figure out any possible connections to my problem.
At this point I’m totally confused who’s causing the error, me having made some wrong DNS settings (which shouldn’t affect it according to @david), server settings/issues, or is it just MS-Teams (outlook.office.com) acting up, or blocking me in some way?
Any hints for what I could check/do to find the error are appreciated, including where else to go and ask, if you think this is beyond what you can do to help me here.
Thanks @Dan_Turner, I just relaxed our validation a little which should help the situation. Please give it a try and let me know if it works better for you
You will need to ask your hosting provider to update the plugin for you. At discourse.org this change has already gone out to all our customers, so I guess you must be hosted elsewhere?
Thanks for this -so useful- plugin.
A great improvement would be : add group mention in the message to generate notifications on Teams side.
It appears that webhook API is (was?) not implementing this feature but some say it has been implemented recently.
Do you think it could be easily implemented?