This tutorial explains how to post messages to Slack from a Function using Slack Incoming Webhooks. Using Incoming Webhooks, you can create notifications or alerts and even make them interactive. You can use Incoming Webhooks to send an alert when a user has paid, an error occurred, or if a service isn’t responding. You can also use Incoming Webhooks to ask if a user has permission for a resource with the ability to respond from Slack.
Functions is a serverless environment for executing functions. Functions are JavaScript event handlers that can be executed on in-transit PubNub messages or in the request/response style of a RESTful API over HTTPS.
Advantages of Functions:
Check out the Slack Incoming Webhook Block for a faster way to get started.
Go to your PubNub Admin Dashboard and select your app. Then click on the keyset that was created for that app.
Next, click “Functions” in the sidebar and then create a new module named “Slack Incoming Webhook.”
Create a Function with the name “Slack Incoming Webhook.”
Set the event type to “On Request”, and set the path to “slack-post”. You can use the other event types if you want to post to Slack before or after messages are sent on PubNub.
Delete any code in the editor and replace it with a function to post to Slack:
// FOR A PUBNUB SERVERLESS ENV. // Learn More: https://api.slack.com/incoming-webhooks export default (request, response) => { const xhr = require('xhr'); // Message let message = `Hello World!`; // Slack Webhook URL const url = "SLACK-WEBHOOK-URL-HERE"; // Basic Slack Post const http_options = { "headers": { "Content-Type": "application/json" }, "method": "POST", "body": JSON.stringify({ "text": message, }) }; return xhr.fetch(url, http_options).then((x) => { //console.log(body); return response.send(); }); };
Replace ‘SLACK-WEBHOOK-URL-HERE’ with your Incoming Webhook URL and edit the message text to be whatever you want.
If you set the event type to “On Request”, then you can test the function by making an empty request to the function.
You can use Curl to send a request to the function. Replace “YOUR_SUB_KEY_HERE
” with your Subscribe Key from your PubNub Admin Dashboard.
curl https://pubsub.pubnub.com/v1/blocks/sub-key/YOUR_SUB_KEY_HERE/slack-post
Here are a few ideas:
Have suggestions or questions about the content of this post? Reach out at devrel@pubnub.com.
There are common underlying technologies for a dating app, and in this post, we’ll talk about the major technologies and designs...
Michael Carroll
How to use geohashing, JavaScript, Google Maps API, and BART API to build a real-time public transit schedule app.
Michael Carroll
How to track and stream real-time vehicle location on a live-updating map using EON, JavaScript, and the Mapbox API.
Michael Carroll