3 operations. Call each with POST https://app.chirply.io/api/v1/actions/<name> and a bearer token; the response is { "data": { "action", "summary", "result" } }. A read badge means the operation changes nothing; write requires the credential’s write scope.
Activity calendar
activity.calendarread
The full per-day breakdown behind the Activity Calendar for a period: for each day, emails sent/opened/clicked/bounced, new subscribers, unsubscribes (distinct people who asked to stop, each on the first day they did, so the days add up to the period total), inbound/outbound phone calls, inbound/outbound one-to-one emails, automation runs, and successful payments, refunds, disputes, new customers and new subscriptions across every Stripe account connected to the account, plus the campaigns that went out that day with their send count and open rate. Also returns the period totals and two daily trend series (subscriber growth, and email + revenue). Money is integer cents. Read-only; changes nothing.
Parameters
Field
Type
Required
Description
view
"day" | "week" | "month"
optional
Which slice to report: a single day, the Sunday–Saturday week, or the whole calendar month. Defaults to month.
date
string
optional
Any date inside the period to report, as YYYY-MM-DD (or any ISO 8601 timestamp). Defaults to today. Ignored when `month` is given.
month
string
optional
Shorthand for a whole month, as YYYY-MM (e.g. 2026-08). Sets the view to month and overrides `date`.
Over MCP the same operation is the tool activity_calendar at https://app.chirply.io/api/mcp, same bearer token, same input.
Activity Log
activity.feedread
The dashboard's live activity feed, newest first — every new contact, call and text landing, auto-reply and broadcast going out, website visit, automation, and Stripe money movement (payments received, failed and refunded; subscriptions started and canceled) across every connected Stripe account, in one stream, each event naming the contact, deal and teammate it involves where known. Website visits and their individual pages include trafficClassification (status, label, confidence, agent, reason). Estimates distinguish identified_bot (self-reported crawler), suspected_bot, likely_human and unknown; provider identity and human identity are unverified. Grouped visits retain the strongest automation evidence across included pages, and legacy events without event-time evidence remain unknown. Website visits are grouped per visitor per sitting rather than one event per page view: each carries its recorded traffic attribution badges (including multiple sources and UTM/campaign details), the pages read (newest first), how many there were, and the visitor's IP address where the tracker recorded one — personal data under GDPR, so treat it accordingly. Every event naming a contact who has paid also carries that person's money — lifetime value net of refunds and monthly run rate in integer cents, how many payments and live subscriptions they have, and across how many connected Stripe accounts — so a website visit by a paying customer is distinguishable from one by a stranger; the field is absent for anyone who has never paid. This is the org-wide view (use contacts.list_activity for one person's timeline). Optionally narrow to certain event types — 'contacts' is newly added people and 'payments' is the Stripe bucket. Contacts a teammate has muted from the feed (contacts.set_feed_visibility) are left out here too. Reads nothing outside this org and changes nothing.
Only these event types. Any of: calls, texts, emails, contacts, notes, deals, tasks, meetings, payments, system, visitors, broadcasts, call:manual, call:inbound, call:sales_bridge, call:ai_agent, call:queue, call:predictive, call:voice_campaign, call:rvm, call:call_tracking, call:web_widget, call:other. A `call:<kind>` slug narrows to calls of that one kind — e.g. `call:sales_bridge` is only press-1 warm transfers, `call:ai_agent` only calls your AI voice agent placed or answered. Omit for everything.
Over MCP the same operation is the tool activity_feed at https://app.chirply.io/api/mcp, same bearer token, same input.
Activity summary
activity.summaryread
The Activity Calendar's headline totals for a period: emails sent, opened, clicked and bounced; new leads (`newSubs` — contacts created in the period) and unsubscribes (`unsubs` — distinct people who asked to stop hearing from the account in the period, counted once however many channels they left: unsubscribe links, the preference page or public opt-out form, texting STOP, replies asking to be removed, opting out on a call, spam complaints. Staff-added holds, imports, automations, Stripe-sync consent holds, double opt-in holds and bounces still block sending but are not unsubscribes and are not counted), the same pair the dashboard Activity card's Leads row shows; inbound and outbound phone calls; inbound and outbound one-to-one emails; automation runs; and successful payments, refunds, disputes, customers and subscriptions across every Stripe account connected to the account. Money is returned in integer cents plus a formatted string, with the currency. Read-only; changes nothing.
Parameters
Field
Type
Required
Description
view
"day" | "week" | "month"
optional
Which slice to report: a single day, the Sunday–Saturday week, or the whole calendar month. Defaults to month.
date
string
optional
Any date inside the period to report, as YYYY-MM-DD (or any ISO 8601 timestamp). Defaults to today. Ignored when `month` is given.
month
string
optional
Shorthand for a whole month, as YYYY-MM (e.g. 2026-08). Sets the view to month and overrides `date`.