Send Contractor COI and License Alerts to Microsoft Teams — Free with Microsoft 365
Microsoft Teams contractor compliance alerts send automatic notifications to your project channels when a subcontractor's COI, trade license, or W-9 status changes — using Power Automate, which is included with most Microsoft 365 plans. No extra subscription, no third-party account, setup in about 10 minutes.
What you can automate
How it works
Power Automate is included with Microsoft 365 Business Basic and above. There's no separate subscription, no API rate limits for this use case, and the flow runs under your existing Microsoft account — so your IT team doesn't need to approve a new vendor. If the flow fails, Power Automate emails you and retries automatically.
Before you start
- 1 A TrackMyVendor account with owner access
- 2 A Microsoft 365 account with Power Automate access (included in most plans)
- 3 A Teams channel where you want compliance alerts to land
Create a Power Automate flow with an HTTP trigger
Go to power.automate.microsoft.com. Click Create → Automated cloud flow. Name the flow (e.g., "TrackMyVendor Compliance Alerts"), then search for and select When an HTTP request is received as the trigger.
Power Automate setup path:
Create → Automated cloud flow → HTTP → When an HTTP request is received → Create
Click Save — Power Automate generates the HTTP POST URL after the first save. You'll see it in the trigger step as "HTTP POST URL".
Copy the Power Automate URL and add it to TrackMyVendor
Copy the HTTP POST URL from the Power Automate trigger step. In TrackMyVendor, go to Settings → Integrations → Webhook Endpoints and click Add Endpoint.
Click Add Endpoint. TrackMyVendor shows the signing secret once — you won't need it for the basic setup, so skip to Step 3. Your IT team can add signature verification later using the optional section at the bottom of this page.
Define the JSON schema so Power Automate maps the fields
In the HTTP trigger step, click "Use sample payload to generate schema". Paste the TrackMyVendor payload below and click Done. Power Automate will auto-map all fields as usable dynamic content tokens in the next step.
{
"event": "contractor.coi_expiring",
"created_at": "2026-05-08T14:00:00Z",
"data": {
"vendor_id": 42,
"vendor_name": "Apex Electrical LLC",
"organization_id": 7,
"expiration_date": "2026-06-01",
"days_left": 24,
"window": "30d"
}
}
After saving, you'll be able to insert vendor_name, days_left, expiration_date, and other fields directly into your Teams message.
Add the Teams "Post message in a chat or channel" action
Click + New step and search for Microsoft Teams. Choose Post message in a chat or channel.
Sample message template:
⚠️ COI expiring — [vendor_name] Expires [expiration_date] ([days_left] days remaining) @ProjectManager — please follow up before this sub returns to site.
Replace [vendor_name] etc. with the dynamic content tokens Power Automate surfaces from the JSON schema. They appear as blue pills when you click inside the Message field.
Save and test the flow
Click Save. The flow is now live. To test it, add a contractor in TrackMyVendor — this fires contractor.created and TrackMyVendor delivers the webhook. Within a few seconds, your Teams channel should show the test message.
Tip: create one flow per event type
Add a Condition step after the HTTP trigger with the rule event is equal to contractor.coi_expiring. Put the Teams action in the "Yes" branch. This lets you run separate flows for COI alerts vs. license warnings vs. W-9 missing, routing each to a different channel.
Event reference
How TrackMyVendor secures your Teams webhook connection (optional)
Every request from TrackMyVendor includes an X-TMV-Signature header. In Power Automate, you can read the header value in the HTTP trigger outputs and verify it using a Compose action before the Teams step:
Signature format:
X-TMV-Signature: t=<unix_timestamp>,sha256=<hmac_hex>
HMAC is computed as: HMAC-SHA256(signing_secret, "{timestamp}.{raw_body}")
Frequently asked questions
"Our project managers get a Teams alert the moment a sub's COI hits 30 days out. The whole setup took about 15 minutes and runs on our existing Microsoft 365 subscription."
General Contractor, Houston TX — managing 32 subcontractors across 4 active job sites
Using Slack instead?
Route compliance alerts to Slack channels via Workflow Builder or Zapier.
Prefer Zapier?
Connect compliance alerts to 6,000+ apps with Zapier webhooks.
Don't have a TrackMyVendor account yet?
Track your first 25 subs free — no credit card required.
Already have an account?
Add your Power Automate URL as a webhook endpoint in Settings → Integrations.
Open Integrations Settings