English
English
English
English
Activities are the individual event records that SalesDash tracks — a call made, a deal closed, a meeting held, ad spend recorded. They are the raw material from which metrics are calculated.
SalesDash has five activity types:
Agent Activities are events performed by a specific agent — the most common type. They carry a type label (e.g. call, meeting, or a custom type defined by the provider), a moment, a value, and a contact key. Examples: a meeting booked, a form submitted, a pipeline stage reached.
Calls are voice calls with a duration, a result, and contact information. Used when the provider is a power dialer or telephony platform. Calls have additional fields optimised for telephony data.
Sales are closed deals with a proposition, contract value, and optional commission calculation. Used for revenue-based metrics. Sales have additional fields for financial data.
Periods are time intervals with a start and end timestamp. Used to represent ongoing states such as currently open deals or currently active customers.
Anonymous Activities are events not attributed to any specific agent. Used for data that exists at a project or campaign level rather than an individual level — ad spend is a typical example. Anonymous activities can still contribute to metrics, but they are not associated with an agent's performance.
Every agent activity records:
call, meeting, or a custom type defined by the provider)Activities are created by providers — either via a scheduled sync process or a webhook. Each activity carries an external_id and a provider_id that identify the source record. When the same combination is encountered again on a subsequent sync, SalesDash updates the existing activity rather than creating a duplicate.
Note that external_id does not have to map one-to-one with a record in the external system. A provider can construct a composite external ID by joining multiple components with | as a separator — this is the standard convention used across SalesDash integrations, including adapters like Make and Zapier.
Two common cases where this matters:
<deal_id> | <phase_id> so each transition gets its own unique ID.deal | 5 and introduction | 5 — keeps them distinct.A metric definition specifies what to aggregate — the source type, the aggregator (count, sum, average, etc.), any filters — and how to display the result (format, unit, phrasing). It does not specify who to aggregate for, over which period, or with which additional filters.
That context is supplied by whatever uses the metric. A competition uses the metric per agent over the competition's time window. A team goal uses it summed across the team. A dashboard widget uses it over a configurable date range. The same metric definition can power all of these simultaneously, each producing a different result because the surrounding context differs.
Because agent activities are linked to agents through external identities, only activities from linked identities contribute to agent-level results. Activities from unlinked external identities are stored but not counted.