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).
- Presence - Slack's presence, Away or Auto. Away is displayed as gray and italicized.
Custom Message - The custom message set by CalendarToSlack, e.g.
- Calendar Event Statuses
- Custom Messages
- Overlapping Events
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.
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
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:
Working From Home>WFH
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.
- Create a "Tentative" event every day called "Lunch" for
| Lunchas a custom message. Add
Lunchto your whitelist.
- If working in Boston for a week, create a week-long "Working Elsewhere" event called "Boston" for an Active
| Bostonmessage. Add
Bostonto 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>WFHwill match an event subject containing "Working From Home" and display
WFHas the custom message.
Weekly>1:1will match an event subject containing "Weekly" and display
1:1as the custom message.
/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.
/c2s-whitelist Slash Command
You can view and change your Custom Message whitelist using this command. All actions will echo responses into your
Sends a message to your
@slackbotwith your current whitelist.
/c2s-whitelist add Lunch
Lunchto your whitelist.
/c2s-whitelist remove Lunch
Lunchfrom your whitelist.
remove actions take multiple whitelist tokens. Example:
/c2s-whitelist add Lunch Meeting
Meetingto your whitelist.
- Does not currently support tokens with spaces (since space is a delimiter for multiple add/remove).
- Is case-sensitive, so
lunchcan both be added to the whitelist independently, which may result in indeterminate behavior when selecting a token to use for your custom message.
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.