TroubleshootingReviewed 2026-09-29

Workflow rule will not save: a trigger, schedule, condition or action is incomplete or not allowed

Create rule or Save changes is refused when the trigger is missing its event type, schedule or input form, when a condition names a field the record doesn't have, when an action is switched off on this server or is set up in a way the engine doesn't allow, or when the rule has nothing to do.

Messages this explains

  • “Fix the problems below before saving.”
  • “Manual rules need at least one input field.”
  • “Manual rules take at most 20 input fields.”
  • “Input field <n>: name is required.”
  • “Input field <n>: name must be snake_case (letters, digits, underscores).”
  • “Input field <n>: name "<x>" is used twice.”
  • “Input field <n>: label is required.”
  • “Input field <n>: a select needs at least one option.”
  • “Conditions: every condition needs a field.”
  • “At most 25 actions per rule.”
  • “actions[<n>]: <OP> is not available on this server; remove it to save.”
  • “<Label> is not available on this server: <description> The rule cannot be saved while this action is on it; remove it or wait until the operation is enabled.”
  • “Choose the event type this rule listens to”
  • “Choose the event type this rule listens to.”
  • “Pick a start date”
  • “Pick a time”
  • “Pick at least one day of the week”
  • “The end date must be on or after the start date”
  • “Enter a schedule”
  • “Use five fields: minute hour day month weekday”
  • “schedule_cron must be a valid 5-field cron expression (e.g. "0 9 * * 1")”
  • “A rule needs at least one action or an emitted event”
  • “Contact rules are organization-wide”
  • “On Event rules cannot listen to generic or internal event types; use On Create or On Update instead.”
  • “The event type belongs to a different entity than the rule.”
  • “A rule can only emit a custom event type”
  • “A rule cannot emit the event it listens to”
  • “conditions: <path> is not a field of <entity>”
  • “Role '<name>' does not exist in this organization”
  • “UPDATE_FIELD cannot write <entity>.<col>; allowed: …”
  • “Headers not allowed: …”
  • “At most 10 headers”
  • “Must be an https:// URL.”
  • “Save first: the test runs the saved version”

Workflow rule will not save: a trigger, schedule, condition or action is incomplete or not allowed

You pressed Create rule on New rule or Save changes on a Rule page, and the rule wasn't saved.

What you see

The page checks the rule before it is sent, and the server checks it again. Messages appear in three places: under a field, in the red banner at the top of the form (as a list of lines), and in red on the action card they concern.

Checks on the page. The banner reads "Fix the problems below before saving." with lines such as:

  • "Manual rules need at least one input field.", "Manual rules take at most 20 input fields.", "Input field <n>: name is required.", "Input field <n>: name must be snake_case (letters, digits, underscores).", "Input field <n>: name "<x>" is used twice.", "Input field <n>: label is required." or "Input field <n>: a select needs at least one option."
  • "Conditions: every condition needs a field."
  • "At most 25 actions per rule."
  • "actions[<n>]: <OP> is not available on this server; remove it to save." The action card also shows "<Label> is not available on this server: <description> The rule cannot be saved while this action is on it; remove it or wait until the operation is enabled."

Under the Trigger fields:

  • Event type (On Event): "Choose the event type this rule listens to".
  • The schedule (Scheduled): "Pick a start date", "Pick a time", "Pick at least one day of the week" or "The end date must be on or after the start date"; with Use a cron expression, "Enter a schedule" or "Use five fields: minute hour day month weekday".

