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's variant field 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's language must 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.

⚠️ invite and remind send real email. esperto_invite_campaign_members and esperto_remind_campaign_members dispatch 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.

Was this helpful? Get in touch if something is missing or unclear.