Browse the docs

Agent setup guide

Ticket SLA Watch for Microsoft Teams

Every hour, escalates HubSpot tickets past your response or resolution targets in a Microsoft Teams channel, with a suggested next reply.

Available About 15 min to set up

What it does

Every hour, escalates HubSpot tickets past your response or resolution targets in a Microsoft Teams channel, with a suggested next reply.

  • Every hour, reads up to 100 open HubSpot tickets (any stage except your closed stage).
  • AI checks each against your first-response and resolution targets per priority and support hours.
  • Suggests the next reply for each overdue ticket, from the ticket's own text.
  • Posts a summary to your Microsoft Teams channel, with each owner's tickets as a reply under it.
  • Remembers what it escalated (7 days) and re-posts a ticket only after your re-alert interval.

What it needs

  • A paid plan (agents run live on paid plans).
  • An AI provider key (Settings → AI Providers).
  • HubSpot (with tickets) and Microsoft Teams, connected in Settings → Integrations. Microsoft Teams is waiting for Microsoft's approval, so this agent switches on once it's live.

What it doesn't do

  • It posts to one channel as the connected user; it doesn't DM or @mention owners (Teams has no find-user-and-DM action here).
  • It never replies to customers or changes tickets: alerts only.
  • Up to 100 open tickets per check; it watches one closed stage, so tickets in other pipelines' closed stages count as open.

Availability and plans

Available

Its workflow is built and tested, and every app it needs is live. You can get it and set it up now.

Included free on the Enterprise plan; on other paid plans it's a one-time purchase per workspace (the price is on the Agents page). The Agents page in the app always shows its current status.

Before you start

  • A paid plan: agents run live, and the Free plan only runs Dry Runs.
  • An AI provider key (OpenAI, Anthropic, Google and more) in Settings → AI Providers. AI usage is billed by your provider.
  • These apps, connected in Settings → Integrations: HubSpot and Microsoft Teams.
  • Nothing to send: the agent runs on a schedule.
  • About 15 minutes.

Set it up step by step

