Blog

Integrating Slack with Matillion

Slack is a popular messaging tool for teams to communicate and to automate notifications from third-party applications. Matillion can send messages to Slack via Amazon SNS messages. This can be used to create a Slack Channel to provide updates on the status of Matillion job runs.

How to Integrate Slack with Matillion

In order to configure Matillion to work with Slack, the first step is to set-up a Slack channel to hold all of the Matillion messages and to configure it to listen to the SNS messages using an Incoming WebHook.

 

Integrating Slack with Matillion - webhook

 

Add a new Configuration and select the Slack Channel to post to:

 

Integrating Slack with Matillion - incoming webhook

 

Select Add Incoming WebHooks Integration to access the Setup Instructions. Make a note of the Webhook URL from below:

 

Integrating Slack with Matillion - set up instructions

 

The next step is to Create an SNS Topic for Matillion to send the messages to. This is done in the AWS console. The SNS messages need to be pushed to Slack via a Lambda Function. Create a new Lambda Function in the AWS Console using the Blank Function Blueprint with an SNS trigger. Further details on the function code which calls the Slack Webhook URL is available in our Technical Article.

The function can be tested directly from Lambda. The test should run successfully with the below execution result:

 

Integrating Slack with Matillion - lambda execution

 

A message should also appear in the Slack Channel:

 

Integrating Slack with Matillion - slack message

 

Matillion can now put messages on the SNS Topic and these messages will appear in Slack. An example job is shown below.

 

Integrating Slack with Matillion - sns

 

This Orchestration job runs a Transformation job. The Transformation job has been configured to export the Duration of the job to a Global Environment Variable called time.

 

Integrating Slack with Matillion - global environment variable

 

Once the Transformation job runs successfully, Matillion puts a message on the SNS Topic and the message is that the job has successfully run and how long the job ran for:

 

Integrating Slack with Matillion - sns topic

 

Integrating Slack with Matillion - edit properties

 

This message is successfully posted to the Slack Channel.

 

Integrating Slack with Matillion - slack message success

 

Arrange a free demo of Matillion ETL to see it in action and integrate your job run results with Slack.