Agent setup guide
Ticket SLA Watch
Every hour, escalates HubSpot tickets past your response or resolution targets to each owner in Slack, with a suggested next reply.
What it does
Every hour, escalates HubSpot tickets past your response or resolution targets to each owner in Slack, 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 escalation channel in Slack, with each owner's tickets in its thread (@mentioning them when you map their Slack id).
- 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 Slack, connected in Settings → Integrations.
What it doesn't do
- It never replies to customers or changes tickets: alerts only.
- Up to 100 open tickets per check; very large queues need the search narrowed.
- Ticket age comes from HubSpot's created and first-reply dates; it doesn't read email threads.
- 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 Slack.
- 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 Slack
Connect the Slack workspace your support team uses (Settings → Integrations → Slack).
4. Pick HubSpot and your closed stage
Open “Find open tickets”, pick your account and enter your closed stage id.
| Setting | What to enter | In step |
|---|---|---|
| HubSpot account | The HubSpot account whose tickets are watched. Pick your connected HubSpot account. | “Find open tickets” |
| Closed ticket stage id | The 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 mapping.
| Setting | What to enter | In step |
|---|---|---|
| Your SLA targets | Replace 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 their Slack member id so owners are @mentioned. 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 THEIR SLACK MEMBER ID HERE]” until you replace it. | “Check the targets and suggest replies” |
6. Pick the Slack account and channel
Open “Post the escalation summary” and pick your account and channel, then pick the same account in “Post the owner's tickets”. Invite the app to private channels first (/invite @Fluxo Flow).
| Setting | What to enter | In step |
|---|---|---|
| Slack account | The Slack workspace escalations are posted to. Pick your connected Slack account. | “Post the escalation summary” |
| Escalation channel | The channel your support leads watch, e.g. #support-escalations. | “Post the escalation summary” |
| Slack account | The same Slack workspace, used to post each owner's list in the thread. Pick your connected Slack account. | “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”). 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 — Slack: Post a message. Branch: Past target. Posts the hour's summary to your support escalation channel; each owner's list goes in its thread.
- 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 — Slack: Reply in a thread. Replies in the summary's thread with this owner's overdue tickets and a suggested next reply for each (mentioning them when you mapped their Slack id).
- Remember the alerts — Remembers it for later runs (memory “ticket-sla-watch”, 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 reply to customers?
No. It suggests a next reply to the ticket owner in Slack; the owner replies from HubSpot.
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.
- Slack says the app isn't in the channel: in Slack, type /invite @Fluxo Flow in that channel (always needed for private channels).
- 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 .