CLI  /  Command reference

Command reference

Every command the CLI exposes, grouped by what it does. Run `converly help` for the live list, or `converly help <command>` for one command's usage. Every data command prints one JSON document.

Start here

converly statusis the command an agent should run first, and again after each step. It returns an ordered checklist for a site: what’s done, what needs action (with the exact command to run), what to ask the user, and what only a human can verify.

Setup checklist
converly status [--site <site_id>]
The ordered setup checklist for a site. Defaults to the account’s only site. See Driving it as an agent for how to follow it.
Auth & account
converly login [--device] [--browser] [--signup] [--no-open] [--staging]
Log in. Default opens the browser on this machine; --device shows a code + URL you approve from any device (the way to log in headless). Credentials are stored in ~/.converly/config.json.
converly logout [--staging]
Forget the stored login for this deployment.
converly whoami
Show the current account, its subscription state and sites.
converly subscription
Plan, trial and billing state.
converly usage
Current usage against plan limits.
Sites & install
converly sites list [--limit N]
List the account’s sites.
converly sites get <site_id>
Fetch one site.
converly sites create [--name X] [--domain example.com] [--timezone Z]
Create a site. Most accounts already have a default site, so prefer sites update on it.
converly sites update <site_id> [--name X] [--domain example.com] [--timezone Z]
Update a site. Setting --domain is required before tracking works, since events from unknown domains are rejected.
converly install snippet <site_id>
Get the <script> tag to add to the website’s <head>.
converly install status <site_id>
Check whether tracking is live. Detection "confirmed" means proven; "never_seen" means no conversions captured yet, which is not proof the snippet is missing.
Destinations & handoffs
converly destinations types
Catalogue of ad platforms Converly can send conversions to.
converly destinations list
The account’s destinations and whether each is connected.
converly destinations get <type>
One destination’s connection state, e.g. google-ads.
converly destinations connect <type> --site <site_id>
Create a connect link for an ad platform. A human must open the returned url in a browser to authorize, then converly handoffs wait <id>.
converly destinations conversions <type> [--refresh]
List the conversion actions / pixel events available in a connected destination (the picker for flow configs).
converly handoffs get <handoff_id>
Check a connect link’s status once.
converly handoffs wait <handoff_id> [--timeout seconds]
Poll a connect link until it completes (default timeout 600s). Exits non-zero if it expires or is cancelled.
Triggers & catalogues
converly triggers [--platform webflow|wordpress|wix|framer]
Catalogue of trigger types and form-tool provider slugs. Use a slug from providers[] as the flow’s trigger integrationId.
converly triggers connect <source> --site <site_id>
Create a connect link for a trigger source that needs setup outside the CLI (the requires_connection providers like Typeform). A human opens the returned url and signs in to the platform, then converly handoffs wait <id>.
converly triggers options <source> --site <site_id> [--query <text>] [--limit N]
List a connected platform’s real forms / event types (with ids and names) so you can offer the user a specific one instead of inventing values.
converly actions <destination_type>
The action config schema + example for one destination. Read this before building a flow’s actions_config.
Flows
converly flows list [--site <site_id>] [--limit N]
List flows.
converly flows get <flow_id>
Fetch one flow.
converly flows create --site <id> --name <name> --trigger <slug> --destination <slug> [--conversion-id <id> | --event-name <name>] [--value N --currency USD] [--pages /a,/b] | --json '<body>'
Create a draft flow. The simple form covers one trigger + one destination; --json takes the full flow body for anything richer.
converly flows update <flow_id> --json '{"name":"..."}'
Update flow fields. Never pass status here, use publish/unpublish.
converly flows validate <flow_id>
Non-mutating publish-readiness check. Returns problems[] (blockers) and warnings[] (site not ready, e.g. domain missing).
converly flows publish <flow_id>
Publish a flow live. Also returns warnings[] about site readiness.
converly flows unpublish <flow_id>
Take a flow offline.
converly flows delete <flow_id> --yes
Delete a flow permanently. Requires --yes. If the flow is published, deleting also removes it from the live config, so it stops firing immediately.
Testing & events
converly test-event --flow <flow_id> [--action-id act-1] [--meta-code TEST123] [--reddit-id t2_xxx] [--tiktok-code TEST123] [--allow-real]
Fire a test conversion through a flow’s action to the real ad platform. Defaults to the flow’s first action. Pass a sandbox code (from each platform’s test tools) to keep the test out of real data. Destinations with no sandbox mode require --allow-real, which reports a real conversion, so the user must explicitly agree first.
converly events list [--site <id>] [--flow <id>] [--email x@y.com] [--status completed|failed] [--since ISO] [--until ISO] [--limit N]
Recent conversion events (bounded snapshot, max 100). Narrow with filters, there is no paging.
converly events get <event_id>
One event with per-destination delivery status and any pipeline notices.
Housekeeping & escape hatch
converly rules list
List recorded internal-traffic rules. Note: rules are recorded but not enforced yet, so matching submissions still fire to every destination.
converly rules create --ip 1.2.3.4 | --cidr 10.0.0.0/24 | --email-pattern '*@yourcompany.com' [--description X]
Record an internal-traffic exclusion rule. Not enforced yet (a planned feature), so don’t tell a user their traffic is being excluded.
converly api <GET|POST|PATCH|DELETE> <path> [--json '<body>']
Raw API request for anything not covered by a named command. Paths are relative to /api/v1, so write /flows, not /v1/flows. A raw DELETE requires --yes.