Rob Hruska edited this page Dec 28, 2015 · 31 revisions
Clone this wiki locally

CalendarToSlack looks at your Outlook calendar and updates your Slack presence to Away whenever you have an event. A custom message specific to the calendar event is shown next to your Slack name. The custom message is controllable via a configurable whitelist (see Custom Messages).


Changes your:

  • Presence - Slack's presence, Away or Auto. Away is displayed as gray and italicized.
  • Custom Message - The custom message set by CalendarToSlack, e.g. | Meeting.


Calendar Event Statuses

When you create an Outlook event its default status is "Busy". You can set more specific statuses like "Out of Office" or "Working Elsewhere":


CalendarToSlack uses these event statuses to control your Slack presence.

  • "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 Messages

CalendarToSlack uses the calendar event's status (e.g. "Busy" or "Tentative") and subject (e.g. "Rob's Awesome Meeting") to set a custom message as part of your Slack last name. The default custom messages are Away for "Busy" calendar events and OOO for "Out of Office" events.

Important - For custom message support, you need to provide the server administrator with your personal, full-access Slack API token from https://api.slack.com/web. Slack's API doesn't have a "scope" for updating profile information (i.e. your last name). This is a hacky, insecure way of doing things, but works.


You can configure a whitelist to set more specific custom messages based on the event's subject. If the subject matches (case insensitive) a token in the whitelist, the token from the whitelist will be used as the custom message.

Example: If the whitelist contains the tokens Meeting and Lunch, and an event occurs with the subject "Rob's Awesome Meeting", the custom message will be Meeting (and not Rob's Awesome Meeting).

The default whitelist contains: OOO Lunch 1:1 Working From Home>WFH Meeting

Active messages

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 presence 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" event called "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.

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. Examples:

  • /c2s-whitelist or /c2s-whitelist show

    Sends a message to your @slackbot with your current whitelist.

  • /c2s-whitelist add Lunch

    Adds Lunch to your whitelist.

  • /c2s-whitelist remove Lunch

    Removes Lunch from your whitelist.

The add and remove actions take multiple whitelist tokens. Example:

  • /c2s-whitelist add Lunch Meeting

    Adds Lunch and Meeting to your whitelist.


  • Does not currently support tokens with spaces (since space is a delimiter for multiple add/remove).
  • Is case-sensitive, so Lunch and lunch can both be added to the whitelist independently, which may result in indeterminate behavior when selecting a token to use for your custom message.

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.