Description
This plugin integrates Slack and WordPress.
Core Conception
By default, this plugin does nothing. It’s true.
Slack has many API integration, but hameslack uses 2 of them.
- Incoming Webhook to post to slack.
- Slack App to interact with slack.
Upper is easier. This plugin helps the connection between Slack and WordPress and you can concentrate on what you should do with slack.
Use Cases
Here is a list of use case of us on WordPress with many editors.
- Easy Post notification to slack if some post is awaiting review.
- Difficult Post access summary to slack once a week, because my colleague doesn’t open Google Analytics.
- Very Difficult Convert slack conversation to single post and make interview post.
For more details, please read the Addons documentation.
How to Integrate
The simplest usage is post to slack. You can do like below:
do_action( 'hameslack', $text_to_post, $attachments, $channel );
Function hameslack_post( $content, $attachment, $channel ) is also available, but I prefer to use do_action to avoid annoying if ( function_exists('func_name')).
Everything works fine if you set properly.
Deprecated API
- Sending Invitation
deprecated at 2.0: this endpoint was unofficial and official one is only for Enterprise grid. Users now can send invitation reqeust from their profile page. - Outgoind Webhook
deprecated at 2.0: Slack recommends Events API instead.
Install
From Plugin Repository
Click install and activate it.
From GitHub
Download from Releases and you can use it. Any pull requests are welcomed.
Enter Credentials
To post a message to slack, you need Payload URL. Create an app and activate “Incoming Webhooks”.
Now you can get payload URL.
To get Bot Token, go to “OAuth & Permissions”. By installing your app to your workspace, Bot token will be generated.
Do something
As mentioned above, this plugin does nothing by default. Enable built-in addons from the settings page, or read the Addons documentation to write your own.
If you have any request, please make issue on github.
Development
This plugin requires custom code to work with your Slack workspace. Here’s how to set up a local development environment.
Prerequisites
- Node.js >= 22 (managed via Volta)
- Docker Desktop (for wp-env)
- cloudflared (for Slack Webhook testing)
Getting Started
Install dependencies
npm install composer installStart WordPress local environment
npm startBuild assets
npm run packageWatch for changes during development
npm run watch
Receiving Slack Webhooks Locally
Slack requires a public HTTPS URL for Event Subscriptions and Interactive Components. Use Cloudflare Tunnel to expose your local environment:
In a separate terminal, start the tunnel
npm run tunnel
This gives you a temporary public URL like https://random-name.trycloudflare.com. Then:
- Go to your Slack App settings
- Update Event Subscriptions Request URL to
https://random-name.trycloudflare.com/wp-json/hameslack/v1/... - Update Interactivity & Shortcuts Request URL similarly
- The URL changes each time you restart the tunnel
Note: Make sure WordPress permalink settings are not set to “Plain” — pretty permalinks are required for /wp-json/ to work through the tunnel.
NPM Scripts
Command
Description
npm start
Start wp-env
npm run package
Build all assets (CSS + JS)
npm run watch
Watch for file changes
npm run tunnel
Open Cloudflare Tunnel to localhost:8888
npm run lint
Run ESLint + Stylelint
npm run fix
Auto-fix lint errors
npm test
Run PHPUnit tests
Screenshots
Reviews
There are no reviews for this plugin.
Contributors & Developers
“HameSlack” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “HameSlack” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
2.2.0
- Add hook-based addon system with settings UI.
- Add built-in addons: Pending Review Notify (Incoming Webhook sample) and Slash Command Dashboard (Bot Token sample).
- Fix double URL-encoding in
hameslack_bot_request()for POST requests.
2.1.0
- Bump required versions: PHP 7.4 and WP 6.6
2.0.0
- Remove invitation feature and users now can send a simple message to specific channel to request invitation.
- Bot is required.
1.2.0
- If gianism is enabled, you can log in with Slack account.
1.1.1
- Bugfix on REST API.
1.1.0
- Add invitation request feature.
1.0.2
- Add auto deploy.
1.0.0
- First release.



