ServiceNow → Microsoft Teams: Clickable link/button in 1:1 chat without bot or delegated auth
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-10-2026 08:18 AM
Hi Community,
I’m working on a ServiceNow Flow Designer automation that sends 1:1 Microsoft Teams chat messages to managers as part of an asset recovery workflow (hardware return reminders).
Current setup
- ServiceNow Microsoft Teams Graph Spoke
- Client credentials (app‑only) authentication
- Messages are sent successfully to a normal 1:1 Teams chat
- We do not want to use:
- Conversational Integration / Teams bot
- Delegated OAuth (user context)
Requirement
We want the Teams message to include something clickable (for example, a link or button) that opens a ServiceNow RITM.
What we’ve tried / observed
- Plain text URLs in the Teams chat are not clickable
- HTML links are rendered as text
- Adaptive Cards / Action.OpenUrl are not supported in our current setup
- REST calls to
POST /chats/{chat-id}/messagesfail with permissions likeTeamwork.Migrate.Allwhen attempting richer content MSTeamsOutboundMessages()/ Conversational Integration APIs are not available in our instance
Question
With Graph Spoke + app‑only authentication and no bot, is there any supported way to send a clickable link in a 1:1 Teams chat message from ServiceNow?
Or is the correct conclusion that:
- Clickable content in 1:1 chat requires either
- Delegated permissions (
ChatMessage.Send), or - Conversational Integration / Teams bot,
- Delegated permissions (
- And that app‑only Graph is limited to non‑interactive text in chats?
If anyone has implemented a workaround (for example, formatting, alternate endpoints, or officially supported approaches), I’d appreciate the guidance.
Thanks in advance!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-24-2026 08:28 AM
I just ran into this same issue. Links showing only as text/unclickable.
If I find a solution, I'll try to reply with it here.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
4 weeks ago - last edited 4 weeks ago
Still no solution for direct chats, but just adding some other findings here.
Using 'Post a Message', or Post Incident Details(or chg, etc), does allow embedded/html links for the initial post in a Teams Channel.
I tried using Post Reply to Message to an initial post with a link to a teams meeting created for it, but found that the html links in replies also just renders link colored flat/unclickable text as well. 😞
Hopefully someone can find a solution for direct chats and/or reply messages that allows clickable links in the future.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Hi Zach did you get any further on this yet? I'm stuck in the same boat and seems like no workaround that I can tell.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Don't have access to the spoke now but the way I read the docs it looks like you can't use application permissions to send messages. It looks like they can only be used for importing. If you just create a bot then you can use app level permissions.
Even the name of the scope doesn't sound like it would be the correct thing to use: "Teamwork.Migrate.All"
See this bit:
"Application permissions are only supported for migration. In the future, Microsoft might require you or your customers to pay additional fees based on the amount of data imported."
Send chatMessage in a channel or a chat - Microsoft Graph v1.0 | Microsoft Learn
Other than that it looks like it should just be a matter setting the contentType property to html in the body.
