Motion

Motions: one Sequence run for the Contacts of your Team's Contact lists, from its sending Accounts, paced on a schedule. Create and edit drafts, preview, start, pause, resume, archive, add or remove Contacts; lint a Sequence and write a template offline. Your Team's data: every role reads; writes need motion-send on each sending Account, and Motions need the Automate plan.

Before you start: an API key and a connected LinkedIn account, see the Quickstart.

Commands

CommandDescription
curviate motion listList your Team's Motions, most recently updated first. Items carry no Sequence: read one with curviate motion get <motion_id>.
curviate motion getOne Motion with its current Sequence and lint warnings. With --version, that Sequence version instead, and how many Enrollments still run on it.
curviate motion createCreate a Motion from a Motion file, always as a draft: nothing runs until curviate motion start. The file is checked before anything is sent, its Sequence as curviate motion lint checks it.
curviate motion updateChange a Motion from a Motion file: objects (schedule, settings) merge by key, arrays and the Sequence replace whole, null clears. After start, a structural Sequence change makes a new version; running Enrollments keep theirs. With --if-revision the save is refused when someone saved the Sequence since.
curviate motion startStart a draft: scheduled when its start time is ahead, else active. Freezes Sequence version 1. A Motion missing what it needs is refused with every gap listed.
curviate motion pausePause an active or scheduled Motion: no Step runs until it is resumed. Waits keep their time.
curviate motion resumeResume a paused Motion. Runs the start checks again.
curviate motion archiveArchive a Motion: its open Enrollments end (motion_archived) and it never runs again.
curviate motion deleteDelete a draft Motion with its Sequence versions. Any other status: archive it instead.
curviate motion previewWhat the Motion would do, in any status: every path through its Sequence, rendered messages for sampled or named Contacts, and the budget projection. A read: never reaches LinkedIn, spends nothing.
curviate motion addEnroll Contacts directly, on an Account of the Motion (--account) or one Curviate assigns. Every exclusion and filter applies; each Contact's outcome says what happened. Sent in requests of up to 1000 ids, in order.
curviate motion removeTake Contacts out of the Motion: their open Enrollments end (removed). Sent in requests of up to 1000 ids, in order.
curviate motion lintCheck a Sequence offline with the rules the API applies: a Motion file (its sequence) or a bare Sequence document. One line per finding, <file>:<line>:<col> error|warning <code> <path>: <message>. <hint> -> <docs_url>; exit 2 on any error, 0 otherwise.
curviate motion initWrite a Motion file from a template (connect-and-converse, engage-then-connect, nurture-connections), its schedule in this machine's timezone. Fill contact_list_ids and account_ids, then create it.

Exit codes: the exit code table.