Every Command in the Cheerful CLI

Twenty-five command groups and 176 commands, grouped below by the job rather than alphabetically. This list is generated from the CLI's own command definitions, so it cannot quietly drift from what the binary accepts — but flags are not listed here, and cheerful <group> <command> --help is the reference for those.

Read the write commands as write commands. Anything named create, update, delete, launch, send, edit or bulk-edit does the real thing against your real account.

The Cheerful CLI exposes 25 command groups covering campaigns, creators, lists, threads, drafts, email, rules, integrations, gifting orders, post tracking and analytics.

Campaigns and creators

The main loop: build a campaign, put creators in it, launch it. campaigns launch and email send are real sends — the CLI is not read-only.

CommandWhat it does
cheerful campaigns listList all campaigns
cheerful campaigns getGet campaign details
cheerful campaigns createCreate a new campaign
cheerful campaigns updateUpdate campaign metadata
cheerful campaigns editEdit campaign fields (name, goal, rules, template, product-links)
cheerful campaigns cloneClone (duplicate) an existing campaign as a new draft
cheerful campaigns deleteDelete a campaign and all related data
cheerful campaigns launchLaunch a campaign Triggers: SendCampaignOutboxWorkflow Requires: >=1 sender, >=1 recipient with email, outbox populated Returns: { workflow_id: String, run_id: String } Use cheerful schema commands campaigns.launch for full JSON schema
cheerful campaigns add-recipientsAdd recipients to campaign by email addresses
cheerful campaigns upload-csvUpload recipients/creators from a CSV file
cheerful campaigns test-emailSend a test email using the campaign's template to a given address
cheerful campaigns set-labelSet custom Shopify order label on a campaign's order drafting workflow
cheerful campaigns statusGet campaign outbox status
cheerful campaigns merge-tagsGet available merge tags
cheerful campaigns summaryGenerate AI client summary
cheerful campaigns senders removeRemove a sender from a campaign by its email address
cheerful campaigns recipients addAdd recipients from CSV
cheerful campaigns recipients searchSearch for recipients
cheerful creators list createCreate a new creator list
cheerful creators list addAdd a creator to a list
cheerful creators list removeRemove a creator from a list
cheerful creators list viewView creators in a list
cheerful creators searchSearch creators by keyword or similarity
cheerful creators lookalikeFind lookalike/similar creators based on a seed handle
cheerful creators enrichEnrich a creator profile Triggers: EnrichForCampaignWorkflow Use cheerful schema commands creators.enrich for full JSON schema
cheerful creators profileGet creator profile
cheerful creators campaign-creatorsList creators in a campaign
cheerful creators getGet a specific campaign creator
cheerful creators inspectInspect a creator's full state within a campaign Shows creator fields, workflow executions, and thread state in one view.
cheerful creators tableView context-aware creator table for a campaign Calls GET /campaigns/{campaign_id}/unified-recipients
cheerful creators exportExport campaign creators as CSV Fetches all creators from GET /campaigns/{id}/unified-recipients and writes CSV
cheerful creators viewView creator profile details by handle
cheerful creators importImport creators from a CSV file into a creator list CSV must have columns: handle, platform, email (required), follower_count (optional). If --list-id is not provided a new list is created automatically.
cheerful creators removeRemove a creator from a campaign (and associated threads/orders) Calls DELETE /campaigns/{campaign_id}/creators/{creator_id}
cheerful creators add-to-campaignAdd a single creator or bulk-add via CSV to a campaign
cheerful lists listList all creator lists
cheerful lists getGet list details
cheerful lists createCreate a new list
cheerful lists updateUpdate a list
cheerful lists deleteDelete a list
cheerful lists creators listList creators in a list
cheerful lists creators addAdd a creator to a list by UUID
cheerful lists creators removeRemove a creator from a list
cheerful lists creators importBulk import creators from CSV
cheerful csv importImport data from a CSV file
cheerful csv exportExport data to a CSV file

