Post Office 365 Calendar event notifications to a Channel

%3CLINGO-SUB%20id%3D%22lingo-sub-129525%22%20slang%3D%22en-US%22%3EPost%20Office%20365%20Calendar%20event%20notifications%20to%20a%20Channel%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-129525%22%20slang%3D%22en-US%22%3EI%20am%20looking%20for%20a%20way%20to%20push%20notification%20card%20from%20Outlook%20365%20Calendar%20to%20an%20MS%20Team's%20Channel.%20I'd%20like%20to%20post%20notifications%20such%20as%20birthdays%20in%20the%20company%20to%20all%20team%20members.%20I%20see%20that%20Outlook%20365%20supports%20Rest%20API%20for%20Webhook%20but%20I%20really%20get%20lost%20trying%20to%20set%20it%20up.%20Anyone%20try%20it%20before%3F%20I'm%20not%20a%20coder%20by%20nature%20but%20I%20do%20great%20following%20directions%2C%20hahaha%20Outlook%20365%20Webhook%3A%20%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Foutlook%2Frest%2Fwebhooks%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Ehttps%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Foutlook%2Frest%2Fwebhooks%3C%2FA%3ECards%20in%20MS%20Teams%3A%20%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fmicrosoftteams%2Fplatform%2Fconcepts%2Fcards-actions%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Ehttps%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fmicrosoftteams%2Fplatform%2Fconcepts%2Fcards-actions%3C%2FA%3EAny%20help%20is%20greatly%20appreciated!%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-129525%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EMicrosoft%20Teams%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-141650%22%20slang%3D%22en-US%22%3ERe%3A%20Post%20Office%20365%20Calendar%20event%20notifications%20to%20a%20Channel%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-141650%22%20slang%3D%22en-US%22%3E%3CP%3EHey%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F53728%22%20target%3D%22_blank%22%3E%40Jeff%20Kozloff%3C%2FA%3E.%20Found%20an%20easy%20way%20to%20do%20this%20using%26nbsp%3BFlow%20and%20no%20code.%26nbsp%3BIt's%20still%20not%20as%20automated%20as%20I'd%20like%2C%26nbsp%3Bso%20I'll%20update%20this%20as%20I%20find%20a%20better%20way.%26nbsp%3B%3CBR%20%2F%3E%3CBR%20%2F%3E1.%20The%20Birthdays%20calendar%20that%20comes%20standard%20with%20O365%20didn't%20work%20for%20me.%20I%20created%20a%20new%20calendar%20called%20Team%20Birthdays%20(which%20can%20also%20be%20shared%20with%26nbsp%3Bother%20people%20who%20can%20add%20new%20entries).%26nbsp%3B%3CBR%20%2F%3E%3CBR%20%2F%3E2.%20Create%20a%20calendar%20entry%20for%20each%20person's%20birthday.%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E-%20Set%20the%20start%20time%20for%20a%20few%20minutes%26nbsp%3Bafter%20the%20time%26nbsp%3Byou'd%20like%26nbsp%3Beveryone%20to%20be%20reminded.%26nbsp%3BThis%20needs%20to%20be%20a%20timed%20event%20for%20the%20trigger%20to%20work%20(not%20an%20All%20day%20event).%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E-%20In%20the%20subject%20of%20the%20calendar%20entry%2C%20I%20decided%20to%20type%20in%20the%20person's%20name.%20This%20is%20because%20Subject%20is%20one%20of%20the%20parameters%26nbsp%3Bavailable%20from%20the%20Outlook%20connector.%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E3.%26nbsp%3BCreate%20a%20new%20Flow.%20Select%20the%20following%20connector%3A%26nbsp%3B%3CSTRONG%3EOffice%20365%20Outlook%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E4.%20Select%20the%20following%20trigger%3A%26nbsp%3B%3CSTRONG%3EOffice%20365%20Outlook%20-%26nbsp%3BWhen%20an%20upcoming%20event%20is%20starting%20soon%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E5.%20Click%20on%20%3CSTRONG%3EShow%20advanced%3C%2FSTRONG%3Eoptions.%20The%20number%26nbsp%3Bin%20the%20%3CSTRONG%3ELook-Ahead%20Time%3C%2FSTRONG%3Efield%20specifies%20the%20number%20of%20minutes%20before%20the%20event%2C%20at%20which%20your%20message%20will%20be%20posted.%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E5.%20Select%26nbsp%3BNew%20Step%20%26gt%3B%20Add%26nbsp%3Ban%20action.%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E6.%20Search%20for%20and%20select%20Microsoft%20Teams.%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E7.%20Select%20the%20following%26nbsp%3Baction%3A%20%3CSTRONG%3EPost%20message%3C%2FSTRONG%3E.%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E8.%20Choose%26nbsp%3Bthe%20Team%26nbsp%3BID%20and%20Channel%20ID%20where%20the%20birthday%20message%20needs%20to%20be%20posted.%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E9.%26nbsp%3BIf%20you%20want%20your%20Teams%20message%20to%20read%20%22Happy%20birthday%2C%20%5BSubject%5D!%22%26nbsp%3B%3C%2FP%3E%0A%3CP%3E-%20type%20in%3A%3C%2FP%3E%0A%3CPRE%3EHappy%20birthday%2C%20%3C%2FPRE%3E%0A%3CP%3E-%20Select%20the%20%3CSTRONG%3ESubject%3C%2FSTRONG%3Eparameter%3C%2FP%3E%0A%3CP%3E-%20type%20your%20exclamation%20mark.%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E10.%20Click%20Save%20flow%2C%20Done%2C%20and%20make%20sure%20that%20your%20Flow%20is%20turned%20on.%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3EIdeal%20iterations%3A%20%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3ETo%20make%20the%20person's%20name%20clickable%20to%20their%20profile%2C%20so%20people%20could%20follow%20the%20link%20to%26nbsp%3Bmessage%20a%20direct%20birthday%20wish.%20A%20way%20to%20do%20that%20would%20be%20to%26nbsp%3Bset%20the%20person%20as%20an%20attendee%2C%20and%20pull%20their%20name%20into%20the%20message%20field%2C%20but%20I%20couldn't%20pick%20that%20up%20as%20an%20Outlook%20parameter.%26nbsp%3B%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3EInstead%20of%20using%20Calendar%2C%26nbsp%3Bit%20would%20create%20further%20automation%20if%20we%20were%20able%20to%20read%20the%20birthday%20field%20in%20each%20person's%20O365%2FDelve%20profile.%26nbsp%3B%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EPlease%20let%20me%20know%20if%20this%20works%20for%20you%2C%20or%20share%20if%20you've%20found%20another%20way!%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-129541%22%20slang%3D%22en-US%22%3ERe%3A%20Post%20Office%20365%20Calendar%20event%20notifications%20to%20a%20Channel%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-129541%22%20slang%3D%22en-US%22%3ECould%20you%20explain%20further%20on%20your%20idea%20of%20%22injecting%22%20into%20the%20team%20activity%20feed%3F%20Can%20I%20inject%20event%20reminder%20notification%20from%20an%20O365%20Group%20(same%20one%20that%20is%20associated%20to%20the%20Team%20in%20MS%20Teams%20I%20am%20working%20with)%3F%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-129540%22%20slang%3D%22en-US%22%3ERe%3A%20Post%20Office%20365%20Calendar%20event%20notifications%20to%20a%20Channel%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-129540%22%20slang%3D%22en-US%22%3EFlow%20is%20a%20great%20Tip!%20One%20point%20I%20missed%20however%20is%20that%20I%20was%20hoping%20to%20pull%20the%20Outlook%20events%20from%20an%20Office%20365%20group%20calendar%2C%20specifically%20the%20O365%20group%20that%20is%20associated%20to%20the%20MS%20Team.%20I%20attempted%20to%20create%20a%20flow%20on%20this%20case%2C%20but%20it%20only%20lists%20my%20O365%20individual%20calendar%2C%20not%20the%20O365%20Group.%20Did%20I%20miss%20something%3F%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-129529%22%20slang%3D%22en-US%22%3ERe%3A%20Post%20Office%20365%20Calendar%20event%20notifications%20to%20a%20Channel%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-129529%22%20slang%3D%22en-US%22%3EIt%E2%80%99s%20late.%20I%20see%20you%20said%20a%20calendar.%20Yeah%20you%20should%20be%20able%20to%20pull%20from%20that%20calendar%20via%20flow%20and%20post%20to%20a%20channel.%20Way%20easier%20than%20dealing%20with%20api%E2%80%99s%20etc.%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-129528%22%20slang%3D%22en-US%22%3ERe%3A%20Post%20Office%20365%20Calendar%20event%20notifications%20to%20a%20Channel%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-129528%22%20slang%3D%22en-US%22%3E%3CP%3EDefinitively%2C%20webhooks%20is%20one%20possibility%20here...the%20other%20option%20is%20to%20%22inject%22%20your%20messages%20in%20the%20Teams%20Activity%20Feed...but%20both%20options%20require%20some%20coding%2Fconfiguration%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-129527%22%20slang%3D%22en-US%22%3ERe%3A%20Post%20Office%20365%20Calendar%20event%20notifications%20to%20a%20Channel%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-129527%22%20slang%3D%22en-US%22%3EWhere%20are%20you%20getting%20the%20birthdays%20from%3F%20AD%3F%20A%20lost%20somewhere%3F%3CBR%20%2F%3E%3CBR%20%2F%3ENot%20being%20a%20coder%20I%20would%20really%20look%20at%20doing%20this%20with%20flow.%20Possibly%20pulling%20from%20the%20graph%20and%20sending%20message%20to%20Teams%20and%20just%20looping%20it%20daily%20etc.%20Lookup%20Laura%20Rogers%20on%20YouTube.%20She%20just%20did%20a%20flow%20session%20pulling%20from%20graph%20I%20believe.%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1069900%22%20slang%3D%22en-US%22%3ERe%3A%20Post%20Office%20365%20Calendar%20event%20notifications%20to%20a%20Channel%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1069900%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F105838%22%20target%3D%22_blank%22%3E%40Selene%20Shah%3C%2FA%3E%26nbsp%3B%22%3CSPAN%3EInstead%20of%20using%20Calendar%2C%26nbsp%3Bit%20would%20create%20further%20automation%20if%20we%20were%20able%20to%20read%20the%20birthday%20field%20in%20each%20person's%20O365%2FDelve%20profile%22%3A%20Y%3C%2FSPAN%3Eou%20can%20use%20the%20Office%20365%20User%20connector%20to%20get%20to%20a%20persons%20Birthday%20information%20from%20their%20profile%2C%20%3A%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fgraph%2Fapi%2Fresources%2Fuser%3Fview%3Dgraph-rest-1.0%23properties%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Ehttps%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fgraph%2Fapi%2Fresources%2Fuser%3Fview%3Dgraph-rest-1.0%23properties%3C%2FA%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2182753%22%20slang%3D%22en-US%22%3ERe%3A%20Post%20Office%20365%20Calendar%20event%20notifications%20to%20a%20Channel%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2182753%22%20slang%3D%22en-US%22%3EThank%20you%20%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F105838%22%20target%3D%22_blank%22%3E%40Selene%20Shah%3C%2FA%3E!%20%3B)%3C%2Fimg%3E%3C%2FLINGO-BODY%3E
Occasional Contributor
I am looking for a way to push notification card from Outlook 365 Calendar to an MS Team's Channel. I'd like to post notifications such as birthdays in the company to all team members. I see that Outlook 365 supports Rest API for Webhook but I really get lost trying to set it up. Anyone try it before? I'm not a coder by nature but I do great following directions, hahaha Outlook 365 Webhook: https://docs.microsoft.com/en-us/outlook/rest/webhooks Cards in MS Teams: https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/cards-actions Any help is greatly appreciated!
8 Replies
Where are you getting the birthdays from? AD? A lost somewhere?

