Brief account owners when incidents hit their customers
When incident.io flags a customer-impacting incident, log it on the affected HubSpot accounts, task the right owners, and brief CS in Slack.
Build me an agent workflow that fans out customer-impacting incidents from incident.io into HubSpot and Slack so account owners and CS leads are never the last to know.
Trigger: an incident.io outgoing webhook on the incident_updated event. Configure the trigger so it accepts the webhook payload incident.io sends when an incident is declared or escalated.
When the webhook fires, the agent should:
1. Pull the incident id out of the webhook payload and call incident.io Show Incident to get the full record. From it, read the severity, current status, name and summary, whether it is marked internal, and any custom field listing affected customers or accounts. If the incident is internal-only, or the severity is below a configurable threshold (default: major and above), stop and do nothing.
2. For each affected customer name on the incident, call HubSpot Search Companies to find the matching company record. Match on company name, and fall back to domain if the custom field includes one. Keep track of any names that do not resolve to a HubSpot company so they can be flagged in the digest.
3. For each matched HubSpot company, call HubSpot Create Note and attach it to that company. The note should describe the current incident status in plain English, including incident name, severity, current status, a short summary, and a link back to the incident in incident.io.
4. For each matched HubSpot company, call HubSpot Create Task assigned to the company's account owner. The task subject should make it obvious this is a proactive outreach for an active incident, with a due date of today and high priority. If a company has no owner, do not create the task and instead flag the company in the digest so it can be routed manually.
5. Once every affected customer has been processed, call Slack Send a Message to post a single digest in a configurable channel (default: a shared support and CS room). The message should list each impacted account with what was logged (note created, task created and assigned to owner X, or skipped because no HubSpot match / no owner), plus the incident link so anyone reading can jump straight to incident.io.
Settings the user should be able to change without editing the workflow: minimum severity threshold, the Slack channel that receives the digest, and the wording or due date used for the HubSpot follow-up task.
Guardrails: never invent or create new HubSpot companies, never duplicate notes or tasks within the same incident update, and skip silently when the incident is internal-only or below the severity threshold.
Additional information
What does this prompt do?
- Listens for incident updates in incident.io and only runs on customer-impacting ones above a severity you choose.
- Finds the affected companies in HubSpot and writes a note on each record with the current status, summary, and a link back to the incident.
- Creates a follow-up task for each company's account owner so they can reach out before the customer does.
- Posts a single digest message in Slack listing every account that was logged, so support and CS leads have one place to track customer comms.
What do I need to use this?
- An incident.io account with permission to send outgoing webhooks for incident updates.
- A HubSpot login that can read companies and create notes and tasks on them.
- A Slack workspace and the name of the channel where the digest should land.
- A way to tell which incidents affect customers, usually a custom field on the incident listing impacted accounts.
How can I customize it?
- Set the minimum severity so only the incidents you care about trigger the fan out, for example only major or critical.
- Choose which Slack channel gets the digest, like a shared support and CS room or a dedicated customer comms channel.
- Tune what goes into the HubSpot note and task, such as wording for the follow-up, due date, priority, or which owner gets assigned when one is missing.
Frequently asked questions
Does this work if my incidents are internal only?
What if an affected customer is not in HubSpot yet?
Will it spam HubSpot every time the incident status changes?
Who gets the follow-up task in HubSpot?
Can I change which Slack channel gets the digest?
Stop letting your account owners hear about outages from their customers.
Connect incident.io, HubSpot, and Slack once, and Geni handles the customer-side fan out the moment an incident is escalated.