Object naming
Almost everything you create in OpCon Continuum has a name you choose. Those names follow one character policy across the platform, with per-object length bounds and a small number of deliberate exceptions.
Continuum previously enforced six different naming rules, which disagreed with each other: a name
containing a slash was valid for a workflow and rejected for a service request, and a property
called $TempFolder could be created directly but not imported. That is gone — a name is now
either valid or invalid, and the answer does not depend on which screen you are on.
The character policy
| Rule | |
|---|---|
| Allowed | Any character you can type — letters in any script, digits, spaces, /, \, (, ), $, @, ., ,, %, &, #, ', emoji. There is no allowlist. |
| Rejected | Control characters — the non-printing codes below a space, including tab, carriage return and newline. |
| Rejected | A blank name, or one that starts or ends with whitespace. |
That is the whole policy. A name that satisfies it and fits the length bounds below is accepted.
The editors trim what you type before saving, so trailing spaces are silently removed rather than reported as an error. The whitespace rule is what the API enforces for anything that submits a name directly.
Length bounds
The character policy is uniform; the length bounds are not.
| Object | Length |
|---|---|
| Service requests, scripts | 1–255 characters |
| Properties, tags, calendars, frequencies, thresholds, resources, Vision cards, notification groups, escalation policies, workspaces, roles | 3–255 characters |
| Workflows, schedule instances | 1–40 characters — see below |
| Environments | 1–100 characters — see below |
255 is the ceiling everywhere except workflows and environments.
Objects that keep their own rule
Four things are deliberately not governed by the policy above, because each answers to a constraint outside Continuum's own naming.
| Object | Rule | Why |
|---|---|---|
| Workflows and the schedule instances inside them | 1–40 characters, and none of ' | ; % & < > ( ) [ ] { } , = ! \ " | The 40-character ceiling is inherited from the Master Schedule, and the excluded characters carry meaning in schedule and event expressions. |
| Environments | 1–100 characters, must start with a letter or digit, and only letters, digits, _ and - after that | An environment name is an infrastructure identifier that appears in URLs and service discovery. |
| Agent pools | Up to 255 characters, lowercase letters, digits and - only | Same reason — a pool name is an identifier, not a label. |
| Jobs | Up to 255 characters, and unique within the workflow ignoring case | Job names are checked when you create a version, alongside the rest of the workflow. No character policy applies. |
Names that travel to a legacy LSAM over the relay are held to a stricter allowlist at that boundary, because the wire protocol is older than the policy. That check is deliberate and unchanged.
Editing an object whose name predates the policy
Names created under earlier rules can contain things the current policy rejects — most commonly padding whitespace, or an interior tab. Such a name is exempt from validation as long as you do not change it. You can edit the object's other settings and save normally.
This matters more than it sounds. A name field that refuses to validate blocks the whole form, not just the name — so without the exemption you could not change a property's value, a script's content, or a service request's workspace without renaming the object first.
Renaming applies the full policy. Once you edit the name field at all, the new name is validated like any other, so a legacy name cannot be nudged — you either leave it exactly as it is or you give the object a compliant name.
The same exemption applies wherever a name arrives without being retyped: an object saved with the name it already has, on any screen, is not treated as a rename.
Several things reference an object by name rather than by ID — a [[PROPERTY]]
token, and the frequency names stored in a
deployment. Renaming the object leaves those references pointing at a
name that no longer exists. Fix them in the same change, or leave a legacy name alone.
Importing objects
An import bundle's names are held to exactly the rule the matching editor would apply — the
generic policy for properties, tags, calendars, frequencies, thresholds and resources, and the
workflow rule for workflows. Import used to apply a single stricter rule to everything, which is why
a property called $TempFolder could be created directly and then failed to import.
Two consequences are worth knowing before an export-and-import round trip — see Automation export and import for the bundle itself:
- A workflow name over 40 characters no longer imports as a new workflow. Import previously
accepted up to 255, so a bundle can contain a name that
Workflowsitself has never accepted. Overwriting a workflow that already holds such a name still works, because that is not a rename. - A name an overwriting bundle already matches is exempt, the same way an unchanged name is exempt in an editor. This is what lets an object with a legacy name survive its own export and re-import.
Copying an object
Where an object can be copied — from its list page, from global search, or from
its detail page — the dialog offers <original name> - Copy as the default. If that would
exceed the object's length limit, the original part is shortened so the suggested name always fits;
for a workflow, that means the 40-character ceiling.
The copy is a new name, so it gets the full policy. The dialog checks it as you type and shows the problem on the field, rather than letting the save fail.
Troubleshooting
| Symptom | Cause | What to do |
|---|---|---|
| Name cannot contain control characters | The name contains a tab, newline or other non-printing character — usually from pasting out of a spreadsheet or a document. | Retype the name, or paste into a plain-text editor first. |
| Name cannot be blank or start or end with whitespace | The name is empty or padded. Reaches you only when a name is submitted without going through an editor. | Trim the name. |
| Name must be between 3 and 255 characters | Under the minimum for this object type. Service requests and scripts allow one character; most other objects need three. | Lengthen the name. |
| Name must be between 1 and 40 characters | A workflow or schedule instance name over the Master Schedule ceiling. | Shorten it to 40 characters. |
| A name field reports an error on a name you did not type | The name was changed — even by a character you cannot see, such as deleting padding from a legacy name. | Restore the name exactly, or commit to a full rename. |
| An existing object's name is rejected when you try to save an unrelated field | The name was normalized before being submitted, which reads as a rename. | Reload the page and retry so the stored name is submitted unchanged. |
See also
- Workspaces — the objects a workspace groups, and their names
- Properties and tags — how a property is referenced by name in a token
- Versions and deployments — the job-name rules the version gate checks
- Schedule instances — the additional rules on an instance name