Not being a coder I would really look at doing this with flow. Possibly pulling from the graph and sending message to Teams and just looping it daily etc. Lookup Laura Rogers on YouTube. She just did a flow session pulling from graph I believe.

Definitively, webhooks is one possibility here...the other option is to "inject" your messages in the Teams Activity Feed...but both options require some coding/configuration

It’s late. I see you said a calendar. Yeah you should be able to pull from that calendar via flow and post to a channel. Way easier than dealing with api’s etc.
Flow is a great Tip! One point I missed however is that I was hoping to pull the Outlook events from an Office 365 group calendar, specifically the O365 group that is associated to the MS Team. I attempted to create a flow on this case, but it only lists my O365 individual calendar, not the O365 Group. Did I miss something?
Could you explain further on your idea of "injecting" into the team activity feed? Can I inject event reminder notification from an O365 Group (same one that is associated to the Team in MS Teams I am working with)?

Hey @Jeff Kozloff. Found an easy way to do this using Flow and no code. It's still not as automated as I'd like, so I'll update this as I find a better way. 

1. The Birthdays calendar that comes standard with O365 didn't work for me. I created a new calendar called Team Birthdays (which can also be shared with other people who can add new entries). 

2. Create a calendar entry for each person's birthday. 

 

- Set the start time for a few minutes after the time you'd like everyone to be reminded. This needs to be a timed event for the trigger to work (not an All day event).

 