Replies and drafts

Everything after a creator answers. drafts generate runs the same drafting the web app runs, and email send sends.

CommandWhat it does
cheerful threads listList email threads
cheerful threads viewView thread details (alias: get)
cheerful threads searchSearch threads
cheerful threads hideHide a thread
cheerful threads unhideUnhide a thread
cheerful threads nudgeManually trigger a follow-up draft for a thread (Gmail/SMTP only)
cheerful inbox listList inbox items by tab (pending, outbox, ignored, all)
cheerful inbox searchSearch across inbox tabs
cheerful inbox viewView full thread content
cheerful drafts getGet draft for a thread
cheerful drafts createCreate a draft
cheerful drafts updateUpdate an existing draft
cheerful drafts bulk-editBulk edit drafts for a campaign Triggers: BulkDraftEditWorkflow Requires: campaign_id + edit instructions Use cheerful schema commands drafts.bulk-edit for full JSON schema
cheerful drafts generateGenerate a draft via AI (Temporal workflow) Triggers: ThreadResponseDraftWorkflow Requires: thread_id with campaign association Returns: { draft_id: String, status: String } Use cheerful schema commands drafts.generate for full JSON schema
cheerful drafts inspectInspect draft state: DB drafts (UI + LLM) and thread metadata Shows both UI and LLM drafts for a thread, useful for debugging draft discrepancies.
cheerful email sendSend an email (approve existing draft or send custom body)
cheerful email scheduleSchedule an email for later
cheerful email scheduled listList scheduled emails
cheerful email scheduled cancelCancel a scheduled email
cheerful email scheduled rescheduleReschedule an email
cheerful email schedule-cancelCancel a scheduled email by its dispatch ID
cheerful email followup configureConfigure follow-up timing for a campaign
cheerful email followup enableEnable follow-up email sequences for a campaign
cheerful email followup disableDisable follow-up email sequences for a campaign
cheerful email draftsList drafts filtered by status
cheerful email draft approveApprove and send the existing draft for a thread
cheerful email draft editEdit the body (and optionally subject) of an existing draft
cheerful email bulk-editBulk-edit drafts across a campaign using an instruction template
cheerful email hideHide/ignore a conversation
cheerful email unhideUnhide a conversation
cheerful signature createCreate a new email signature (user-level or campaign-specific)
cheerful signature listList all signatures (optionally filtered by campaign)
cheerful signature viewView a specific signature by ID
cheerful signature updateUpdate a signature
cheerful signature deleteDelete a signature by ID
cheerful signature set-defaultSet a signature as the default

How the agent behaves

The per-campaign brief. Rules and FAQs are what drafts are generated against, so a constraint that is not written here is a constraint nothing enforces.

CommandWhat it does
cheerful rules listList rules for a campaign
cheerful rules addAdd a rule to a campaign
cheerful rules editEdit a specific rule by line number (1-based)
cheerful rules deleteDelete a specific rule by line number (1-based)
cheerful rules bulk-editBulk replace all rules for a campaign
cheerful rules applyApply campaign rules retroactively to existing drafts via bulk-draft-edit
cheerful faq listList FAQ entries for a campaign
cheerful faq addAdd a FAQ entry to a campaign
cheerful faq editEdit a FAQ entry by number (1-based)
cheerful faq deleteDelete a FAQ entry by number (1-based)
cheerful automations listList automation rules for a campaign
cheerful automations getGet automation rule details
cheerful automations createCreate a new automation rule
cheerful automations enableEnable an automation rule
cheerful automations disableDisable an automation rule
cheerful automations updateUpdate an automation rule
cheerful automations deleteDelete an automation rule
cheerful automations executionsList automation rule executions

Connections

Mailboxes, Google Sheets and the rest. Status and connect/disconnect only.

