Campaigns
A campaign invites a group of people to take an assessment, then manages the mails and reminders that drive participation. This page covers what a campaign is made of and how to work with it.
What a campaign references
A campaign is not standalone — it points at two things that live in the system:
- A report variant (
variant). A system holds many variants (e.g.ScaleUp2,LeadVision,QuartSessPrep,RockHabits, …). The campaign'svariantfield is a variant's alias. - A language (
language). Each variant supports its own set of languages, and one is marked as the default. A campaign'slanguagemust be one the chosen variant actually supports (e.g.enUS,esES,nlNL,frFR).
Because the valid languages differ per variant, you pick the variant first, then a language from that variant's list.
Closing behaviour
A campaign can end in one of three ways (as in the admin "Add Campaign" wizard):
| Option | Meaning | API |
|---|---|---|
| Open end | Never closes; must be closed manually. | end: null |
| Auto-close | Closes automatically once all participants finish. | end: null |
| Ends after | Closes at a fixed date/time. | closingtype: "date" + an end datetime |
The exact closingtype values for open-end and auto-close are being confirmed.
Key fields
See the Endpoints page for the full data model. The fields you'll set
most often: name, variant, language, start, end / closingtype, and the
mail settings (autoinvite, autoreminder, sendmemberconfirmation,
sendreportdelivery). Server-managed fields like campaignid, created,
membercount and memberstatuscount are returned but not set by you.
Managing campaigns from Claude
The MCP connector exposes the full /campaigns family — list, get, create, update,
delete, manage members, and pull reports. See MCP Tools for the
complete list.
Always dupecheck before creating. Run esperto_campaigns_dupecheck with the
candidate name first, the same best practice as members and groups.
⚠️
inviteandremindsend real email.esperto_invite_campaign_membersandesperto_remind_campaign_membersdispatch actual invitation/reminder messages to the campaign's members. Only run them against a campaign whose members are addresses you control, and confirm before sending.
Status
Reading campaigns and their members works today. The exact POST /campaigns write
contract (which fields are required, and the precise closingtype values) is being
finalised — contact us if you need it before it lands here.