Skip to content
Rob Hruska edited this page Jan 19, 2018 · 37 revisions

CalendarToSlack automatically sets your Slack status and availability according to events on your Outlook calendar. It updates your Slack availability to Away whenever you have an event, and updates your Slack status to a custom status/emoji that's specific to the calendar event. The custom status is controllable via a configurable whitelist (see Custom Messages).


Calendar Event Statuses

When you create an Outlook event its default Outlook status is "Busy". You can change this to values like "Out of Office" or "Working Elsewhere":


CalendarToSlack uses these Outlook event statuses to control your Slack availability.

  • "Out of Office" and "Busy" events mark you Away in Slack.
  • "Free", "Working Elsewhere", and "Tentative" don't mark you Away, but will still use whitelisted custom messages.

Custom Statuses

CalendarToSlack uses the calendar event status (e.g. "Busy" or "Tentative" or "Out of Office") and subject (e.g. "Rob's Awesome Meeting") to set a custom status for your Slack profile. The default custom status text is Away for "Busy" calendar events and OOO for "Out of Office" events. It will also set an emoji for your status; the defaults are :spiral_calendar_pad: for "Busy" events and :palm_tree: for "Out of Office" events.


You can configure a whitelist to set more specific custom statuses based on the event's subject. If the subject matches a token in the whitelist, the token from the whitelist will be used as the custom status.

Example: If the whitelist contains entries for Meeting and Lunch, and an event occurs with the subject "Rob's Awesome Meeting", the Slack status will be set to Meeting (and not Rob's Awesome Meeting).

To see the default whitelist, use the /c2s-whitelist Slack slash command with no arguments.

Specifying Status Emoji

You can also specify an emoji to be used as the status emoji for any entry in your whitelist. To do this, use a ; separator between the desired status text and status emoji, e.g. WFH;:house:.

Useful suggestions:

  • Add a custom status emoji for your visits to another office, like Omaha;:omaha:.
  • Add a custom status emoji for when you work at home, like WFH;:house:.

Default-Active events

Custom messages are also used with "Free", "Working Elsewhere", and "Tentative" events. For these, if a token in the whitelist matches the event subject (e.g. Lunch), it'll be used for the custom message and your Slack availability will remain Active (green). For these default-Active calendar events, if no whitelist match is found, no custom message will be set.

Useful suggestions:

  • Create a "Tentative" event every day called "Lunch" for Lunch as a custom message. Add Lunch to your whitelist.
  • If working in Boston for a week, create a week-long "Working Elsewhere" Outlook event with the subject of "Boston" for an Active Boston message. Add Boston to your whitelist.


A whitelist token with a right chevron character > will map a token (on the left) to a message (on the right). Examples:

  • Working From Home>WFH will match an event subject containing "Working From Home" and display WFH as the custom message.
  • Weekly>1:1 will match an event subject containing "Weekly" and display 1:1 as the custom message.
  • Flight>Traveling;:airplane: will match an event subject containing "Flight" and display Traveling as the custom status text with an airplane as the emoji.

The /back Slash Command

If you get back from a meeting early, you can use the /back slash command in any Slack channel to remove your Away presence and custom message. This is effectively telling CalendarToSlack to ignore the event it marked you Away for originally.

/back will not affect "Free", "Out of Office", or "Working Elsewhere" events. The assumption is that these (particularly the latter two) are more overarching events that you don't typically "get back early" from. Feedback on this assumption is welcome if it's not the desired behavior.

It make take a few seconds (5-10) for /back to complete and change your status. Be patient. :smile:

The /c2s-whitelist Slash Command

You can view and change your Custom Message whitelist using this command. All actions will echo responses into your @slackbot. To set or remove whitelist entries, use:

/c2s-whitelist set "Working From Home"
/c2s-whitelist set "Working From Home" :home:
/c2s-whitelist set "Working From Home" "WFH"
/c2s-whitelist set "Working From Home" "WFH" :home:
/c2s-whitelist remove "Working From Home"

You can also use /c2s-whitelist to set the default status message / emoji to use when you have no current Outlook events:

/c2s-whitelist set-default "HQ" :hq:
/c2s-whitelist set-default "LNK" :nebraska:

Overlapping Events

The "busiest" event at any given time will be used to control Slack presence and the custom message. "Busiest" is determined by the event status and probably works the way you'd expect it to. "Out of Office" is the busiest, "Free" is the least busy.