Hi Tomlin Izie,
Thank you for posting your question in the Microsoft Q&A forum.
After carefully reviewing your requirements, I researched the relevant Microsoft documentation and prepared the following consolidated approach that maps directly to your intended logic, with precise references for each step.
Calendar access. Read each targeted user’s calendar to identify items to remind. You can use Microsoft Graph Calendar APIs for working with calendars and events. References: https://free.blessedness.top/en-us/graph/api/resources/calendar-overview?view=graph-rest-1.0
Optional trigger: subscribe per user to change notifications on /users/{id}/events to react to create/update/delete (no tenant‑wide calendar subscription). Reference discussion confirming the per‑user approach: https://stackoverflow.com/questions/79610026/how-to-listen-for-meeting-update-or-cancellation-events-at-the-tenant-level-in-m
Proactive reminders in Teams. Ensure the bot app is installed for the user (personal scope) and persist the conversation ID/reference at install or first interaction. At the scheduled time, create/reuse the 1:1 conversation and send a proactive reminder. References: https://free.blessedness.top/en-us/microsoftteams/platform/bots/how-to/conversations/send-proactive-messages?tabs=dotnet
User completion via Adaptive Card. Present an Adaptive Card with a “Mark as completed” button. Handle the submission (Invoke) in the bot and capture the user identity plus contextual payload (e.g., eventId, taskTitle). References: sample bot that sends and processes Adaptive Card actions: https://free.blessedness.top/en-us/samples/officedev/microsoft-teams-samples/officedev-microsoft-teams-samples-bot-adaptivecard-actions-csharp/
Persist tracking to SharePoint. On submission, write a record to a SharePoint list (e.g., Title, EventId, CompletedBy, CompletedAt, optional Note) using Microsoft Graph. Reference: https://free.blessedness.top/en-us/graph/api/listitem-create?view=graph-rest-1.0&tabs=http
I hope this help! If you have any further questions, please feel free to share.
If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.