Define program
define_programCreate a top-level program (a parallel workstream like Investor Relations or Partnerships, a peer of the built-in Revenue motion). applies_to lists the object keys it claims; membership_spec ({pipeline_keys?, stage_roles?, lifecycle_roles?, sub_status_roles?}) decides which records land in it. Programs are define-only from here: there is no update or archive verb for them yet (an admin edits them in Settings → Behavior; describe_schema lists them with their ids). Returns the created program.
When to use: When an admin runs a workstream alongside Revenue — Investor Relations, Partnerships — that should get its own lane.
Example: I'm also raising money — set up an Investor Relations program.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| label | Yes | Display name. Its slug becomes the program key, which can't be revenue or a built-in phase key (pre_sales, sales, customer_success). | |
| applies_to | Yes | Object keys this program can claim records of, e.g. ["investor"] or ["opportunity"]; at least one is required. | |
| membership_spec | No | {pipeline_keys?, stage_roles?, lifecycle_roles?, sub_status_roles?}, string arrays; present dimensions must all match, absent = any. Default {} claims every applies_to record. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| program | No |