# How to Automate Daily Sales Reports with AI Summaries

> Published 2026-11-10
> Source: https://viktor.com/blog/automate-daily-sales-report

You automate daily sales reports with AI summaries by connecting your CRM to a system that pulls yesterday’s numbers every morning, compares them with your targets and the previous period, and writes a short summary in plain language that lands in Slack, Teams or email before the team starts. The summary should lead with what changed and what needs attention, not a wall of metrics. A good daily sales summary takes a rep under a minute to read and answers three questions: are we on track, what moved, and what should I do today.

The daily pipeline at a glance: trigger at a fixed time; pull new deals, stage moves, closed-won and closed-lost, activities and pipeline value from the CRM; compare against target, yesterday and the same day last month; write three to six lines of summary plus a short table; flag stalled deals and owners; post to the sales channel and DM each rep their own slice.

## What a good daily sales summary contains

Raw dashboards show everything. A summary chooses. Keep it to these blocks:

```json:object
{
  "_key": "k15",
  "_type": "table",
  "rows": [
    {
      "_key": "k9",
      "_type": "tableRow",
      "cells": [
        "Block",
        "Example"
      ]
    },
    {
      "_key": "k10",
      "_type": "tableRow",
      "cells": [
        "Headline",
        "“Month to date: $412k closed of $600k target (69%), 4 working days left.”"
      ]
    },
    {
      "_key": "k11",
      "_type": "tableRow",
      "cells": [
        "What moved",
        "“3 deals closed ($58k). 5 moved to proposal. 2 lost on price.”"
      ]
    },
    {
      "_key": "k12",
      "_type": "tableRow",
      "cells": [
        "Attention",
        "“Acme ($40k) has had no activity for 9 days. Owner: Dana.”"
      ]
    },
    {
      "_key": "k13",
      "_type": "tableRow",
      "cells": [
        "Pipeline health",
        "“Coverage for next month is 2.1x target, down from 2.6x last week.”"
      ]
    },
    {
      "_key": "k14",
      "_type": "tableRow",
      "cells": [
        "Today",
        "“4 proposals due, 2 contracts out for signature.”"
      ]
    }
  ]
}
```

Everything else lives in the CRM, one click away.

## Step 1: Decide the metrics and definitions

Agree which numbers appear and how each is calculated, in writing:

- **Closed won** by close date, not by created date.
- **Pipeline** as open deals in stages after qualification, weighted or unweighted (pick one).
- **Activity** as logged calls, meetings and emails, or meetings only.
- **Stalled** as no activity or stage change for a set number of days.

Arguments about definitions kill trust in automated reports faster than anything else. Settle them first.

## Step 2: Connect the data sources

Most of the data is in the CRM (HubSpot, Salesforce, Pipedrive, Close). Add other sources only if they change decisions: billing (Stripe, Chargebee) for actual revenue, a call recorder (Gong, Fireflies) for meeting counts, or a targets sheet in Google Sheets. Use read-only access.

## Step 3: Write the summary instructions

Treat the summary prompt like a brief to an analyst. Include:

- Who reads it (the whole team, the sales leader, each rep).
- The order of blocks above and the maximum length.
- What counts as “notable”: for example, any deal above $20k changing stage, any loss, any rep below 50% of their activity target.
- Tone: factual, no hype, numbers first.
- What not to do: no guessing at reasons it cannot see in the data.

## Step 4: Schedule and deliver

Run it before the team starts, for example 8:00 on weekdays. Post the team summary in the sales channel and send each rep a private version with only their deals and tasks. On Mondays, include the weekend and the week ahead; on the last day of the month, include the month’s final numbers.

## Step 5: Check accuracy for two weeks

For the first ten reports, have the sales ops owner compare the summary with the CRM. Check totals, that deals are attributed to the right owner, and that “stalled” is flagged correctly. Fix the definitions, not the summary text, when something is wrong.

## Step 6: Add follow-up actions

Once the numbers are trusted, the summary can do more than report:

- Ask the owner of a stalled deal for a next step and log the answer in the CRM.
- Draft the follow-up email for deals with no reply in a week, for the rep to approve.
- Post a short end-of-day recap of what changed since the morning.