Get the agent first (buy it, or it's already yours when your plan includes it), then in Agents → My agents press “Set up this agent”. That creates the agent's workflow in your workspace (it counts towards your plan's workflow limit) and opens the canvas with a setup checklist above it. Each item links to the exact place to go and ticks itself off when it's done.

1. Connect your AI provider

The AI steps run on your own key (OpenAI, Anthropic, Google and more). Add one in Settings → AI Providers.

2. Connect HubSpot

Connect the HubSpot account your support tickets are in (Settings → Integrations → HubSpot).

3. Connect Microsoft Teams

Connect the Microsoft 365 account that should post the escalations (Settings → Integrations → Microsoft Teams).

4. Pick HubSpot and your closed stage

Open “Find open tickets”, pick your account and enter your closed stage id.

SettingWhat to enterIn step
HubSpot accountThe HubSpot account whose tickets are watched. Pick your connected HubSpot account.“Find open tickets”
Closed ticket stage idThe internal id of your closed stage: tickets in it are ignored. In HubSpot's default support pipeline it's 4 (Settings → Objects → Tickets → Pipelines shows the ids).“Find open tickets”

5. Write your targets

Open “Check the targets and suggest replies” and replace the placeholder with your targets, hours and owner names.

SettingWhat to enterIn step
Your SLA targetsReplace the placeholder with your first-response and resolution targets per priority (and a default), your support hours, how often to re-alert an overdue ticket and, optionally, each HubSpot owner id with the person's name. It starts as “[DESCRIBE YOUR FIRST-RESPONSE AND RESOLUTION TARGETS PER PRIORITY, YOUR SUPPORT HOURS, HOW OFTEN TO RE-ALERT AN OVERDUE TICKET, AND (OPTIONAL) EACH HUBSPOT OWNER ID WITH THE PERSON'S NAME HERE]” until you replace it.“Check the targets and suggest replies”

6. Pick the Teams channel

Open “Post the escalation summary” and pick your account, team and channel, then pick the same three in “Post the owner's tickets”.

SettingWhat to enterIn step
Microsoft Teams account (summary)The Microsoft 365 account that posts the messages (they appear as that person). Pick your connected Microsoft Teams account.“Post the escalation summary”
Team (summary)The team whose channel gets the messages.“Post the escalation summary”
Channel (summary)The channel your team reads, e.g. General or Ops.“Post the escalation summary”
Microsoft Teams account (owner lists)The Microsoft 365 account that posts the messages (they appear as that person). Pick your connected Microsoft Teams account.“Post the owner's tickets”
Team (owner lists)The team whose channel gets the messages.“Post the owner's tickets”
Channel (owner lists)The channel your team reads, e.g. General or Ops.“Post the owner's tickets”

7. Test it with Dry Run

Press Dry Run: the agent runs on sample data with no messages sent and nothing written to your apps.

8. Switch the trigger on

Open the trigger, set your time zone and switch the schedule on. It runs every hour.

How it works

The agent is a normal workflow with 11 steps (1 AI step). You can open, edit and monitor it like any other workflow.

  • Every hour — Runs on a schedule (cron 0 * * * *, UTC — change it in the trigger's settings). Runs at the top of every hour. Set your time zone on the trigger (or narrow the schedule to your support hours).
  • Recall earlier alerts — Recalls what it remembered earlier (memory “ticket-sla-watch-teams”). Reads which tickets were already escalated and when, so an overdue ticket isn't re-posted every hour.
  • Find open tickets — HubSpot: Find records. Reads up to 100 tickets that aren't in your closed stage from HubSpot.
  • Check the targets and suggest replies — AI step (runs on your AI provider key). AI keeps the tickets past your first-response or resolution targets, suggests the next reply for each and groups them by owner.
  • Anything newly overdue? — Decision: picks the branch to follow. When nothing new is past target, nothing is posted.
  • Nothing new — Kept in the run history. Branch: Nothing new. No new ticket past target; the run history keeps the check.
  • Post the escalation summary — Microsoft Teams: Send a channel message. Branch: Past target. Posts the hour's summary to your support channel in Teams; each owner's list goes in the replies.
  • Each owner — Repeats the steps below for each item (up to 50 per run). Repeats once per owner with overdue tickets (up to 50 owners).
  • [For each item — “Each owner”] Post the owner's tickets — Microsoft Teams: Reply to a channel message. Replies under the summary with this owner's overdue tickets and a suggested next reply for each.
  • Remember the alerts — Remembers it for later runs (memory “ticket-sla-watch-teams”, kept 7 days). Saves which tickets were escalated and when (kept 7 days), so they're re-posted only after your re-alert interval.
  • Escalated — Kept in the run history. The run history keeps the summary and the owner lists.

Test it with Dry Run

Press Dry Run in the canvas. The agent runs on the sample data stored on its trigger (the “Sample data for Dry Run” box), so you can check every step's output before anything is live.

  • Nothing is sent or written: app actions, emails and Slack posts are simulated, and AI steps don't call your AI provider.
  • For-each loops repeat only the first 3 items.
  • Memory steps don't read or write stored memory: a recall finds nothing, and a save only shows what it would store.

Go live

  • Open the trigger, set your time zone and switch the schedule on. It runs every hour.
  • Scheduled runs start only once the schedule is activated, and can't repeat faster than your plan's minimum interval.
  • The setup checklist adds a “paid plan” item before activation: live runs need a paid plan (the Free plan only runs Dry Runs).
  • When every checklist item is done and the trigger is on, the checklist says “Live — this agent is running”. Follow its runs in the workflow's History tab and in Analytics → Agents.

Questions

Will it post the same ticket every hour?

No. It remembers when each ticket was escalated (for 7 days) and re-posts it only after the re-alert interval you set (4 hours by default).

Does it @mention owners?

No. It posts in one channel as the connected user and names owners (map HubSpot owner ids to names in your targets).

Troubleshooting

  • “No AI provider connected” or a rejected key: connect or fix the key in Settings → AI Providers, then press Test there.
  • A checklist item stays unticked: the setting is still empty or still contains its placeholder text. Open the step from the checklist and fill it in.
  • An app step fails with “Needs reconnect”: the account's access was revoked or expired. Reconnect it in Settings → Integrations.
  • It didn't run at the expected time: the schedule must be activated, and its time is in the trigger's timezone.
  • A step failed: open the run in History and check that step in the Trace tab for the error and what it received.

Generated from the agent's own workflow, so it always matches what the agent does. Last updated .