Skip to content

Daily report on new leads from Kommo

Business task

A sales manager needs to see every morning how many new leads came in over the previous day, which sources they came from, which managers they were assigned to, and which pipelines they're in. This lets you monitor manager workload, evaluate lead quality by source, and respond quickly to spikes or drops in inbound flow.

Connections

This report requires a Kommo CRM connection.

  • Connector: kommo
  • Required permissions: crm_read (read access to Kommo entities)
  • Connection status: active
  • Entities in the report: deals (lead), contacts (contact), companies (company), pipelines (pipeline)
  • Setup: in the connection settings, select the pipelines that should be included in the report

If Kommo uses multiple pipelines, make sure all the necessary ones are selected in the connection settings. Pipelines that aren't selected won't appear in the report.

Report settings

  • Name: New Kommo leads from yesterday
  • Report type: operational CRM report
  • Data source: all kommo connections
  • Date range: yesterday
  • Grouping: by lead source, responsible manager, pipeline, and deal status
  • Sorting: by lead count, descending
  • Timezone: Europe/Moscow

Parameters

json
{
  "date_range": "yesterday",
  "group_by": ["lead_source", "responsible_user", "pipeline_name", "status_name"],
  "sort": { "field": "leads_count", "direction": "desc" },
  "timezone": "Europe/Moscow",
  "limit": 1000
}

yesterday ensures that when run daily, the report always looks at the previous day. For extended analysis, switch to last_7_days and add grouping by creation date.

Metrics

MetricTypeDescription
leads_countnumberNumber of new leads
contacts_countnumberNumber of new contacts
companies_countnumberNumber of new companies
deals_with_contactnumberDeals with a linked contact
leads_without_managernumberUnassigned leads with no responsible manager

Calculated metric:

json
{
  "calculated_metrics": [
    {
      "name": "assignment_rate",
      "formula": "IF([leads_count] > 0, ([leads_count] - [leads_without_manager]) / [leads_count] * 100, 0)",
      "type": "percent",
      "description": "Percentage of leads assigned to a manager"
    }
  ]
}

If assignment_rate is below 95%, there are unassigned leads that need a manager's attention.

Filters

json
{
  "logic": "AND",
  "conditions": [
    {
      "field": "is_deleted",
      "operator": "EQUAL",
      "value": "false"
    },
    {
      "field": "created_date",
      "operator": "GREATER_OR_EQUAL",
      "value": "2026-07-01"
    }
  ]
}
  • is_deleted = false — excludes deleted deals
  • created_date >= 2026-07-01 — a safeguard against old data slipping in

To analyze a specific source: lead_source EQUAL "website_form" or lead_source IN ["instagram", "telegram", "facebook"].

Write mode

Mode: AppendDedup

CRM leads are a growing stream. Yesterday's leads don't change, so there's no need to rewrite the entire history every day. It's enough to append new records with deduplication on lead_id + created_date.

If leads can change status retroactively, use SoftRefresh.

Schedule

json
{
  "schedule": {
    "enabled": true,
    "interval": "daily",
    "time": "08:30",
    "timezone": "Europe/Moscow",
    "retry_on_failure": true,
    "max_retries": 2
  }
}

Daily at 8:30 AM. Only 2 retries — yesterday's data is definitely already available, so additional attempts would be unnecessary.

Expected result

  • Status: completed
  • Row count: sources × managers × pipelines × statuses (typically 30-150 rows)
  • Key metrics: total lead count, breakdown by source, manager workload, assignment percentage
  • Interpretation: a low assignment_rate means unassigned leads; 50+ leads on one manager is an overload; a lot of leads from a source with a low share reaching active statuses is a qualification problem
  • Export: delivery to Google Sheets, with optional Telegram notifications

Screenshot

[Screenshot]

[Screenshot]

Maintained by the LightLead Documentation Team · Last verified: 2026-07-26