This turns the report from something people read into something that moves deals. The admin around deals is covered in [sales process automation](https://viktor.com/blog/sales-process-automation).

## Daily, weekly and monthly reports

```json:object
{
  "_key": "k83",
  "_type": "table",
  "rows": [
    {
      "_key": "k79",
      "_type": "tableRow",
      "cells": [
        "Report",
        "Purpose",
        "Length"
      ]
    },
    {
      "_key": "k80",
      "_type": "tableRow",
      "cells": [
        "Daily summary",
        "Act today: attention items, tasks, progress to target",
        "3 to 6 lines"
      ]
    },
    {
      "_key": "k81",
      "_type": "tableRow",
      "cells": [
        "Weekly report",
        "Trends, forecast changes, coaching topics",
        "One page"
      ]
    },
    {
      "_key": "k82",
      "_type": "tableRow",
      "cells": [
        "Monthly review",
        "Results versus plan, win/loss themes, next month’s plan",
        "Deck or document"
      ]
    }
  ]
}
```

The daily summary should not try to be the weekly report. For the weekly version, see [how to automate weekly reports with AI](https://viktor.com/blog/replace-weekly-reporting-with-ai).

## Tools for automated sales summaries

```json:object
{
  "_key": "k96",
  "_type": "table",
  "rows": [
    {
      "_key": "k91",
      "_type": "tableRow",
      "cells": [
        "Option",
        "Best for",
        "Limits"
      ]
    },
    {
      "_key": "k92",
      "_type": "tableRow",
      "cells": [
        "Viktor (AI employee)",
        "Pulling CRM, billing and call data, writing the team and per-rep summaries, posting them in Slack or Teams and chasing stalled deals, all from a plain-language brief",
        "Needs agreed definitions and CRM access"
      ]
    },
    {
      "_key": "k93",
      "_type": "tableRow",
      "cells": [
        "CRM built-in AI (HubSpot Breeze, Salesforce Einstein)",
        "Summaries inside the CRM",
        "Stay in the CRM; limited delivery and follow-up"
      ]
    },
    {
      "_key": "k94",
      "_type": "tableRow",
      "cells": [
        "BI tools (Looker Studio, Power BI)",
        "Scheduled dashboards",
        "Charts, not written summaries"
      ]
    },
    {
      "_key": "k95",
      "_type": "tableRow",
      "cells": [
        "Workflow automation with an LLM step (Zapier, Make, n8n)",
        "A fixed daily digest",
        "Prompts and queries maintained by hand"
      ]
    }
  ]
}
```

Viktor is an [AI employee](https://viktor.com/ai-employee) who lives in Slack and Microsoft Teams and connects to 9,800+ tools, including HubSpot, Salesforce, Pipedrive, Stripe, Gong and Google Sheets. A sales leader can write: “Every weekday at 8:00, post yesterday’s sales summary in #sales with progress to target and stalled deals over $10k, and DM each rep their own list.” He sets up the scheduled task, writes the summary and follows up with owners when you ask. Read [what an AI employee is](https://viktor.com/blog/what-is-an-ai-employee) for how he works, or [AI for sales](https://viktor.com/blog/ai-for-sales) for more sales use cases.

## Common mistakes

- **Too many metrics.** If the summary is longer than a screen, nobody reads it.
- **No definitions.** Different numbers from the CRM and the summary end trust in a week.
- **Reporting without owners.** Every attention item needs a name.
- **Same report for everyone.** Reps want their deals; leaders want the team view.

## FAQ

### How do I automate a daily sales report?

Agree the metrics and definitions, connect your CRM with read-only access, write instructions for the summary, schedule it before the team starts and check it against the CRM for two weeks.

### What should a daily sales summary include?

Progress to target, what moved since yesterday, deals needing attention with owners, pipeline coverage and today’s key tasks.

### Can AI write sales summaries from HubSpot or Salesforce?

Yes. With a connection to the CRM, AI can query the data and write a plain-language summary on a schedule.

### How long should a daily sales summary be?

Three to six lines plus an optional small table. Detail stays in the CRM.

## Start tomorrow with the numbers that matter

Viktor works in Slack and Microsoft Teams, connects to your CRM and 9,800+ other tools, and writes the summary before your team logs on. [Start free with up to $100 in credits, no credit card](https://app.viktor.com/signup), and have him post tomorrow’s sales summary.