Browse the docs

Agent setup guide

Case SLA Watch for Salesforce

Every hour, escalates Salesforce cases past your response or resolution targets to each owner in Slack, with a suggested next reply.

Available About 15 min to set up

What it does

Every hour, escalates Salesforce cases past your response or resolution targets to each owner in Slack, with a suggested next reply.

  • Every hour, queries up to 200 open Salesforce cases (oldest first) with priority, status, owner and dates.
  • AI checks each against your first-response and resolution targets per priority and support hours (first response = the case has left your “not responded yet” statuses).
  • Suggests the next reply for each overdue case, from the case's own subject and description.
  • Posts a summary to your escalation channel in Slack, with each owner's cases in its thread (@mentioning them when you map their Slack id).
  • Remembers what it escalated (7 days) and re-posts a case 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).
  • Salesforce (with API access and Cases) and Slack, connected in Settings → Integrations.

What it doesn't do

  • Targets are your own rules, not Salesforce Entitlements or Milestones; first response is judged from the case status.
  • It never replies to customers or changes cases: alerts only.
  • Up to 200 open cases per check; very large queues need the query narrowed.
  • It doesn't read case comments or email threads.

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: Salesforce 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 Salesforce

Connect your Salesforce org (Settings → Integrations → Salesforce). It needs API access (Enterprise edition or above).

3. Connect Slack

Connect the Slack workspace your support team uses (Settings → Integrations → Slack).

4. Pick your Salesforce org

Open “Find open cases” and pick your connected org.

SettingWhat to enterIn step
Salesforce accountThe Salesforce org whose cases are watched. The connected user must be able to see them. Pick your connected Salesforce account.“Find open cases”

5. Write your targets

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

SettingWhat to enterIn step
Your SLA targetsReplace the placeholder with your first-response and resolution targets per priority (and a default), the statuses that mean nobody has responded yet, your support hours, how often to re-alert and, optionally, each owner's email with their Slack member id so owners are @mentioned. It starts as “[DESCRIBE YOUR FIRST-RESPONSE AND RESOLUTION TARGETS PER CASE PRIORITY, WHICH CASE STATUSES MEAN NOBODY HAS RESPONDED YET (DEFAULT: New), YOUR SUPPORT HOURS, HOW OFTEN TO RE-ALERT AN OVERDUE CASE, AND (OPTIONAL) EACH CASE OWNER'S EMAIL 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 cases”. Invite the app to private channels first (/invite @Fluxo Flow).

SettingWhat to enterIn step
Slack accountThe Slack workspace escalations are posted to. Pick your connected Slack account.“Post the escalation summary”
Escalation channelThe channel your support leads watch, e.g. #support-escalations.“Post the escalation summary”
Slack account (thread replies)The same Slack workspace, used to post each owner's list in the thread. Pick your connected Slack account.“Post the owner's cases”

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-salesforce”). Reads which cases were already escalated and when, so an overdue case isn't re-posted every hour.
  • Find open cases — Salesforce: Run a SOQL query. Reads up to 200 open Salesforce cases (oldest first) with priority, status, owner and dates.
  • Check the targets and suggest replies — AI step (runs on your AI provider key). AI keeps the cases 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 case 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 cases (up to 50 owners).
  • [For each item — “Each owner”] Post the owner's cases — Slack: Reply in a thread. Replies in the summary's thread with this owner's overdue cases 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-salesforce”, kept 7 days). Saves which cases 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

How does it know a case got a first response?

Salesforce has no standard first-reply date without Entitlements, so it uses the case's status: a case still in a status you name (New by default) has had no response. Your targets are your own rules, not Salesforce Entitlements or Milestones.

Will it post the same case every hour?

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

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 .