Posting to Slack with PHP

Posting to Slack with PHP is incredibly quick and easy, here is how you can.

Sending messages to Slack using PHP couldn’t be easier. I think a lot of people assume it is going to be harder than it is.

There are two steps.

Get your Slack webhook

In Slack go the the channel you want your webhook to feed into and from the menu select “Configure Integrations”

Select “Incoming Webhooks” as the integration you want to add.

Give the webhook a name and copy down the webhook URL. It will be something like https://hooks.slack.com/services/xxx/yyy/zzz.

Use curl to send to the webhook

Now for the PHP code;

  // Create a constant to store your Slack URL
  define('SLACK_WEBHOOK', 'https://hooks.slack.com/services/xxx/yyy/zzz');
  // Make your message
  $message = array('payload' => json_encode(array('text' => 'My Message')));
  // Use curl to send your message
  $c = curl_init(SLACK_WEBHOOK);
  curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);
  curl_setopt($c, CURLOPT_POST, true);
  curl_setopt($c, CURLOPT_POSTFIELDS, $message);
  curl_exec($c);
  curl_close($c);

When this code runs it will update Slack with “My Message”.

Like all code, this could be improved. I wanted to share the most simple implementation.

Not a lot of lines of code to add some really useful functionality into your Slack channel!

Thanks to Jordan Klosterman for spotting a typo in the code, my $message assignment was invalid.

Recent posts View all

Hosting

Website Checklist before Launching

Top 20 things to consider before launching your website

Tech

Getting wireless printing working on Virgin Media Hub 3

A guide on how to get wireless printing working on Virgin Media if yours has suddenly stopped working.