Nembl
Recipes

Recipes

Short, focused HOWTOs for common modifications and integrations. Each recipe assumes you've got something working already and want to add or change one thing — bridging the gap between reference docs (which describe options) and worked examples (which build whole processes).

New to Nembl? Start with Getting Started and the Examples library before recipes. Recipes assume you know the basic concepts.


Workflow recipes

Add an SLA timer to an existing service

Goal: when a request sits in a phase too long, escalate.

  1. Open the workflow's editor → click the phase you want to bound (e.g. "Procurement Review")
  2. Add an outgoing transition labeled Escalation Timeout to a new Process phase named "Escalate to Manager"
  3. On the original phase's property panel, add a Timer as the trigger condition for the escalation transition: 48 hours
  4. On the "Escalate to Manager" phase, set Responsible = the original assignee's manager (resolved via Org Structure)
  5. Add a transition from "Escalate to Manager" back to the original phase so the manager can hand it back after attention
  6. Publish the new version

For B2B SLA tracking, see SLA Policies.

Auto-assign work based on round-robin

Goal: distribute submissions evenly across team members.

  1. Create a DATA enrich phase right after Start
  2. Use a mathjs expression that picks the next assignee:
    ["alice", "bob", "carol"][mod(_instanceCounter, 3)]
  3. Output Variable: assignee
  4. On the next Process phase, set Responsibility's resolved-from variable: {{assignee}}

For capacity-aware assignment (pick the person with the fewest open tasks), use a CONSULTED Service Assist agent instead.

Loop a phase until a condition is met

Goal: keep retrying or revising until something changes.

  1. The Phase that does the work → connects to a Decision phase
  2. Decision condition: did it succeed? ({{status}} == "completed")
  3. Yes → next phase. No → loop back to the work phase (or to a Timer that delays the retry)

Common use: polling an external API for completion (DocuSign envelope signed?). Pattern is the same as the Vendor Approval example.

Branch by request priority

  1. Add a Decision phase right after Start
  2. Condition expressions:
    • {{priority}} == "Rush" → Fast Track branch
    • {{priority}} == "High" → Normal branch with notification
    • else → Normal branch
  3. Each branch goes through the same downstream phases but with different SLA timers

Notifications & integration recipes

Wire Slack notifications when a phase completes

  1. In Slack, create an incoming webhook for the channel you want notifications in. Copy the webhook URL.
  2. In your workflow, add a Webhook Callout phase wherever you want a notification (often right after a key phase completes)
  3. Configure:
    • URL: paste the Slack webhook URL
    • Method: POST
    • Body Template:
      { "text": "Request {{requestTitle}} just completed phase {{lastPhaseName}}" }
    • Response Format: ignore (Slack returns plain "ok", not JSON)
  4. Publish

For the full Slack incoming-webhook setup, see Slack's docs at api.slack.com/messaging/webhooks (opens in a new tab).

Send an email at workflow completion

Two options:

Option A — your own SMTP / SendGrid / Resend webhook: Webhook Callout phase pointing at your provider's send-email endpoint, body template with to, subject, body.

Option B — built-in Nembl notification: assign the requester as Informed on the End phase. They'll get the email through their notification channel preferences.

Create a GitHub Issue from a Nembl request

  1. Build or use a GitHub connector that wraps POST /repos/{owner}/{repo}/issues
  2. Add an API Call phase after the request is triaged
  3. Configure with:
    • Use Connector: GitHub — Create Issue
    • Body params: title = {{requestTitle}}, body = {{requestDescription}}, labels = ["from-nembl"]
  4. Capture the returned issue URL into a workflow variable so it's visible on the request

Form & data recipes

Pre-fill a form field from the URL

Append ?fieldName=value to the submit URL:

https://nembl.example.com/services/it-support/new-laptop/submit?employeeName=Jane%20Smith

Field IDs match the slug you set when creating the field.

Validate a field with a custom rule

  1. Form editor → click the field → Validation tab
  2. Add a regex pattern (e.g. ^[A-Z]{2,4}-\d{4}$ for a project code format)
  3. Custom error message: "Project code must be 2–4 letters, dash, 4 digits"

For richer multi-field validation, use a DATA validate phase right after Start that checks consistency across fields and rejects with a clear error.

Compute a derived value from form input

  1. Add a DATA enrich phase after Start
  2. Expression: {{quantity}} * {{unitPrice}}
  3. Output Variable: total
  4. Subsequent phases reference {{total}}

IAM & access recipes

Grant a role only on specific tagged resources

This is exactly what ABAC is for. Example: grant read on Services tagged tier:public to all members.

{
  "effect": "Allow",
  "action": "read",
  "resource": "Service",
  "condition": { "resource.tags.tier": "public" }
}

Attach the policy to the role / group / user that should have it.

Make an action require dual approval (4-eyes)

Use a workflow with two sequential APPROVAL phases, each requiring a different person. Configure both Approvers as different individuals (or as different Roles, e.g. "Engineering Manager" and "Finance Director"). The action only proceeds when both approve.

Revoke a user's access immediately

  1. Admin → IAM → Users → <user> → Deactivate. Sessions terminate within 1 minute.
  2. If they had API Keys, also Revoke each key at Admin → IAM → API Keys. (Deactivating the user does not auto-revoke their keys.)

Agent recipes

Set up an inbox-triage agent

  1. Admin → IAM → Agents → New Agent
  2. Type: Queue Intake. Source: MANAGED. Pick the inbox-triage template.
  3. Provider + Model + bound Vault (your Anthropic key)
  4. Autonomy: start at Suggest for two weeks, watch its decisions, then promote to Act with approval if you trust it
  5. Bind it to your inbox: Admin → Inboxes → <inbox> → Settings → Triage Agent

Add an agent that drafts text on a workflow phase

  1. Create a CUSTOM Workflow Phase agent
  2. Prompt: "You are a Customer Success specialist. Read this refund request's notes and draft a 3-sentence response that acknowledges the issue and explains next steps. Tone: warm, professional."
  3. Assign as CONSULTED on the relevant phase. The agent's draft appears as a comment on the phase; the human Responsible reviews and uses or edits it.

Related