Operational Intelligence

Smart Alerts & Insights

ACOS watches your operational data 24/7 and surfaces problems before they become expensive mistakes. Twelve rule-based alert types, 20 data reports, statistical pattern recognition, on-demand AI coaching, and free-text AI queries — all running against your real data, no configuration required.

How Smart Alerts Work

Smart Alerts are deterministic rules — not AI or machine learning. Each alert type is a specific condition checked against your real operational data on a schedule. When the condition is met and a recent alert for the same entity doesn't already exist, ACOS creates an AIInsight record and shows it on your Dashboard.

There is nothing to configure. The rules run automatically for every organization.

Smart Alerts are deterministic, rule-based checks — not machine learning. They are available on Growth and Scale plans. Twelve alert types run on a schedule against your real operational data. When a condition is met, ACOS creates an alert and surfaces it on your Dashboard and the Insights page. Nothing to configure.

Alert Types

Budget Risk

WarningRuns: Nightly

Condition: Project has used more than 80% of its budget, but less than 60% of its tasks are complete.

Message: "[Project name] has used X% of its budget but only Y% of tasks are complete."

What to do: Review the project's scope. Either renegotiate with the client, cut scope, or accept a lower margin.

Margin Drop

WarningRuns: Triggered on project stat recalculation

Condition: Project margin drops below 15% for the first time (was previously above 15%).

Message: "Project [name] margin has dropped to X% — below your 15% threshold."

What to do: Check whether the drop is from non-billable hours accumulating, a billing rate misconfiguration, or genuine scope creep.

Overdue Invoice

Warning → CriticalRuns: Daily

Condition: Invoice has status = Sent and due_date is more than 7 days in the past.

Message: "Invoice [INV-XXXX] for [client] is [N] days overdue."

Escalation: A new alert is created every 7 days if the invoice remains unpaid. Severity escalates to Critical at 21 days overdue.

Stale Deal

InfoRuns: Daily

Condition: An open deal has no ContactActivity logged in the last 14 days.

Message: "Deal [name] has had no activity for [N] days."

What to do: Log a follow-up activity on the deal (call, email, note) or move it to Lost if it's no longer active.

Team Overallocation

WarningRuns: Weekly (Monday)

Condition: A team member's total estimated hours on tasks due in the next 4 weeks exceeds their available capacity (160h for a 40h/week person).

Message: "[Name] is projected at X% utilization over the next 4 weeks ([Y]h committed / 160h available)."

What to do: Reassign tasks, extend deadlines, or defer non-critical work.

Scope Creep

WarningRuns: Nightly

Condition: A project's total logged cost has exceeded 120% of its budget.

Message: "[Project] has spent [currency] [amount] against a [budget] budget (X% over)."

What to do: Review whether new tasks have been added after the original scope was defined, and whether those additions have been priced.

Payment Risk

WarningRuns: Weekly

Condition: A contact's average days-to-pay (across all historical invoices) exceeds 30 days AND they currently have an open invoice.

Message: "[Client] takes an average of [N] days to pay. An invoice is currently outstanding."

What to do: Follow up proactively before the invoice goes overdue. Consider requiring a deposit or shorter payment terms on future work.

Unbilled Revenue

InfoRuns: Weekly

Condition: A project has billable time entries older than 14 days that haven't been included on an invoice. Only fires when the estimated unbilled value exceeds 50% of your average paid invoice (to avoid noise on small amounts).

Message: "[Project] has [X]h of billable time older than 14 days that hasn't been invoiced."

What to do: Go to the project's time entries and raise an invoice for the unbilled hours.

Retainer Risk

WarningRuns: Weekly

Condition: A retainer period has consumed more than 80% of its allocated hours with more than 7 days still remaining in the period.

Message: "[Retainer] has used [X]% of its allocated hours with more than a week left in the period."

What to do: Notify the client, slow down delivery, or negotiate a top-up before the period ends.

Win Rate Drop

WarningRuns: Monthly

Condition: This month's deal win rate has dropped more than 15 percentage points below the 3-month rolling average.

Message: "Your win rate this month is [X]%, down [N] percentage points from the previous 3-month average of [Y]%."

What to do: Review recent lost deals for patterns — pricing, competition, proposal quality, or a specific deal source underperforming.

Idle Capacity

InfoRuns: Weekly

Condition: A team member logged fewer than 40% of their 40h capacity in the last 7 days.

Message: "[Name] logged only [X]h in the last 7 days ([Y]% of 40h capacity)."

What to do: Reassign work from overloaded team members, or check whether time tracking is being kept up to date.

Alert Deduplication

ACOS does not spam you with the same alert repeatedly. For most alert types, a new alert is only created if a similar alert for the same entity (same project, same deal, same invoice) does not already exist within the last 7 days.

Exception: Overdue Invoice alerts are re-created every 7 days if the invoice remains unpaid. This escalating recurrence is intentional — an invoice that's been ignored for 28 days needs more attention than one that's 8 days overdue.

Where Alerts Appear

LocationWhat shows
Dashboard — Alerts panelUp to 3 most recent unread warnings and criticals, above the KPI cards
Sidebar — Insights nav itemA count badge showing unread, non-dismissed alerts
/insights/ pageFull list of all alerts, filterable by severity and module

Managing Alerts

Reading an alert

Clicking on an alert marks it as read. The sidebar badge count decreases. Read alerts remain in the Insights list until dismissed.

Dismissing an alert

