Agents
Agents are the engine of Sonora. Each one reads an account or contact, answers a specific question, and writes the result back to the record — health, renewal motion, an escalation risk, a competitor mention, a LinkedIn URL. They run every day across your whole book, so the work surfaces without anyone doing the research by hand.
You use agents two ways: enable one from the built-in library with a click, or write your own. Either way, the output becomes a queryable field that chat, Canvas, and actions all build on.
How an agent works
Section titled “How an agent works”Each agent is three things: a prompt, a set of data sources, and an output format.
The prompt describes what to find — in natural language, the same way you’d brief an analyst.
Data sources are scoped per agent. Internal sources cover everything Sonora has ingested: support tickets, meeting summaries with sentiment, product usage, feature requests, contact engagement. Web sources cover company sites, news, job postings, funding databases, and press releases. A tech-stack agent might use only web search; a renewal-risk agent might draw entirely from internal usage and support history.
The output format decides what gets written back: a number, a date, a yes/no, a URL, a free-text summary, or a value picked from a list you define. Structured outputs stay queryable from chat and Canvas; free-text outputs are for narrative briefs.
Results attach to customer or contact records. Run an agent once to backfill, or schedule it to refresh on a cadence.
The agent library
Section titled “The agent library”Sonora ships more than thirty pre-built agents. Enable the ones that match how your team works; each is a starting point you can duplicate and adjust. They group into a few families.
Account and company signals
Section titled “Account and company signals”Web-research agents that watch the world outside your stack.
| Agent | Detects |
|---|---|
| Exec Changes | C-suite and VP-level leadership changes |
| Funding | New rounds, IPOs, acquisitions |
| Layoff Check | Workforce reductions and WARN notices |
| M&A Activity | Mergers or acquisitions involving the account |
| Pre-Call Brief | A combined brief — recent news, health, open issues, next steps — before a meeting |
Renewal and expansion
Section titled “Renewal and expansion”| Agent | Output |
|---|---|
| Renewal Play | Classifies the motion: auto-renew, risk, or upsell |
| Renewal Intent | Reads signals for likelihood to renew |
| Expansion Opportunities | Flags accounts ripe for upsell |
| Multi-Product Activation | Whether the account uses three or more key features |
| Roadmap Match | Whether their open feature requests match what’s planned |
Risk and engagement
Section titled “Risk and engagement”| Agent | Output |
|---|---|
| Escalation Risk | Likelihood a support issue boils over |
| Low Engagement Warning | Accounts with no recent meetings or support contact |
| Onboarding Laggard | New accounts stalling before first value |
| Bad Call | Accounts with an eCSAT below 4 in the last two weeks |
| Sentiment Trend | The direction of customer sentiment over time |
Usage and activity
Section titled “Usage and activity”| Agent | Output |
|---|---|
| Usage Trend | The direction of product usage |
| Call Count (90d) | Meetings held in the last quarter |
| Hours Spent | Time invested in the account |
| Last Call Date | Date of the most recent meeting |
Voice of customer
Section titled “Voice of customer”| Agent | Detects |
|---|---|
| Competitor Mentions | Competitors named on calls or in tickets |
| Feature Mention | Specific features coming up in conversations |
| Unfulfilled Feature Requests | Requests open 90+ days or flagged high priority |
| G2 Review Candidate | Happy contacts worth asking for a review |
Sales-to-CS handoff
Section titled “Sales-to-CS handoff”| Agent | Output |
|---|---|
| Handoff (MEDDPICC) | A MEDDPICC brief assembled from the closed deal and early calls |
| Economic Buyer | Identifies the budget owner on the account |
People
Section titled “People”Contact-level agents that run on the people table.
| Agent | Finds |
|---|---|
| LinkedIn Lookup | A contact’s LinkedIn profile URL |
| Job Title Lookup | Current title |
| Public Mention | Recent news, interviews, or notable posts |
| Champion Status | Whether a contact reads as a champion or a detractor |
| Recently Promoted / Recently Departed | Job changes among your contacts |
Always-on agents
Section titled “Always-on agents”Three agents run automatically on every account, with no setup. Their outputs feed the others above.
eCSAT (estimated CSAT) scores every support interaction 0–10, with the detected emotions and themes that drove the score. eCSAT rolls up into a per-customer trend, so the relationship slope is visible before any human flags it.
Sentiment detects emotional tone in calls and tickets — a label from very negative to very positive, the specific emotions, and the key themes.
Escalation prediction estimates the probability that a support issue escalates, based on tone, issue age, and repeat contacts.
Customer health
Section titled “Customer health”Customer health is the agent most teams configure first. It distills the signals you choose into a single 1–10 number per account. Configure each signal independently — pick from product usage, meeting cadence, support volume, sentiment, renewal intent, or a custom enrichment from a custom agent. Each signal scores 1 (critical) to 10 (excellent). Each gets a weight from 0 to 10.
The final score is a straight weighted average:
Health Score = Signal₁ · Weight₁ + Signal₂ · Weight₂ + …⁄Weight₁ + Weight₂ + …
Worked example: Product Usage scores 8 at weight 10, Touchpoints scores 6 at weight 5, Sentiment scores 7 at weight 5. That gives (80 + 30 + 35) ÷ 20 = 7.3.
Signals with no available data drop out of both numerator and denominator, so missing inputs don’t drag the score down.
Status thresholds
Section titled “Status thresholds”The 1–10 score maps to a status through configurable bands. The defaults:
| Status | Score range |
|---|---|
| Thriving | 8 – 10 |
| Healthy | 6.5 – 8 |
| Emerging Concerns | 4 – 6.5 |
| At Risk | 0 – 4 |
Drag the threshold sliders in settings to match how your team actually talks about accounts. Every customer reclassifies instantly.
Critical overrides
Section titled “Critical overrides”Some signals matter so much that a single bad reading should override the average. Toggle Critical Override on a signal and set a threshold; if that signal scores at or below the threshold, the account is flagged At Risk regardless of the weighted score. A customer with strong usage and sentiment but an explicit non-renewal signal still surfaces — which is the point.
Custom agents
Section titled “Custom agents”When nothing in the library fits, write your own: a prompt, the data sources it can read, an output format, and when it runs. Common uses:
- Tech stack and competitor signals — what a customer uses, what they replaced, who else they’re evaluating
- ICP scoring — a fit score from public company data plus your account criteria
- Renewal context — usage trajectory, support load, sentiment change, last meaningful touchpoint
- Custom qualification — any rubric your team scores accounts against by hand today
Pick a structured output (number, date, boolean, list selection) when you want the result in dashboards and chat queries, or free text for a narrative brief.
Where agent outputs go
Section titled “Where agent outputs go”Agent results feed the rest of the product:
- Actions trigger on agent values. When health drops to At Risk or escalation probability crosses your threshold, a playbook fires and an action appears with context and a suggested next step.
- Chat treats agent outputs as queryable fields. “Show at-risk customers” pulls health; “show declining sentiment” pulls eCSAT trends.
- Canvas blocks render them — health distributions, satisfaction trends, the output of any custom agent.
- The customer profile shows them inline, with the date each was last computed and the data the agent used. Health and CSAT scores sync back to Salesforce or HubSpot so your team sees them where they already work.
Cost and rate limits
Section titled “Cost and rate limits”Agents that touch the web cost more than ones that read internal data only. Sonora rate-limits per-tenant runs to keep costs predictable; if you need a one-off backfill across thousands of records, talk to your account team first so we can scale up the budget for the run. See credits and rate limits for how this work is metered against your plan.