Communication
Microsoft Teams Webhooks
Microsoft collaboration platform. Receive events for messages, channels, teams, and meeting updates.
Connecting Microsoft Teams to Hookbase
Create a source in Hookbase first — it gives you an ingest URL to paste into Microsoft Teams. Then:
- 1Register a bot in the Azure Bot Service
- 2Configure the messaging endpoint to your Hookbase ingest URL
- 3Install the bot/app in your Teams workspace
- 4Events will be sent as Bot Framework activities
Signature verification
Microsoft Teams signs its webhooks with HMAC-SHA256 in Authorization, and Hookbase has no verifier for that combination today. We would rather say so here than let a source report every event as verified while nothing was checked.
What you can do:
- Receive them on a
customsource with no signing secret. Hookbase still dedupes, retries, transforms, routes and replays them; it just does not vouch for the sender. - Set a signing secret anyway if Microsoft Teams can be configured to send a hex HMAC-SHA256 of the raw body in
X-Signature,X-Webhook-SignatureorX-Hub-Signature-256— that is the one scheme the custom verifier implements. - Verify downstream: the original headers travel with the event, so your own service or a transform can check the signature itself. The key is at Azure Bot Service → Bot Channels Registration → Security token.
- Narrow the blast radius with an IP allowlist and a hard-to-guess source slug.
Microsoft Teams event types
7 of the events people route most often. Hookbase accepts every event Microsoft Teams sends, whether or not it is listed here.
message.created
A new message was posted
channel.created
A new channel was created
channel.deleted
A channel was deleted
team.member.added
A member was added to a team
team.member.removed
A member was removed from a team
meeting.started
A meeting started
meeting.ended
A meeting ended
What a Microsoft Teams webhook looks like
A message.created payload. Hookbase stores the raw body exactly as it arrived, so this is also what you get back on a replay.
{
"type": "message",
"id": "msg-1234567890",
"timestamp": "2024-01-15T10:30:00Z",
"from": {
"id": "user-123",
"name": "Jane Dev"
},
"conversation": {
"id": "conv-456",
"conversationType": "channel"
},
"channelData": {
"team": {
"id": "team-789"
},
"channel": {
"id": "channel-012",
"name": "General"
}
},
"text": "Hello team!"
}Start receiving Microsoft Teams webhooks
Create a source, paste the URL into Microsoft Teams, and watch the first event arrive. The free tier includes 1,000 events a month.
Get Started Free