Developer orgs and change sets
Free, separate organizations with sample data for building and testing against the platform, and change sets that promote what you built back to the org you came from.
A developer org is a separate SalesOS organization for building and testing integrations, actions, hooks, workflows and metadata without touching real data. Promote the result with a change set or with metadata as code.
Create one
Any active user with a verified email can own up to three developer
orgs. Create one under Settings → Developer → Developer orgs, with
salesos devorg create "<name>", or:
The new org is seeded with realistic sample accounts, contacts, leads, deals,
quotes with line items, activities and tasks (all on .example domains), and
shows a "Developer org — not for production data" banner. It is linked to the
org you created it from, which is where its change sets go.
| Code | Status | Meaning |
|---|---|---|
EMAIL_NOT_VERIFIED | 403 | Verify your email address first |
DEVELOPER_ORG_LIMIT | 403 | You already own three, or a record limit was reached (below) |
What you get
- On any plan: the core CRM (leads, contacts, accounts, deals, documents, quotes, orders, analytics), API access (API keys, GraphQL, OAuth apps, custom actions, before-save hooks, named credentials, custom events, metadata), webhooks, workflows and flows, custom fields and objects, validation rules, and import, export and the Bulk API. Other features follow your own plan.
- Email is delivered only to the developer who created the org; mail to anyone else is skipped.
- Limits: 3 members and 5,000 records per object.
- Lifetime: an org nobody uses for 60 days gets a warning email to its
creator and may be deleted after 90 days (and at least 7 days after the
warning). Any use resets the clock.
GET /v1/developer-orgsshows each org'sdeletesAt.
Switch in and out
Open switches your session into the developer org; the banner's Leave developer org switches back. The same over the API or CLI:
These routes are session only: API keys and OAuth tokens can't reach
/v1/developer-orgs. Sign the CLI in with salesos login --email. You only
ever see and manage developer orgs you own.
Change sets
A change set copies definitions from a developer org to the org it was created from. It never copies records or signing secrets.
- From the source org (switch back first), choose Settings → Developer → Developer orgs → Promote and pick components. This creates a draft change set.
- An org owner or admin of the source org validates it, then deploys it under Sandbox.
Creating a change set from any org other than the source org is
403 WRONG_ORGANIZATION.
Change sets use the same engine as metadata deploys, so they carry the same component types and follow the same rules:
- Components are matched in the target by stable keys (an
apiName, or object plus name), never by id. See the type table. - Validation checks that every reference resolves in the target (a workflow's custom action or function, a hook's custom object, a layout's fields and profile), that endpoint URLs are allowed, and whether each component will be created or updated.
- Deployment applies everything in dependency order in one transaction: any error rolls the whole change set back.
- New custom actions, hooks, after-save triggers and functions arrive off, with new secrets; new workflows arrive as drafts; a named credential that needs a secret arrives inactive.
- Existing components are updated in place and keep their secret and on/off
state. Nothing is deleted. To delete, use a metadata deploy with an explicit
destructivelist.
For repeatable promotion from source control or CI, use
salesos metadata deploy instead: pull from the
developer org, commit, and deploy to production with tests.
Testing metadata
Test functions, flows, validation rules and formulas in your metadata package. Tests run on every check-only and real deploy, with every outside call mocked, and a failing test stops the deploy.
API reference
Every public operation, read live from GET /v1/openapi.json, with a try-it console.