Build Status

A simple wrapper of slack incoming webhooks in Ruby.


require 'slack/incoming/webhooks'

slack = "WEBHOOK_URL" "Hello World"

# => if your webhook is setup, will message "Hello World"
# => to the default channel you set in slack


Add this line to your application's Gemfile:

gem 'slack-incoming-webhooks'

And then execute:

$ bundle

Or install it yourself as:

$ gem install slack-incoming-webhooks


Setting Defaults

On initialization you can set default payloads by passing an options hash.
Options please refer to incoming-webhooks and chat.postMessage. .

slack = "WEBHOOK_URL", channel: '#other-channel',
                                                     username: 'monkey-bot'

Once a notifier has been initialized, you can update the default channel or username or attachments or etc.  = '#other-channel'
slack.username = 'monkey-bot'
slack.attachments = [{ color: '#36a64f',  title: 'Slack API Documentation' }]


It is possible to create more richly-formatted messages using Attachments.
slack-incoming-webhooks supports Attachments.

attachments = {
  fallback: "Required plain-text summary of the attachment.",
  color: "#36a64f",
  pretext: "Optional text that appears above the attachment block",
  title: "Slack API Documentation",
  title_link: "",
  text: "Optional text that appears within the attachment",
  image_url: ""
} "with an attachment", attachments: [attachments]

or setting defaults.

slack = "WEBHOOK_URL", attachments: [attachments] "with an attachment"

or attachments method.

slack.attachments = [{ color: '#36a64f', title: 'Slack API Documentation' }]


run bin/console for an interactive prompt that will allow you to experiment.

$ bin/console

[1] pry(main)> slack = "WEBHOOK_URL"
=> #<Slack::Incoming::Webhooks:0x007fae6b871e48
[2] pry(main)> "Hello world!"
=> #<Net::HTTPOK 200 OK readbody=true>


$ rspec


After checking out the repo, run bin/setup to install dependencies. Then, run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release to create a git tag for the version, push git commits and tags, and push the .gem file to


  1. Fork it ([my-github-username]/slack-incoming-webhooks/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request