CommandWhat it does
cheerful auth loginLog in with OAuth (browser) or API key
cheerful auth logoutLog out and clear credentials
cheerful auth whoamiShow current authenticated user
cheerful integrations accountsList connected accounts (Gmail + SMTP)
cheerful integrations smtp listList SMTP accounts
cheerful integrations smtp addAdd an SMTP account
cheerful integrations smtp removeRemove an SMTP account
cheerful integrations signatures listList email signatures
cheerful integrations signatures createCreate a signature
cheerful integrations signatures updateUpdate a signature
cheerful integrations signatures deleteDelete a signature
cheerful integrations instantly statusCheck Instantly connection status
cheerful integrations instantly connectConnect Instantly
cheerful integrations instantly disconnectDisconnect Instantly
cheerful integrations instantly testTest Instantly connection
cheerful gmail listList connected Gmail accounts
cheerful sheet connectConnect a Google Sheet to a campaign
cheerful sheet disconnectDisconnect the Google Sheet from a campaign (clears sheet URL and config)
cheerful sheet tabsFetch available tab names from a Google Sheet URL
cheerful sheet configureConfigure sheet column mapping and skip/target column settings

Gifting and results

Orders, discount codes, post detection and the numbers that come out.

CommandWhat it does
cheerful orders viewView order details for a specific campaign creator
cheerful orders listList orders for a campaign (defaults to all ordered creators)
cheerful orders createCreate a gift order for a creator (requires completed workflow execution)
cheerful orders digestTrigger daily order digest for a campaign (posts summary to Slack)
cheerful goaffpro list-codesList GoAffPro discount codes for a campaign
cheerful post-tracking enableEnable post tracking for a campaign
cheerful post-tracking disableDisable post tracking for a campaign
cheerful post-tracking scanManually trigger a post scan for a specific creator in a campaign
cheerful post-tracking listList detected posts for a campaign (or a specific creator)
cheerful post-tracking metricsView aggregated post metrics for a campaign
cheerful post-tracking addManually add a missed post to a campaign
cheerful analytics dashboardView dashboard analytics
cheerful analytics statusView campaign status report (outbox dispatch breakdown)
cheerful analytics engagementView engagement rates for a campaign
cheerful analytics funnelView funnel/pipeline for a campaign
cheerful analytics exportExport campaign analytics as CSV
cheerful analytics reportsView the server-computed posts report (/v1/posts/reports)

Operational groups, named but not enumerated

Five groups ship in the same binary and are not product surface: temporal (inspect and trigger workflow runs), workflows and schema (the embedded workflow and activity schema, for debugging what a command actually starts), config (the CLI’s own settings), and ssr (an experimental synthetic-consumer panel). They are real and they work; they are simply operational tooling, and cheerful <group> --help is a better reference for them than a page that would double in length.

If one of those becomes something you rely on, say so — that is the signal that would move it into this page properly.

What this does not do

  • Flags are not listed here. cheerful <group> <command> --help is the source for those, and it cannot be out of date.
  • Command aliases are omitted deliberately — thread, automation and a few others are accepted as singulars but are not separate commands.
  • The five operational groups are named rather than enumerated.
  • This page is generated from a committed snapshot of the CLI source, so a brand-new command can be live in the binary before it appears here.

Frequently asked questions

How many commands does the Cheerful CLI have?
Twenty-five groups and 176 commands, including nested ones such as cheerful integrations smtp add.
Where do I find the flags for a command?
cheerful <group> <command> --help. Flags are not reprinted here, because a help output cannot be stale and a docs page can.
Which commands write?
Anything named create, update, delete, launch, send, edit, clone, enable, disable or bulk-edit. Around a third of the surface writes.
What are the temporal, workflows and schema groups?
Operational tooling for inspecting and triggering the Temporal workflows behind the product. They work, they are just not product surface.

Run your next campaign
on Cheerful

From first hello to signed agreement — see how much of the work disappears.

Get started free