Daily ServiceNow change advisory brief in Microsoft Teams

Every weekday at 8am, your change advisory board gets a single Teams message with every change scheduled for today, grouped by risk and flagged for conflicts.

Agentic Task
ServiceNowMicrosoft TeamsOperationsEngineeringDaily DigestsNotifications & AlertsAI Reports

Build an agent that runs on a cron schedule every weekday (Monday through Friday) at 8:00 AM in the user's local timezone. The agent produces a CAB-style morning change brief and posts it to a Microsoft Teams channel. The user should be able to configure the timezone, the Teams team name, and the Teams channel name at install time.

When the agent fires, it should use the ServiceNow List Change Requests action to pull every change request whose planned_start_date falls inside today's window (from 00:00 to 23:59 in the configured timezone). By default, restrict to changes in the Scheduled or Implement states, but let the user override which states are included. Request the fields needed for the brief, including number, short_description, risk, type (especially the emergency flag), state, approval, planned_start_date, planned_end_date, assignment_group, assigned_to, cmdb_ci, and sys_id so deep links can be built.

Then the agent should compose a single formatted message that contains: a one-line headline with the date and total change count; a High and Emergency Risk section that lists each high-risk or emergency change with its change number, planned window in the configured timezone, implementation owner (assigned_to or assignment_group), affected configuration item(s), and a one-sentence summary derived from the short description and implementation plan; a Moderate Risk section in a more compact format; a Low Risk section as a simple bullet list; a Conflicts section that flags any pair of changes whose configuration items overlap and whose planned windows overlap; and an Approvals section that lists any change in today's window whose approval field is not 'approved'. Every change reference should be a deep link back to its ServiceNow record using the user's instance URL and the change request sys_id.

Post the resulting brief as one message to the configured Microsoft Teams channel using the Create Channel Message action. If there are zero changes scheduled for the day, the agent should post a short 'No changes scheduled for today' message so the channel knows the brief ran successfully.

Conflict detection is plain logic on the returned record set: for each pair of changes scheduled today, compare their cmdb_ci values and check whether their [planned_start_date, planned_end_date] intervals overlap. Both members of any overlapping pair should appear in the Conflicts section with a short explanation of which configuration item collides and during which window.

Format the Teams message with clear section headings, bold change numbers, and tight bullet structure so the on-call engineer and the change advisory board can scan it in under a minute. Do not include any internal ServiceNow sys_ids in the visible copy, only in the deep links.

Additional information

What does this prompt do?
  • Pulls every ServiceNow change request whose planned start falls inside today's window, including scheduled and in-flight implementations.
  • Groups the day's changes by risk level so high and emergency changes are called out at the top with their planned window, owner, and affected systems.
  • Spots conflicts where two changes touch the same configuration item in overlapping windows, and flags anything still missing approval.
  • Posts the brief as one formatted message to the Microsoft Teams channel of your choice, with deep links back to each change request in ServiceNow.
What do I need to use this?
  • A ServiceNow login with permission to read change requests on your instance.
  • A Microsoft Teams account with access to the channel where the brief should land, and permission to post messages there.
  • The name of the Teams team and channel that should receive the morning brief.
How can I customize it?
  • Change the time the brief fires, the days of the week it runs, or the timezone it follows.
  • Narrow the change list to specific states (for example only Scheduled and Implement), risk levels, assignment groups, or business services.
  • Reword the brief itself, for example shorter summaries, an executive headline at the top, or a different conflict-detection rule.

Frequently asked questions

Does this require any custom development inside ServiceNow?
No. It uses your existing ServiceNow login to read change requests through the standard change table. You do not need to install a plugin or build a scoped app.
Will it post to a private Teams channel?
Yes, as long as the Microsoft account you connect is a member of that channel and has permission to post. You pick the team and channel during setup.
How does conflict detection work?
The brief compares the configuration items on every change scheduled for today. If two changes touch the same item and their planned windows overlap, both are called out in a conflicts section at the bottom of the message.
What if no changes are scheduled for the day?
You can tell the agent to either post a short all clear message so the channel knows the brief ran, or skip posting entirely on quiet days.
Can I get the same brief in Slack or email instead of Teams?
Yes. Ask the workflow author to swap the Teams step for Slack, Outlook, or Gmail and keep the rest of the logic the same.

Stop logging into ServiceNow to find out what's changing today.

Connect ServiceNow and Microsoft Teams once, and your change board gets the morning brief in the channel they already live in.