SlackCommander
Useful (?) slash commands and miscellaneous integrations for Slack.
Built with Nancy and can easily be hosted as a free Azure Website.
Installation
Setup instructions for the /todo
feature can be found here.
Todo list
A simple todo list per conversation (channel/direct message/private group).
Use the /todo
command together with one of the supported operators to
manage the list. Operators are:
[empty]
Displays the list to you.show
Displays the list to everyone in the conversation.add [text]
Adds an item to the list. The item gets a numeric ID automatically.tick [id]
Marks an item as "done".untick [id]
Marks an item as "not done".remove [id]
Removes an item from the list.trim
Removes all ticked (done) items.clear
Removes all items.help
Display usage information.
Example:
/todo add Update SlackCommander readme
/todo add Get coffee
/todo add Get to inbox zero
/todo
/todo tick 1
/todo tick 3
/todo show
As stated above, each conversation gets its own list and everyone in the conversation is free to manage it. Use the Slackbot channel if you want a personal list, or create a private group with no other members (good for todo-per-topic).
Whois lookup for e-mail addresses or Twitter handles
/whois [e-mail address]
/whois [Twitter handle]
Performs a lookup and sends a brief summary of who the person behind the e-mail address or Twitter handle is to the current channel. Requires a FullContact API key (the free tier currently includes 250 lookups per month).
Example:
/whois @SlackHQ
SlackCommander responds to the current channel with something similar to this:
Misc. integrations
-
MailChimp webhook for new subscribers - automatically posts a notification to a preconfigured Slack channel about the new list signup + initiates a whois lookup (which is also posted to the channel when complete).
-
Send e-mail to Slack - set up a Mailgun route to forward incoming e-mail to any Slack channel.
Mailgun route details
=====================
Filter expression: match_recipient("^(?P<slackChannel>[\w]+)\.(?P<webhookId>[\w]+)@yourdomain.net$")
Action: forward("https://yourslackcommander.com/webhooks/mailgun/\g<webhookId>/\g<slackChannel>")
(webhookId should be a hard-to-guess token to prevent spam etc.)