Checks on the server. In the banner, on the action card, or above the conditions:

  • 'schedule_cron must be a valid 5-field cron expression (e.g. "0 9 * * 1")'
  • "A rule needs at least one action or an emitted event"
  • "Contact rules are organization-wide"
  • "Choose the event type this rule listens to.", "On Event rules cannot listen to generic or internal event types; use On Create or On Update instead." or "The event type belongs to a different entity than the rule."
  • "A rule can only emit a custom event type" or "A rule cannot emit the event it listens to"
  • "conditions: <path> is not a field of <entity>" (for an action's Only when… block the line starts "actions[<n>].conditions: …")
  • "Role '<name>' does not exist in this organization"
  • "UPDATE_FIELD cannot write <entity>.<col>; allowed: …"
  • For Call webhook: "Must be an https:// URL." under URL, "At most 10 headers" or "Headers not allowed: …"

Separately, Test on the rule's page is greyed out while you have unsaved changes, with "Save first: the test runs the saved version" on hover.

Why it happens

A rule runs on its own, with nobody watching, so it is checked completely before it is stored:

  • Each trigger needs its details. On Event needs the event it listens to. Scheduled needs a start date, a time and, for a weekly rhythm, at least one weekday; a cron schedule must be five valid fields (minute, hour, day, month, weekday), such as 0 9 * * 1 for Mondays at 09:00. Manual needs an input form of 1 to 20 fields, each with a snake_case name (lowercase letters, digits and underscores, starting with a letter) and a label, because the button on the record opens that form.
  • Event types must fit the rule. The generic "record created" and "record updated" events are reserved for On Create and On Update. A rule can only listen to, or raise, an event of its own record type, and Emits event type takes only custom event types (made on Event types), never the one the rule itself listens to, which would make it trigger itself. The Emits event type list shows custom events of every record type, so it is possible to pick one that doesn't fit.
  • A rule must do something: at least one action, or a custom event for other rules, and at most 25 actions.
  • Contacts belong to the whole organization, not to a project, so a rule on contacts can't have a Project scope, even though the picker is offered.
  • Conditions and actions must refer to real things. A condition must name a field of the record, a related row or the context; a role named in Notify users, Create task or Assign opportunity must exist (a role that was renamed or deleted after the rule was built no longer matches); Update field may only write the few everyday columns listed for that record (notes, some dates, the assignee), never amounts or statuses, which change only through their own screens.
  • Webhooks are kept safe. The URL must start with https://, at most 10 headers are sent, and headers the engine sets itself (Host, Content-Length, Transfer-Encoding, Connection and anything starting X-NirmaanOne-) can't be overridden.
  • Some actions are switched off on this server. Send WhatsApp, Send SMS, Refund payment and Post charge appear greyed out in Add action with "Not available on this server". A rule that still carries one (for example one built before the action was switched off) can't be saved until it is removed.
  • Test runs the saved rule, so it waits until your changes are saved.

How to fix it

Creating a rule needs the Create permission on Workflow Rules, and changing one the Edit permission; in the default roles only the Administrator has them. System rules can't be changed at all: Clone one and change the copy.

  1. Read every line in the banner and each red action card; the banner lists all the problems the page found at once.
  2. Complete the trigger: pick an Event type; fill Start date, Time and at least one weekday (or use Start today); set Until on or after the start, or leave it empty for no end; for a cron schedule type five fields, or click Use the calendar picker instead. For a Manual rule, click Add field under Input form and give each field a snake_case Name and a Label; give a select field at least one option.
  3. Fix the event types: choose an event of the rule's own Entity (the entity is fixed once a rule exists; clone the rule to change it), use On Create or On Update instead of the generic record events, and under Advanced pick a custom event type of the same entity, other than the one the rule listens to, or None. To create one, use New event type on Event types (the Create permission on Workflow Rules).
  4. Give the rule something to do: Add action, or pick an Emits event type.
  5. Clear Project scope on a rule whose Entity is Contact.
  6. Fix conditions: choose the field from the list (Columns, Related rows or Context) instead of typing a custom path, and remove empty conditions.
  7. Fix actions: remove any action marked "not available on this server" with Remove action; pick an existing role in the role picker (roles are on Roles & Permissions); choose a Column from the Update field list; give Call webhook an https:// URL, no more than 10 headers, and none of the reserved header names.
  8. Save with Create rule or Save changes. Then use Test to dry-run the saved rule against a real record.

If the banner instead names a permission ("actions[<n>]: <OP> needs <PERMS>"), see Run errored or blocked with "permission_revoked"; if it names a line of a template, see Template will not save, publish or render.

Related

  • New ruleScreen

    Build an automation rule on a full page: which records it watches, what starts it, which records qualify, and the ordered actions it carries out.

  • RuleScreen

    One automation rule's page: read or change its basics, trigger, conditions and actions, test it against a record, clone or delete it, and switch a system rule on or off.

  • Event typesScreen

    The named events a rule can listen to: the system events NirmaanOne raises itself and the custom events you add to chain rules or to raise from your own integrations.

  • RulesScreen

    Every automation rule in your organization, system and custom, with filters, the switch that turns each rule on or off, and shortcuts to edit, test, clone, see the run history of or delete a rule.

  • Roles & PermissionsScreen

    The list of your organization's roles: open one, create or clone a role, deactivate or reactivate it, and delete custom roles nobody holds.

  • Run errored or blocked with "permission_revoked": the rule's owner no longer holds a permission its actions needTroubleshooting

    A rule's automatic runs act as the person who last saved or switched the rule, and manual runs as the person who pressed the button; each action is checked against that person's permissions when it runs, so a role change or a deactivated user makes the run fail until the permission is restored or someone who holds it takes the rule over.

  • Email action or document email did not go out: no valid recipient, or the message is incompleteTroubleshooting

    A Send email action fails when its To line renders no valid address (usually because the contact has no email), a rule with Send email cannot be saved without a message template or a subject and body, a document email needs at least one valid address and is refused for a void document, and an Email message template needs a subject.

  • Template will not save, publish or render: a tag, expression or the HTML is wrongTroubleshooting

    A document template, message template or rule action that carries a broken merge tag is refused when saved or published, names the field and the line; a template that parses but fails while filling in a record, or whose HTML the PDF or Word engine cannot lay out, fails at preview, generation or sending; the editor's own dialogs and fields have their own checks.

  • Workflow rules, conditions, actions and the rule ownerConcept

    What a workflow rule is made of (one kind of record, one trigger, conditions, ordered actions, an optional chained event), how conditions and action settings are evaluated, how versions, tests and clones work, and why every rule has an owner whose permissions its runs use.

  • Triggers and event typesConcept

    The five ways a workflow rule starts (On Create, On Update, On Event, Scheduled, Manual), the catalogue of system event types the app raises, the daily due-date events for instalments and overdue demands, how recurrences are counted, and custom event types that chain rules.