Each alert card has a Dismiss button. Dismissing hides the alert for you permanently (it won't reappear in your alerts list or on the Dashboard). Dismissal is per-user — if you dismiss an alert, other team members who haven't dismissed it can still see it.

Acting on an alert

Every alert links to the affected entity (project, deal, or invoice). Click the link to navigate directly to the problem. Resolving the underlying issue (e.g. marking an invoice paid, logging activity on a stale deal) doesn't automatically dismiss the alert — you must dismiss it manually.

The /insights/ Page

The full Insights page at /insights/ has three tabs:

  • Alerts — all rule-based alerts with severity chips (Critical / Warning / Info counts), module filter, and type filter. Each card expands inline to show the full body, a pattern chart (where applicable), an AI explanation (Growth+), and the direct link to the affected entity.
  • Reports — 20 pre-built data queries in a card grid. Pick a time period, click Run, see the result expand inline on the card. Growth+ plan required.
  • Ask AI — free-text AI queries against your org's aggregated data (Growth+ only).

Reports

The Reports tab lets you run 20 pre-built analytical queries against your live operational data. Access it from the /insights/ page — click the Reports tab.

Queries are grouped into five categories and displayed as cards. Select a time period at the top, then click Run on any card. Results expand inline — no page navigation required. Results are Redis-cached; use the re-run button to force a fresh calculation.

Profitability

  • Which projects were most profitable? — Ranked by gross margin %.
  • Which projects are dragging down my margins? — Bottom projects by gross margin %.
  • Who are my most profitable clients? — Aggregated margin across all client projects.
  • Which clients cost me more than they earn? — Clients with negative or sub-10% margin.
  • Which type of work is most profitable? — Fixed-price vs time-and-materials vs retainer.

Cash Flow

  • Which clients pay slowest? — Average days to payment per client.
  • How much money am I owed right now? — Aged receivables: 0–30 / 31–60 / 60+ days.
  • How much billable time hasn't been invoiced yet? — Unbilled hours and estimated value by project.
  • What revenue can I expect next month? — Weighted pipeline + active retainer value due.

Team

  • Who is working the most? — Utilization % per person, last 30 days.
  • What % of logged hours are billable? — Billable vs non-billable breakdown per person.
  • Who is overloaded next week? — Team members with >100% capacity commitment.

Pipeline

  • Which deals haven't had activity recently? — Open deals with no activity in 14+ days.
  • What deals are expected to close this month? — Open deals with expected close date this month.
  • Where do my best deals come from? — Win rate by deal source.
  • How long does it take to close a deal? — Average days from created to won.

Projects

  • Which projects are at risk right now? — Combined budget overage + scope creep score.
  • What tasks are overdue across all projects? — Open tasks past their due date.
  • Which projects are due in the next 14 days? — Active projects with % tasks complete.
  • Which projects have gone over estimated hours? — Projects where logged hours exceed estimate.

Reports are deterministic — they run directly against your database, no AI or LLM involved. All data stays within your organization. Results on period-based queries can be scoped to this month, this quarter, this year, or last 12 months.

On-Demand AI Features Growth+ Plan · Live

The following AI-powered features are live on Growth and Scale plans. They use Groq-hosted Llama models with your aggregated operational data — no personally identifiable information is ever sent to the AI.

  • Explain with AI — click "Explain with AI" on any expanded alert to get a 1–2 sentence plain-English explanation of why it fired and what to do. Stored on the alert so teammates see it too.
  • Deal Coaching — when a high-value deal goes stale, ACOS generates specific next-action suggestions based on your pipeline patterns and the deal's history. Fires automatically with a stale deal alert.
  • Project Health Narrative — an AI-written summary of a project's current status, risks, and remaining work. Available from any project detail page.
  • Statistical Pattern Recognition — four weekly analyses: margin patterns by project type, utilization trends, win rate by deal source, and cash flow seasonality. Results appear as pattern alerts with mini comparison charts.

Rate limits: 20 AI calls per org per day on Growth, 100 on Scale. All on-demand AI calls share this pool. The counter resets at midnight UTC.

Privacy: client names, team member names, deal titles, and personal data are stripped before any content reaches the AI provider. ACOS sends aggregated statistics and percentages only.

Ask AI Growth+ Plan · Live

The Ask AItab on the Insights page lets you type any free-form question about your business and get an AI answer against your org's live data. Examples:

  • Which of my clients is the most profitable this year?
  • Why is my margin lower than last quarter?
  • Which team member is most overloaded right now?
  • What deals should I prioritize closing this month?

ACOS builds a context payload from your org's operational data snapshot and passes it alongside your question. Responses are generated fresh — not cached. Each question consumes one call from your daily AI limit.

FAQ

I dismissed an alert but the problem is still there. Will I get a new alert?

Yes. If the underlying condition persists and the deduplication window (7 days) passes, ACOS will create a new alert. For example, a stale deal that stays stale will generate a new alert each week.

Why am I getting Budget Risk alerts for a project that's actually on track?

Budget Risk fires when cost consumption exceeds 80% AND task completion is below 60%. If your project is on track but tasks are just not being logged to Done in the system, the alert will still fire based on the task status data. Make sure your team updates task status regularly.

What is the difference between Smart Alerts, Reports, and Ask AI?

Smart Alerts are push — ACOS watches for conditions and creates an alert automatically. Reports are pull — you pick a pre-built query from a card grid and run it; results are deterministic, no AI. Ask AI is free-form pull — you type any question and get an AI-generated answer from your live data.

Can I configure the thresholds (e.g. change the margin threshold from 15% to 20%)?

Custom thresholds are not configurable in the current version. The thresholds (80% budget, 60% tasks, 15% margin, 14 days stale, 120% budget for scope creep, etc.) are fixed across all organizations. Custom alert rules are on the roadmap for Scale plan.

Can I turn off specific alert types?

Alert dismissal is per-user and per-alert. You cannot globally disable an alert type. If a specific alert type is generating too much noise, that often indicates a data quality issue (e.g. estimated hours not being set on tasks, or deal close dates not being kept current).