Integrating C# applications with Slack
Slack is a great messaging platform and it can integrate very easily with C# applications.
Step 01: Enable incoming webhooks
First go to Incoming Webhooks page and turn on the webhooks if it’s not already turned on.
Step 02. Create a new configuration
You can select an existing channel or user to post messages to. Or you can create a new channel. (May need a refresh for the new one to appear in the list)
Step 03. Install Slack.Webhooks Nuget package
In the package manager console, run
Install-Package Slack.Webhooks
Step 04. Write some code!
var url = "{Webhook URL created in Step 2}";
var slackClient = new SlackClient(url);
var slackMessage = new SlackMessage
{
Channel = "#general",
Text = "New message coming in!",
IconEmoji = Emoji.CreditCard,
Username = "any-name-would-do"
};
slackClient.Post(slackMessage);
Done
That’s it! Very easy and painless integration to get real-time desktop notifications.
Some notes
- Even though you choose a channel while creating the webhook, in my experience you can use the same one to post to different channels. You don’t need to create a new webhook for each channel.
- Username can be any text basically. It doesn’t need to correspond to a Slack account.
- First time you send a message with a username, it uses the emoji you specify in the message. You can leave it null in which case it uses the default. On consequent posts, it uses the same emoji for that user even if you set a different one.