Reports & analytics
Pipeline report and forecast, goals, sales analytics from the ERP (by customer, salesperson, country, brand, category, product), receivables, cockpit figures and credits.
Two families of numbers. The pipeline report is about deals, tasks and activities in Meetzy. Sales analytics is about what was really sold: quotes, orders, invoices and credit notes synced from an ERP, a shop, a file or the API (see Data sources) — net sales excl. tax, in the main currency, compared like for like.
/reports/summaryPipeline report and forecastGET/goalsList goalsPOST/goalsCreate a goalPATCH/goals/{id}Update a goalDELETE/goals/{id}Delete a goalGET/analytics/forecastSales forecast (ERP)GET/analytics/salesSales analytics (ERP)GET/widgets/erpERP figures for the cockpitGET/widgets/desktopDesktop widget snapshotGET/creditsCredits balance and usage/reports/summaryPipeline report and forecast
For a period: KPIs (pipeline value, weighted pipeline, won value and count with change, win rate, average deal, sales cycle, deals created, new contacts, activities, forecast commit / best case, overdue deals, tasks), deals by stage, funnel, forecast by close month, trend, activity by type and per day, leaderboard per owner, loss reasons, deals by source, goals with progress, and stuck deals.
Query parameters
periodstringweek,month,quarter,year,last_month,last_quarter,last_year,d30,d90,m12(last 12 months) orall. Defaultmonth. Changes are against the previous period of the same length.pipeline_iduuid- Only one pipeline.
ownerstring- Only one owner (email).
curl "https://meetzy.me/api/v1/reports/summary?period=quarter" \ -H "Authorization: Bearer $MEETZY_API_KEY"
const res = await fetch("https://meetzy.me/api/v1/reports/summary?period=quarter", {
headers: { Authorization: `Bearer ${process.env.MEETZY_API_KEY}` },
});
const data = await res.json();import os, requests
res = requests.get(
"https://meetzy.me/api/v1/reports/summary?period=quarter",
headers={"Authorization": f"Bearer {os.environ['MEETZY_API_KEY']}"},
)
data = res.json(){
"period": "quarter",
"start": "2026-09-30T22:00:00.000Z",
"end": "2026-12-31T23:00:00.000Z",
"currency": "EUR",
"kpis": {
"pipeline_value": 12000,
"open_deals": 1,
"weighted_pipeline": 7200,
"won_value": 0,
"won_count": 0,
"won_change": 0,
"lost_count": 0,
"win_rate": 0,
"win_rate_prev": 0,
"avg_deal_size": 12000,
"sales_cycle_days": 0,
"deals_created": 1,
"deals_created_change": 100,
"new_contacts": 1,
"new_contacts_change": 100,
"activities": 8,
"activities_change": 100,
"forecast_commit": 0,
"forecast_best_case": 12000,
"forecast_closing": 12000,
"overdue_deals": 0,
"tasks_overdue": 0,
"tasks_today": 1,
"tasks_open": 10
},
"by_stage": [
{
"id": "qualification",
"name": "Qualification",
"color": "#6366F1",
"probability": 10,
"count": 0,
"value": 0,
"weighted": 0
},
{
"id": "discovery",
"name": "Discovery call",
"color": "#3B82F6",
"probability": 20,
"count": 0,
"value": 0,
"weighted": 0
}
],
"funnel": [
{
"id": "qualification",
"name": "Qualification",
"reached": 1,
"conversion": 100
},
{
"id": "discovery",
"name": "Discovery call",
"reached": 1,
"conversion": 100
}
],
"forecast": [
{
"month": "2026-09",
"label": "Oct 26",
"pipeline": 0,
"weighted": 0,
"won": 0,
"count": 0
},
{
"month": "2026-10",
"label": "Nov 26",
"pipeline": 12000,
"weighted": 7200,
"won": 0,
"count": 1
}
],
"trend": [
{
"month": "2026-04",
"label": "May",
"won": 0,
"deals_won": 0,
"deals_created": 0
},
{
"month": "2026-05",
"label": "Jun",
"won": 0,
"deals_won": 0,
"deals_created": 0
}
],
"activity_by_type": [
{
"type": "call",
"count": 6,
"prev": 0
},
{
"type": "email",
"count": 0,
"prev": 0
}
],
"activity_daily": [
{
"date": "2026-09-23",
"label": "Sep 24",
"calls": 0,
"emails": 0,
"meetings": 0,
"linkedin": 0,
"total": 0
},
{
"date": "2026-09-24",
"label": "Sep 25",
"calls": 0,
"emails": 0,
"meetings": 0,
"linkedin": 0,
"total": 0
}
],
"leaderboard": [
{
"email": "olivia@acme.com",
"name": "Olivia Martin",
"memoji": null,
"won_value": 0,
"won_count": 0,
"win_rate": 0,
"pipeline": 12000,
"calls": 6,
"emails": 0,
"meetings": 0,
"activities": 8,
"open_tasks": 10
}
],
"lost_reasons": [],
"by_source": [
{
"source": "Unknown",
"count": 1,
"won": 0,
"value": 0
}
],
"goals": [],
"rotting": [],
"pipelines": [
{
"id": "cacafee6-6c63-407f-a948-5d6570c20143",
"name": "Sales pipeline",
"is_default": true
},
{
"id": "d9b0bf57-c46d-451f-adc0-adb7d2d43938",
"name": "Partners",
"is_default": false
}
]
}curl "https://meetzy.me/api/v1/goals" \ -H "Authorization: Bearer $MEETZY_API_KEY"
const res = await fetch("https://meetzy.me/api/v1/goals", {
headers: { Authorization: `Bearer ${process.env.MEETZY_API_KEY}` },
});
const data = await res.json();import os, requests
res = requests.get(
"https://meetzy.me/api/v1/goals",
headers={"Authorization": f"Bearer {os.environ['MEETZY_API_KEY']}"},
)
data = res.json(){
"goals": [
{
"id": "caec41a9-910e-4891-ad3e-899cb955602e",
"user_from": "acme",
"owner_email": null,
"metric": "revenue_won",
"period": "month",
"target": 50000,
"created_at": "2026-10-07T13:23:41.485554+00:00"
}
]
}/goalsCreate a goal
A target for the team or one person. Progress (actual, % reached, % of the period elapsed) shows in GET /reports/summary.
Body
metricstringrequiredrevenue_won,deals_won,deals_created,meetings,callsoractivities.targetnumberrequired- Target value.
periodstringweek,month,quarteroryear.owner_emailstring- One person (empty = the team).
curl -X POST "https://meetzy.me/api/v1/goals" \ -H "Authorization: Bearer $MEETZY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "metric": "revenue_won", "period": "quarter", "target": 150000 }'
const res = await fetch("https://meetzy.me/api/v1/goals", { method: "POST", headers: { Authorization: `Bearer ${process.env.MEETZY_API_KEY}`, "Content-Type": "application/json" }, body: JSON.stringify({ "metric": "revenue_won", "period": "quarter", "target": 150000 }), }); const data = await res.json();
import os, requests
res = requests.post(
"https://meetzy.me/api/v1/goals",
headers={"Authorization": f"Bearer {os.environ['MEETZY_API_KEY']}"},
json={
"metric": "revenue_won",
"period": "quarter",
"target": 150000
},
)
data = res.json(){
"id": "caec41a9-910e-4891-ad3e-899cb955602e",
"user_from": "acme",
"owner_email": null,
"metric": "revenue_won",
"period": "month",
"target": 50000,
"created_at": "2026-10-07T13:23:41.485554+00:00"
}/goals/{id}Update a goal
Path parameters
idstringrequired- Id of the record (UUID).
Body
metricstring- Metric.
targetnumber- Target.
periodstring- Period.
owner_emailstring- Owner.
curl -X PATCH "https://meetzy.me/api/v1/goals/e43414d6-f56f-42be-a64c-a836d6015efc" \ -H "Authorization: Bearer $MEETZY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "target": 180000 }'
const res = await fetch("https://meetzy.me/api/v1/goals/e43414d6-f56f-42be-a64c-a836d6015efc", { method: "PATCH", headers: { Authorization: `Bearer ${process.env.MEETZY_API_KEY}`, "Content-Type": "application/json" }, body: JSON.stringify({ "target": 180000 }), }); const data = await res.json();
import os, requests
res = requests.patch(
"https://meetzy.me/api/v1/goals/e43414d6-f56f-42be-a64c-a836d6015efc",
headers={"Authorization": f"Bearer {os.environ['MEETZY_API_KEY']}"},
json={
"target": 180000
},
)
data = res.json(){
"id": "b1c2d3e4-f5a6-4b7c-8d9e-0f1a2b3c4d5e",
"user_from": "acme",
"owner_email": null,
"metric": "revenue_won",
"period": "quarter",
"target": 180000
}curl -X DELETE "https://meetzy.me/api/v1/goals/e43414d6-f56f-42be-a64c-a836d6015efc" \ -H "Authorization: Bearer $MEETZY_API_KEY"
const res = await fetch("https://meetzy.me/api/v1/goals/e43414d6-f56f-42be-a64c-a836d6015efc", { method: "DELETE", headers: { Authorization: `Bearer ${process.env.MEETZY_API_KEY}` }, }); const data = await res.json();
import os, requests
res = requests.delete(
"https://meetzy.me/api/v1/goals/e43414d6-f56f-42be-a64c-a836d6015efc",
headers={"Authorization": f"Bearer {os.environ['MEETZY_API_KEY']}"},
)
data = res.json(){
"deleted": true
}/analytics/forecastSales forecast (ERP)
The next months of sales (6 by default), month by month, from what your ERP or shop synced. Two models blended: customer by customer (run-rate, own trend vs last year, season, when their next orders should fall, how likely they still buy) plus what new customers usually bring; and the whole business (deseasonalised level, damped trend, seasonality). Both forecast the last 6 complete months from the data before them (backtest): their errors set the blend, a bias correction and the bands (low / high ≈ 2 chances in 3). Also customers (forecast, last 6 months, same period last year, status new / active / at_risk / dormant, rhythm, next order expected), brands (each customer’s forecast split by what they bought in 12 months) and reps. Recomputed when new documents are synced (else cached 30 minutes).
Query parameters
monthsinteger- How many months, 3 to 12. Default 6 (the current month first).
basisstringinvoiced(default when invoices exist) orordered.
curl "https://meetzy.me/api/v1/analytics/forecast" \ -H "Authorization: Bearer $MEETZY_API_KEY"
const res = await fetch("https://meetzy.me/api/v1/analytics/forecast", {
headers: { Authorization: `Bearer ${process.env.MEETZY_API_KEY}` },
});
const data = await res.json();import os, requests
res = requests.get(
"https://meetzy.me/api/v1/analytics/forecast",
headers={"Authorization": f"Bearer {os.environ['MEETZY_API_KEY']}"},
)
data = res.json(){
"connected": true,
"enough": true,
"currency": "EUR",
"basis": "invoiced",
"months": [
{
"month": "2026-10",
"forecast": 1191000,
"low": 798000,
"high": 1585000,
"last_year": 1428000,
"so_far": 214000
}
],
"total": 5216000,
"total_low": 4754000,
"total_high": 5678000,
"same_period_last_year": 5487000,
"new_business": 253000,
"backtest": {
"error_pct": 28.5,
"total_error_pct": 5.9,
"accuracy_pct": 71.5
},
"customers": [
{
"id": "3cdc3e21-931a-4e8b-a189-3cab5dfbd636",
"name": "Lumière Paris",
"forecast": 229000,
"last_6m": 214000,
"status": "active",
"every_days": 31,
"next_order": "2026-10-19",
"active_pct": 100
}
],
"brands": [
{
"brand": "Guerlain",
"forecast": 336000,
"last_12m": 690000
}
],
"reps": [
{
"name": "Fabrizio",
"forecast": 965000,
"customers": 41
}
]
}/analytics/salesSales analytics (ERP)
The numbers of Meetzy’s Sales analytics page. KPIs for the period and the compared one (sales, docs, credits, customers, avg, units, new_customers, change) — compared to date while the period runs; a timeline; every year month by month (like for like); breakdowns by customer, rep, country and, when lines are synced, brand, category, product (each row: key, name, current, compare, change, share, docs, qty, last); receivables (open and past-due amounts, aging buckets, invoices); the documents; and options — the keys you can filter on. connected: false when nothing is synced.
Query parameters
periodstringweek,month,quarter,year,last_month,last_quarter,last_year,d30,d90,m12(last 12 months) orall. Defaultyear.fromdate- Custom start
YYYY-MM-DD(withto). todate- Custom end (with
from). comparestringlast_year(default),previousornone.basisstringinvoiced(invoices minus credit notes, default when invoices exist) orordered.groupstring- Timeline step:
day,week,month,quarter,year. Default: from the period length. scopestringme— only the key user’s sales.customerstring- Filter: customer keys, comma separated (from
options.customer). repstring- Filter: salesperson keys.
countrystring- Filter: countries.
brandstring- Filter: brands (line-level).
categorystring- Filter: categories (line-level).
productstring- Filter: product SKUs or names (line-level).
curl "https://meetzy.me/api/v1/analytics/sales?period=quarter&compare=last_year&brand=Pepe%20Jeans" \ -H "Authorization: Bearer $MEETZY_API_KEY"
const res = await fetch("https://meetzy.me/api/v1/analytics/sales?period=quarter&compare=last_year&brand=Pepe%20Jeans", {
headers: { Authorization: `Bearer ${process.env.MEETZY_API_KEY}` },
});
const data = await res.json();import os, requests
res = requests.get(
"https://meetzy.me/api/v1/analytics/sales?period=quarter&compare=last_year&brand=Pepe%20Jeans",
headers={"Authorization": f"Bearer {os.environ['MEETZY_API_KEY']}"},
)
data = res.json(){
"connected": true,
"source": "custom:sage-100",
"synced_at": "2026-10-07T13:21:04.195+00:00",
"currency": "EUR",
"has_lines": false,
"has": {
"invoiced": true,
"ordered": false,
"credit_notes": false
},
"basis": "invoiced",
"range": {
"start": "2026-01-01",
"end": "2026-12-31",
"to_date": true,
"compare": {
"incomplete": true,
"synced_from": "2026-10-07",
"mode": "last_year",
"start": "2025-01-01",
"end": "2025-10-07",
"full_end": "2025-12-31"
},
"group": "month"
},
"first_date": "2026-10-07",
"last_date": "2026-10-07",
"kpis": {
"current": {
"sales": 1200,
"docs": 1,
"credits": 0,
"customers": 1,
"avg": 1200,
"units": 0,
"new_customers": 1
},
"compare": {
"sales": 0,
"docs": 0,
"credits": 0,
"customers": 0,
"avg": 0,
"units": 0,
"new_customers": 0
},
"change": null
},
"timeline": [
{
"key": "2026-01",
"label": "Jan 26",
"current": 0,
"compare": 0,
"docs": 0
},
{
"key": "2026-02",
"label": "Feb 26",
"current": 0,
"compare": 0,
"docs": 0
}
],
"years": [
{
"year": 2026,
"months": [
null,
null,
null,
null,
null,
null,
null,
null,
null,
1200,
null,
null
],
"total": 1200,
"docs": 1,
"quarters": [
null,
null,
null,
1200
],
"change": null,
"compared_months": null,
"partial": true
}
],
"breakdowns": {
"customer": [
{
"key": "05762c5d-3e1e-4fcf-adfa-f989a30f8462",
"name": "Payfit",
"current": 1200,
"compare": 0,
"change": null,
"share": 100,
"docs": 1,
"qty": 0,
"last": "2026-10-07",
"company_id": "05762c5d-3e1e-4fcf-adfa-f989a30f8462"
}
],
"rep": [
{
"key": "olivia@acme.com",
"name": "Olivia Martin",
"current": 1200,
"compare": 0,
"change": null,
"share": 100,
"docs": 1,
"qty": 0,
"last": "2026-10-07",
"company_id": null
}
],
"country": [
{
"key": "Unknown",
"name": "Unknown",
"current": 1200,
"compare": 0,
"change": null,
"share": 100,
"docs": 1,
"qty": 0,
"last": "2026-10-07",
"company_id": null
}
]
},
"receivables": {
"reliable": true,
"old_invoices": 0,
"old_settled": 0,
"open_amount": 1200,
"open_count": 1,
"overdue_amount": 0,
"overdue_count": 0,
"aging": [
{
"id": "not_due",
"label": "Not due yet",
"amount": 1200,
"count": 1
},
{
"id": "d30",
"label": "1–30 days late",
"amount": 0,
"count": 0
},
{
"id": "d60",
"label": "31–60 days",
"amount": 0,
"count": 0
}
],
"invoices": [
{
"id": "83d62171-1cc8-466a-ad9c-f9fbce63d4bf",
"number": "F-1",
"date": "2026-10-07",
"due_date": null,
"customer": "Payfit",
"customer_key": "05762c5d-3e1e-4fcf-adfa-f989a30f8462",
"company_id": "05762c5d-3e1e-4fcf-adfa-f989a30f8462",
"rep": "Olivia Martin",
"country": "Unknown",
"amount": 1200,
"total": 1200,
"days_late": 0,
"age": "not_due"
}
]
},
"documents": [
{
"id": "83d62171-1cc8-466a-ad9c-f9fbce63d4bf",
"type": "invoice",
"number": "F-1",
"date": "2026-10-07",
"customer": "Payfit",
"company_id": "05762c5d-3e1e-4fcf-adfa-f989a30f8462",
"rep": "Olivia Martin",
"country": "Unknown",
"status": "open",
"amount": 1200,
"lines": 0
}
],
"documents_total": 1,
"options": {
"customer": [
{
"key": "05762c5d-3e1e-4fcf-adfa-f989a30f8462",
"name": "Payfit"
}
],
"rep": [
{
"key": "olivia@acme.com",
"name": "Olivia Martin"
}
],
"country": [
{
"key": "Unknown",
"name": "Unknown"
}
]
},
"other_currencies": []
}/widgets/erpERP figures for the cockpit
The tiles of the Sales cockpit: ordered and invoiced year to date and for the period (with change vs last year), average invoice, unpaid and overdue amounts, aging, payment reliability (payments.reliable: false means the ERP rarely marks invoices as paid, so open amounts are overstated), sales by month, top customers, sales by salesperson, overdue invoices, purchases.
Query parameters
periodstringweek,month,quarter,year,last_month,last_quarter,last_year,d30,d90,m12(last 12 months) orall. Defaultyear.scopestringteam(default) orme.
curl "https://meetzy.me/api/v1/widgets/erp?period=month&scope=me" \ -H "Authorization: Bearer $MEETZY_API_KEY"
const res = await fetch("https://meetzy.me/api/v1/widgets/erp?period=month&scope=me", {
headers: { Authorization: `Bearer ${process.env.MEETZY_API_KEY}` },
});
const data = await res.json();import os, requests
res = requests.get(
"https://meetzy.me/api/v1/widgets/erp?period=month&scope=me",
headers={"Authorization": f"Bearer {os.environ['MEETZY_API_KEY']}"},
)
data = res.json(){
"connected": true,
"currency": "EUR",
"year": 2026,
"kpis": {
"orders_ytd": 0,
"orders_count_ytd": 0,
"orders_change": null,
"invoiced_ytd": 1200,
"invoices_count_ytd": 1,
"invoiced_change": null,
"avg_invoice": 1200,
"unpaid_amount": 1200,
"unpaid_count": 1,
"overdue_amount": 0,
"overdue_count": 0,
"invoiced_period": 1200,
"invoiced_period_count": 1,
"invoiced_period_change": null,
"orders_period": 0,
"orders_period_count": 0,
"orders_period_change": null,
"spend_ytd": 0,
"has_spend": false,
"has_orders": false,
"has_invoices": true,
"customers_ytd": 1
},
"period": {
"id": "year",
"label": "This year",
"start": "2026-01-01",
"end": "2027-01-01",
"compare_start": "2025-01-01",
"compare_end": "2025-10-08",
"comparable": false,
"synced_from": "2026-10-07"
},
"aging": [
{
"id": "not_due",
"label": "Not due yet",
"count": 1,
"amount": 1200
},
{
"id": "d30",
"label": "1–30 days late",
"count": 0,
"amount": 0
}
],
"payments": {
"reliable": true,
"old_invoices": 0,
"old_settled": 0
},
"monthly": [
{
"month": 1,
"label": "Jan",
"this_year": 0,
"last_year": 0
},
{
"month": 2,
"label": "Feb",
"this_year": 0,
"last_year": 0
}
],
"top_customers": [
{
"company_id": "05762c5d-3e1e-4fcf-adfa-f989a30f8462",
"name": "Payfit",
"amount": 1200,
"count": 1,
"last": "2026-10-07"
}
],
"by_rep": [
{
"email": "olivia@acme.com",
"amount": 1200,
"count": 1
}
],
"overdue": [],
"other_currencies": []
}/widgets/desktopDesktop widget snapshot
What the macOS widgets show: today’s tasks, follow-ups due, hot leads, this month’s sales and quick actions, with meetzy:// links that open the app on the right screen. Works with a read-only key — ideal for your own widgets, dashboards or a status bar.
curl "https://meetzy.me/api/v1/widgets/desktop" \ -H "Authorization: Bearer $MEETZY_API_KEY"
const res = await fetch("https://meetzy.me/api/v1/widgets/desktop", {
headers: { Authorization: `Bearer ${process.env.MEETZY_API_KEY}` },
});
const data = await res.json();import os, requests
res = requests.get(
"https://meetzy.me/api/v1/widgets/desktop",
headers={"Authorization": f"Bearer {os.environ['MEETZY_API_KEY']}"},
)
data = res.json(){
"generated_at": "2026-10-07T13:23:28.100Z",
"user": {
"name": "Olivia",
"email": "olivia@acme.com"
},
"currency": "EUR",
"today": {
"count": 10,
"overdue": 0,
"items": [
{
"id": "e3ecc019-a3ac-4a49-a642-3fbec133aa2e",
"title": "Intro call",
"type": "todo",
"due_at": "2026-10-07T17:23:10.013+00:00",
"overdue": false,
"who": "Camille Laurent",
"url": "meetzy://app/sales/contacts/8028ff76-1da4-451f-a0e7-dd91db772c20"
},
{
"id": "010c6058-d8ee-49f9-ae8d-2bb84f48ceb9",
"title": "Send deck",
"type": "todo",
"due_at": null,
"overdue": false,
"who": null,
"url": "meetzy://app/sales/tasks"
},
{
"id": "459ed592-bb05-46d6-afa7-2ca190787126",
"title": "Book the onsite",
"type": "todo",
"due_at": null,
"overdue": false,
"who": null,
"url": "meetzy://app/sales/tasks"
}
],
"url": "meetzy://app/sales/tasks"
},
"followups": {
"count": 0,
"items": [],
"url": "meetzy://app/crm?view=grid&filter=reminders:urgent"
},
"hot_leads": {
"items": [
{
"id": "8028ff76-1da4-451f-a0e7-dd91db772c20",
"name": "Camille Laurent",
"company": "Payfit",
"score": 40,
"url": "meetzy://app/sales/contacts/8028ff76-1da4-451f-a0e7-dd91db772c20"
}
],
"url": "meetzy://app/crm?view=grid"
},
"sales": {
"won_month": 0,
"won_count": 0,
"pipeline": 12000,
"open_deals": 1,
"new_leads": 0,
"hot": 0,
"erp": {
"currency": "EUR",
"invoiced_ytd": 1200,
"orders_ytd": 0,
"change": null,
"year": 2026
},
"url": "meetzy://app/sales"
},
"next_meeting": null,
"links": {
"home": "meetzy://app/dashboard",
"cockpit": "meetzy://app/sales",
"new_contact": "meetzy://action/new-contact",
"new_task": "meetzy://app/sales/tasks?new=1",
"search": "meetzy://action/search"
}
}/creditsCredits balance and usage
Monthly AI & data credits: total, used, remaining, reset date, usage by action and by teammate, recent consumption, and the cost of each action (revealing a contact, enriching a company, AI emails…).
curl "https://meetzy.me/api/v1/credits" \ -H "Authorization: Bearer $MEETZY_API_KEY"
const res = await fetch("https://meetzy.me/api/v1/credits", {
headers: { Authorization: `Bearer ${process.env.MEETZY_API_KEY}` },
});
const data = await res.json();import os, requests
res = requests.get(
"https://meetzy.me/api/v1/credits",
headers={"Authorization": f"Bearer {os.environ['MEETZY_API_KEY']}"},
)
data = res.json(){
"balance": {
"success": true,
"total": 500,
"used": 0,
"remaining": 500,
"unlimited": false,
"month_year": "2026-10",
"resets_at": "2026-10-31T23:00:00.000Z",
"plan": "starter",
"onboarding_done": false,
"dont_show_warning": "false"
},
"usage": {
"tracked": true,
"by_action": [],
"by_member": [],
"recent": []
},
"packs": [],
"actions": [
{
"id": "enrich_person",
"group": "prospecting",
"label": "Reveal a contact",
"desc": "Email, phone and profile of one person (refunded if nothing is found)",
"cost": 1
},
{
"id": "enrich_company",
"group": "prospecting",
"label": "Enrich a company",
"desc": "Firmographics, headcount and tech of one company",
"cost": 1
}
]
}