- In the subject of the calendar entry, I decided to type in the person's name. This is because Subject is one of the parameters available from the Outlook connector. 

 

3. Create a new Flow. Select the following connector: Office 365 Outlook

 

4. Select the following trigger: Office 365 Outlook - When an upcoming event is starting soon

 

5. Click on Show advanced options. The number in the Look-Ahead Time field specifies the number of minutes before the event, at which your message will be posted. 

 

5. Select New Step > Add an action. 

 

6. Search for and select Microsoft Teams. 

 

7. Select the following action: Post message

 

8. Choose the Team ID and Channel ID where the birthday message needs to be posted. 

 

9. If you want your Teams message to read "Happy birthday, [Subject]!" 

- type in:

Happy birthday, 

- Select the Subject parameter

- type your exclamation mark. 

 

10. Click Save flow, Done, and make sure that your Flow is turned on. 

 

Ideal iterations:

  • To make the person's name clickable to their profile, so people could follow the link to message a direct birthday wish. A way to do that would be to set the person as an attendee, and pull their name into the message field, but I couldn't pick that up as an Outlook parameter. 

 

  • Instead of using Calendar, it would create further automation if we were able to read the birthday field in each person's O365/Delve profile. 

 

Please let me know if this works for you, or share if you've found another way!

@Selene Shah "Instead of using Calendar, it would create further automation if we were able to read the birthday field in each person's O365/Delve profile": You can use the Office 365 User connector to get to a persons Birthday information from their profile, : https://docs.microsoft.com/en-us/graph/api/resources/user?view=graph-rest-1.0#properties