Skip to Content
Use CasesSelf-Service Automation

Self-Service Automation

Most customer service volume isn’t complex — it’s repeat asks. “Change my address.” “Update my phone number.” “Reset my password.” “Tell me the status of my order.” Omniflow handles these end-to-end without a human in the loop, and does it with the security and compliance posture an enterprise needs.

What you can automate

CategoryExample flows
Personal dataUpdate address, phone, email, marketing preferences.
Account statePassword reset, MFA reset, paperless billing toggle.
Transactional lookupsOrder status, shipment tracking, account balance, statement download.
Subscription managementPlan change, pause/resume, cancellation with retention flow.
AppointmentsBook, reschedule, cancel; respect availability windows.
Document deliverySend invoice, send statement, send terms via email.

If the request follows a deterministic policy and the data lives in a system Omniflow can call, it’s a candidate for self-service.

Anatomy of a self-service flow

Customer: "I need to update my phone number." │ ▼ Intent detected │ ▼ Identity verification (see below) │ ▼ Customer provides new value through the chat │ ▼ Agent calls update_phone(customer_id, new_phone) │ ▼ System of record updates; webhook confirms │ ▼ Agent confirms back to customer + audit log written

Identity verification

The agent never trusts the channel alone. Before any change, identity is verified at a level that matches the risk of the change:

RiskVerification
Low (read-only lookup, marketing prefs)Authenticated session token from the host portal, or email + DOB.
Medium (address, phone, email change)One-time passcode (OTP) to a known channel + a knowledge-based question.
High (banking instruction, beneficiary change)Step-up to a secure form or transfer to a human; do not handle in chat.

Step-up rules live under Settings → Compliance → Step-up policy.

Don’t process high-risk changes in a chatbot turn. Use the secure-form handoff so the sensitive field never lands in the chat transcript or the agent’s context window.

Secure operations — what Omniflow guarantees

PropertyHow it’s enforced
PII redaction in logsConfigurable PII patterns (national IDs, payment data) are masked on the way into traces, transcripts, and exports.
Encrypted secretsAPI keys, OAuth tokens, integration credentials live in tenant_oauth_connections encrypted at rest with a workspace-scoped key.
Role-scoped toolsEach agent is bound to specific tools; tools are scoped to specific endpoints; endpoints are scoped to specific objects via your IAM.
Mutating-tool audit trailEvery POST / PUT / DELETE tool call writes a row to api_key_audit / tool audit with caller, args, response, and latency.
IdempotencyMutating tools accept an Idempotency-Key; replays don’t double-apply.
Rate limits per toolPer-agent and per-tool limits stop a misbehaving conversation from hammering a system of record.
Confirmation stepCritical changes require an explicit “yes” from the customer (“To confirm, I’ll change your number to +1-555-0100. Should I proceed?”).

Compliance posture

ConcernCoverage
GDPR / Right to AccessEvery action by or about a contact is in the activity log; export via API.
GDPR / Right to ErasureWorkspace-level erasure: contact, conversations, transcripts, traces, scorecards.
PCIPayment data must not be captured in chat — use the secure form path and let your PCI-scope environment handle it.
Audit trailImmutable, queryable, exportable. See Activity Logs & Traces.
Region-locked dataWorkspace data stays in its configured region; embeddings, transcripts, audio.
Retention policyPer-workspace retention windows: audio (default 90 days), transcripts (indefinite), traces (90 days). All configurable under Settings → Data Retention.

See Security & Compliance for full details.

Set it up

Connect the system of record

Self-service tools need to read and write to your system of record. Connect:

  • A CRM or customer profile API (Salesforce, HubSpot, custom).
  • Order / billing system (Shopify, your billing API).
  • Account state (your auth provider, your customer portal).

See CRM integrations and Custom API & Webhooks.

Define the tool

Each self-service action is an agent tool. Example for “update phone”:

{ "name": "update_customer_phone", "description": "Update the customer's primary phone number. Requires verified identity.", "method": "POST", "url": "https://your-portal.example/api/v1/customers/{id}/phone", "input_schema": { "type": "object", "properties": { "id": { "type": "string", "description": "Verified customer ID" }, "phone": { "type": "string", "pattern": "^\\+[0-9]{10,15}$" } }, "required": ["id", "phone"] }, "auth": "secret:portal_api_key", "rate_limit": "10/minute", "requires_step_up": "medium", "idempotency": true }

Add identity verification

Pick a verification step appropriate to the risk. For medium-risk changes, configure an OTP flow:

Tool: send_otp(customer_id, channel="sms"|"email") Tool: verify_otp(customer_id, code) → returns verified_session_token

The agent isn’t allowed to call mutating tools without a verified session token within the same conversation.

Add a confirmation step

In the agent’s prompt:

Before any update_* tool call, repeat the change back to the customer in plain language and ask them to confirm explicitly. Wait for "yes" or equivalent before calling the tool.

Test the unhappy paths

In Training, build scenarios for:

  • Customer changes their mind mid-flow → verify the agent doesn’t call the tool.
  • OTP fails 3 times → verify fallback to live agent.
  • Tool returns an error → verify the agent reports it cleanly, doesn’t retry forever.

Reporting

Self-service has its own metrics:

MetricWhat it tells you
Containment rate% of conversations resolved without a human.
Self-service completion rate% of started flows that completed (vs. abandoned).
Step-up rate% that escalated to form or human. Track per intent.
First-time-right% that didn’t require a follow-up call within 7 days.
Customer-confirmed satisfactionPost-flow CSAT.

These live in Reports & Trends. The combination of high containment + high first-time-right + high CSAT is the signal you want.

Open in Omniflow

If you want to…Go to
Hand off when a request is too complexEscalation & Handoff
Build a self-service toolTools & Actions
Read the security posture in detailSecurity & Compliance
Audit what the agent didActivity Logs & Traces