---
title: "Agentic hyperautomation · Oxarus Agent AI"
description: "AI agents that run multi-step processes across email, ERP, CRM, e-commerce and support channels, with approval steps, permissions and an audit trail."
url: https://oxarus.com/en/automation
key: automation
route: /automation
unit: automation
locale: en
status: live
alternates:
  tr: https://oxarus.com/tr/automation
  en: https://oxarus.com/en/automation
documents:
  json: https://oxarus.com/machine/en/automation.json
  jsonld: https://oxarus.com/machine/en/automation.jsonld
  txt: https://oxarus.com/machine/en/automation.txt
schema: oxarus.machine/2.0
---

# Agentic hyperautomation · Oxarus Agent AI

> AI agents that run multi-step processes across email, ERP, CRM, e-commerce and support channels, with approval steps, permissions and an audit trail.

Breadcrumbs: [Oxarus home](https://oxarus.com/en) › [Oxarus Agent AI](https://oxarus.com/en/automation)

## Notices

- Interface data marked as representative is illustrative; it is not a real client, result or measurement.

## Sections

- [agents that run processes end to end.](#hero)
- [when rules break, work goes on.](#shift)
- [pick a process, watch the agent.](#processes)
- [the agent works, you stay in control.](#control)
- [we measure first, then we scale.](#delivery)
- [questions about agents.](#faq)
- [let's pick your first process.](#cta)

<a id="hero"></a>
<!-- section:hero component:AutomationHero kind:hero sources:messages:automation.hero -->

## agents that run processes end to end.

_OXARUS AGENT AI_

Our AI agents read the email, find the record in your ERP, catch the mismatch, ask for approval where it's needed and close out the work. You step in only where a decision is required.

<https://oxarus.com/en/automation>

- [Describe your process](https://oxarus.com/en/automation#cta-heading) → `open_page(path="/automation", anchor="cta-heading")`
- [See the processes](https://oxarus.com/en/automation#processes) → `open_page(path="/automation", anchor="processes")`

- Runs on top of the tools you already use
- Human approval at critical steps
- Every action in the audit trail

1. Incoming email
2. Document and ERP
3. Check
4. Human approval
5. Record and notify

<!-- demo:start messages:automation.hero.console -->
_Representative interface data_ · Representative agent console: a supplier invoice processed from email to ERP entry.

- **run:** run\_4821 · supplier invoice
- **tag:** Representative

- **running:** running
- **waiting:** awaiting approval
- **done:** completed

1. **Read the email**
   - **detail:** Found a PDF invoice attached to the message from Northfield Supply.
2. **Parsed the invoice**
   - **detail:** Extracted line items, quantities, tax and the total amount.
3. **Matched it to the PO**
   - **detail:** Pulled PO-7710 from the ERP and compared the line items one by one.
4. **Flagged a price variance**
   - **detail:** The unit price on NS-4410 is higher than on the PO; the variance breaks the tolerance rule.
5. **Requested approval**
   - **detail:** Sent the finance lead an approval request with a summary of the variance, then waited.
6. **Posted the entry**
   - **detail:** After approval, posted entry AP-5518 to the ERP.
7. **Notified the team**
   - **detail:** Posted a summary and a link to the audit log in #ap-ops.

- **call:** tool call
- **result:** result
- **reason:** Reasoning
- **pending:** pending
- **back:** Back to the live step
- **hint:** Click a completed step to see its call and result.

**Incoming invoice**

- **supplier:** Supplier
- **po:** PO
- **lines:** Item
- **qty:** Qty
- **invoicePrice:** Invoice
- **poPrice:** PO
- **mismatch:** NS-4410 unit price is {percent} above the PO · tolerance {tolerance}

**Approval step**

- **approver:** Clara Wendt
- **role:** Finance lead
- **summary:** Variance {total}: {qty} units × {diff}
- **idle:** Queued
- **waiting:** Awaiting decision
- **approved:** Approved

- **elapsed:** elapsed
- **tools:** tool calls
- **human:** incl. human approval

<!-- demo:end -->

<a id="shift"></a>
<!-- section:shift component:RulesVsAgents kind:compare anchor:#shift-heading sources:messages:automation.shift -->

## when rules break, work goes on.

_FROM AUTOMATION TO HYPERAUTOMATION_

Classic automation follows pre-written rules; when something unexpected happens, it stops and drops the work into a queue. An agent reads the situation, gathers context and decides what to do within set boundaries.

<https://oxarus.com/en/automation#shift-heading>

- **SAME EXCEPTION:** The supplier sent the invoice as a scanned PDF. The invoice has no PO number; it only appears in the body of the email. And one line item's price differs from the PO.

<!-- demo:start messages:automation.shift.inbox -->
_Representative interface data_ · Representative

**Incoming email**

- **from:** Northfield Supply · Accounts
- **subject:** Invoice INV-20931
- **body:** Hello, the attached invoice belongs to your order {po}. Kind regards.
- **attachment:** INV-20931.pdf · scanned

<!-- demo:end -->

<!-- demo:start messages:automation.shift.scan -->
_Representative interface data_ · Representative

**Scanned invoice**

- **po:** PO number
- **missing:** none
- **textLayer:** No text layer

<!-- demo:end -->

<!-- demo:start messages:automation.shift.player -->
_Representative interface data_ · Representative

- **play:** Play
- **pause:** Pause
- **replay:** Restart
- **step:** Step {n}

<!-- demo:end -->

<!-- demo:start messages:automation.shift.laneStatus -->
_Representative interface data_ · Representative

- **running:** running
- **stopped:** stopped
- **queued:** waiting in queue
- **waiting:** awaiting approval
- **done:** completed

<!-- demo:end -->

- **Rule-based flow** · _RPA_
  1. **Attachment downloaded**
     PDF saved to a folder.
     ok
  2. **PO number field unreadable**
     The template field is empty; the scanned document has no text layer.
     fail
  3. **Matching skipped**
     The rule can't continue without a PO number.
     fail
  4. **Dropped into the error queue**
     Waiting until someone notices.
     warn
  Result: the flow stopped, and the work has to be done by hand.
- **Agent** · _Agent AI_
  1. **Read the document**
     Extracted line items and amounts from the scanned PDF.
     ok
  2. **Found the missing data**
     Pulled the PO number from the email body: PO-7710.
     ok
  3. **Spotted the variance**
     NS-4410 has a price variance outside tolerance.
     warn
  4. **Sent it for approval**
     Summarized the variance, checked with the authorized approver and posted the entry once approved.
     ok
  Result: work closed, the decision stayed with a human, every step logged.

- **Ambiguous input**
  - **RULE-BASED:** Stops on documents outside the template
  - **AGENT:** Reads the document and fills gaps from context
- **Exceptions**
  - **RULE-BASED:** Every exception needs a new rule
  - **AGENT:** Decides within policy, and asks when outside it
- **Cross-tool work**
  - **RULE-BASED:** One trigger, one action
  - **AGENT:** Works step by step across multiple systems
- **Change**
  - **RULE-BASED:** Breaks when the screen changes
  - **AGENT:** Works through APIs and authorized tools
- **Traceability**
  - **RULE-BASED:** Often just an error log
  - **AGENT:** Every decision logged with its reasoning

_Interface labels:_ TOPIC

<a id="processes"></a>
<!-- section:processes component:ProcessPicker kind:features anchor:#processes sources:messages:automation.processes -->

## pick a process, watch the agent.

_PROCESSES_

The flows below are examples we build often. In each one the agent moves step by step across the systems your company uses, stops at the step that needs approval and waits for your decision.

<https://oxarus.com/en/automation#processes>

- **human tag:** human approval

<!-- demo:start messages:automation.processes.calls -->
_Representative interface data_ · Representative

- **calls:** calls: {count}

<!-- demo:end -->

<!-- demo:start messages:automation.processes.skipped -->
_Representative interface data_ · Representative

- **skipped:** skipped

<!-- demo:end -->

<!-- demo:start messages:automation.processes.summary -->
_Representative interface data_ · Representative

- **summary:** tool calls: {calls} · human decisions: {decisions} · all in the audit log

<!-- demo:end -->

<!-- demo:start messages:automation.processes.status -->
_Representative interface data_ · Representative

- **running:** running
- **waiting:** awaiting approval
- **done:** completed
- **rejected:** rejected

<!-- demo:end -->

<!-- demo:start messages:automation.processes.gate -->
_Representative interface data_ · Representative

**Your approval is needed**

- **hint:** The agent stopped at this step. It continues based on your decision.
- **approve:** Approve
- **reject:** Reject
- **approved:** Approved by {role}
- **rejected:** Rejected by {role}

<!-- demo:end -->

- **Invoice matching**
  - **approver:** Finance lead
  A supplier invoice arrived in the accounting inbox.
  Invoice matched to the PO, entry posted, team notified.
  No entry posted. The agent passed the variance to purchasing to raise with the supplier.
  1. 0
     Recognized the invoice attachment and the sending supplier.
  2. 1
     Extracted line items, tax and totals from the PDF.
  3. 2
     Ran a three-way match against the PO and delivery note.
  4. 3
     Sent the out-of-tolerance price variance for approval.
  5. 4
     Posted the approved invoice as an accounting entry.
  6. 5
     Posted a summary and the entry link in the finance channel.
- **Orders and returns**
  - **approver:** Customer service manager
  A customer opened a return request in the store.
  Return eligibility checked, warehouse and customer informed.
  No refund issued. The request went to customer service with the reasoning attached.
  1. 0
     Read the order, delivery date and return reason.
  2. 1
     Checked eligibility against the return policy.
  3. 2
     Created a return receipt and shipping code in the warehouse.
  4. 3
     Sent the high-value return for refund approval.
  5. 4
     After approval, posted the credit note and stock movement.
  6. 5
     Sent the customer the shipping code and next steps on WhatsApp.
- **Support triage**
  - **approver:** Support team lead
  A new request arrived in the support channel.
  Request classified, simple ones answered, critical ones with the right person.
  No assignment made. The request waits in the team lead's queue with its summary.
  1. 0
     Read the request; identified topic, language and urgency.
  2. 1
     Pulled the customer record and past requests.
  3. 2
     Checked the status of the related order.
  4. 3
     Sent the ready reply to the customer asking about order status.
  5. 4
     Asked for approval to route the complaint to the priority queue.
  6. 5
     Added a conversation summary to the customer record.
- **Lead qualification**
  - **approver:** Sales rep
  A quote request form came in from the website.
  Lead scored, ready in the CRM, meetings offered to qualified leads.
  No reply sent. The draft went back to the rep with a note to revise.
  1. 0
     Read the form answers and company details.
  2. 1
     Searched the CRM for an existing record and past conversations.
  3. 2
     Scored the lead against the agreed criteria.
  4. 3
     Submitted a personalized first reply draft for approval.
  5. 4
     Offered open slots from the sales rep's calendar.
  6. 5
     Logged the opportunity at the right stage with its owner.
- **Hiring and onboarding**
  - **approver:** IT manager
  A new hire's contract was signed.
  Accounts ready, equipment request open, first-week plan shared.
  Admin access not granted. The request went back to the IT manager with its reasoning.
  1. 0
     Pulled the employee record, department and start date.
  2. 1
     Prepared the role-based list of accounts and permissions.
  3. 2
     Submitted access that needs admin rights for approval.
  4. 3
     Opened the approved accounts and raised the equipment request.
  5. 4
     Emailed the new hire a welcome note and first-week plan.
  6. 5
     Announced the new hire and start date to the team.

_Interface labels:_ Replay · CONNECTED SYSTEMS · AGENT TRACE · TRIGGER · OUTCOME

<a id="control"></a>
<!-- section:control component:ControlPanel kind:content anchor:#control-heading sources:messages:automation.control -->

## the agent works, you stay in control.

_CONTROL AND SECURITY_

Every agent runs with defined permissions, limits and approval steps. What it did, why it did it and who approved it are all on record, and a single click stops it when needed.

<https://oxarus.com/en/automation#control-heading>

<!-- demo:start messages:automation.control.panelTitle -->
_Representative interface data_ · Representative

- **panelTitle:** Agent control panel · Northfield Supply

<!-- demo:end -->

<!-- demo:start messages:automation.control.hint -->
_Representative interface data_ · Representative

- **hint:** Change a setting: the verdicts on pending actions and the audit log update right away.

<!-- demo:end -->

<!-- demo:start messages:automation.control.gates -->
_Representative interface data_ · Representative

**Approval steps**

- **Out-of-tolerance invoice**
  - **detail:** Price variance above {tolerance}
  - **approver:** Finance lead
- **Amount above limit**
  - **detail:** Payments and refunds over the per-transaction limit
  - **approver:** Manager
- **First customer reply**
  - **detail:** First message sent with a new template
  - **approver:** Support lead

<!-- demo:end -->

<!-- demo:start messages:automation.control.roles -->
_Representative interface data_ · Representative

**Role permissions**

- read
- write
- pay

- 0
  - **role:** invoice-agent
  ✓ · ✓ · ✗
- 1
  - **role:** support-agent
  ✓ · ✓ · ✓
- 2
  - **role:** sales-agent
  ✓ · ✗ · ✗

- **hint:** Click a box: the permission changes right away and is logged.

<!-- demo:end -->

<!-- demo:start messages:automation.control.limits -->
_Representative interface data_ · Representative

**Action limits**

- **Per-transaction amount**
  - **currency:** EUR
- **Actions per hour** · _actions_
- **Retries on the same job** · _times_

- **usage:** {used} actions in the last hour

<!-- demo:end -->

<!-- demo:start messages:automation.control.queue -->
_Representative interface data_ · Representative

**Pending actions**

- 0
  - **action:** Post invoice INV-20944 to the ERP
  - **detail:** Baltic Freight · price variance {variance}
- 1
  - **action:** Refund return R-1182
  - **detail:** Order SO-10482
- 2
  - **action:** Refund return R-1190
  - **detail:** Bulk order SO-10477
- 3
  - **action:** Update the opportunity stage in the CRM
  - **detail:** Kestrel Labs · quote sent
- 4
  - **action:** Send the first reply to the customer
  - **detail:** Request T-3310 · new template
- 5
  - **action:** Retry entry AP-5521
  - **detail:** ERP timeout · attempt {retry}

- **auto:** Automatic
- **approval:** Goes to approval · {approver}
- **permission:** Blocked · no permission
- **limit:** Blocked · amount limit
- **retry:** Blocked · retry limit
- **throttled:** Queued · hourly limit
- **paused:** Stopped

- **auto:** {count} automatic
- **approval:** {count} in approval
- **blocked:** {count} blocked

<!-- demo:end -->

<!-- demo:start messages:automation.control.audit -->
_Representative interface data_ · Representative

**Audit log**

All · Agent · Human

- **empty:** No entries for this filter.

- 0
  - **actor:** invoice-agent
  - **action:** Entry AP-5518 posted to the ERP · approved by Clara Wendt
- 1
  - **actor:** clara.wendt
  - **action:** INV-20931 price variance approved
- 2
  - **actor:** support-agent
  - **action:** Request #3304 routed to the priority queue · reason: complaint
- 3
  - **actor:** sales-agent
  - **action:** No write permission; CRM update suggested to the rep

- **gateOn:** Approval step turned on: {rule}
- **gateOff:** Approval step turned off: {rule}
- **grant:** “{action}” permission granted to {role}
- **revoke:** “{action}” permission removed from {role}
- **limit:** {label}: {from} → {to}
- **stop:** All agents stopped
- **resume:** Agents restarted

<!-- demo:end -->

<!-- demo:start messages:automation.control.kill -->
_Representative interface data_ · Representative

**Emergency stop**

- **body:** Stops all agents immediately. Unfinished work is saved and waits until it's resumed.
- **stop:** Stop all agents
- **resume:** Restart agents
- **stopped:** All agents stopped

> {count} agents running

- **held:** {count} jobs waiting in the queue

- **running:** running
- **paused:** stopped

<!-- demo:end -->

- **Human approval**
  You decide which steps are critical; the agent stops there and asks.
- **Least privilege**
  Each agent accesses only the systems and actions its job requires.
- **Audit log**
  Every tool call, input, decision and approval is stored with a timestamp.
- **Limits**
  When amount, volume or retry limits are hit, the agent stops.
- **Emergency stop**
  One button stops every agent, and no work is lost.

<a id="delivery"></a>
<!-- section:delivery component:DeliveryRail kind:steps anchor:#delivery-heading sources:messages:automation.delivery -->

## we measure first, then we scale.

_HOW WE WORK_

We start with a single process. We measure the result in a pilot, then widen the scope and the agent's permissions step by step once your team is ready.

<https://oxarus.com/en/automation#delivery-heading>

- **weeks:** Week

1. **Discovery** · _1–2 weeks_
   We talk with your teams and map the repetitive processes that involve rules and exceptions. Together we choose which ones suit an agent.
   **DELIVERED IN THIS PHASE**
   - Process inventory and prioritization
   - Systems and data access list
   - Success criteria
   - _Representative interface data_ · Representative
     **Process inventory**
     - Process
     - Frequency
     - Exceptions
     - Assessment
     - **Invoice matching**
       - **frequency:** Daily
       - **exceptions:** Frequent
       - **fit:** Pilot candidate
     - **Return approval**
       - **frequency:** Daily
       - **exceptions:** Moderate
       - **fit:** Next step
     - **Lead qualification**
       - **frequency:** Weekly
       - **exceptions:** Few
       - **fit:** Next step
     - **Budget planning**
       - **frequency:** Yearly
       - **exceptions:** Many
       - **fit:** Not a fit
     - **picked:** Chosen for the pilot: {name}
2. **Process map** · _1 week_
   We map the chosen process step by step: which system, which decision, which exception, and where human approval sits.
   **DELIVERED IN THIS PHASE**
   - End-to-end flow and exception map
   - Approval steps and permission model
   - Baseline measurement
   - _Representative interface data_ · Representative
     **Flow and exception map**
     - Email arrived
     - Document read
     - Matched to PO
     - Tolerance check
     - Human approval
     - ERP entry
     - **gate:** approval step
     - **exception:** Exception: no PO number on the invoice → taken from the email body
     - **toggle:** Show the exception path
3. **Pilot agent** · _3–6 weeks_
   We connect the agent to your real systems and run it first in observation mode, then with limited permissions.
   **DELIVERED IN THIS PHASE**
   - Working pilot agent
   - Control panel and audit log
   - Test and exception scenarios
   - _Representative interface data_ · Representative
     **Pilot mode**
     - Observation mode
     - Limited permissions
     - Post entry AP-5519 to the ERP
     - Reconciliation email to the supplier
     - Payment instruction for INV-20950
     - **suggested:** Suggested, not applied
     - **applied:** Applied
     - **approval:** Sent for approval
     - **blocked:** Outside permissions, not done
4. **Measured rollout** · _ongoing_
   We track results against the criteria set in the pilot and raise volume and permissions gradually as trust builds.
   **DELIVERED IN THIS PHASE**
   - Measurement dashboard
   - Staged permission plan
   - New process proposals
   - _Representative interface data_ · Representative
     **Permission levels**
     - **Observation**
       - **body:** The agent reads and suggests; it changes no records.
     - **Approved actions**
       - **body:** Every action is applied with a person's approval.
     - **Limited authority**
       - **body:** Work within limits runs on its own; anything outside goes to approval.
     - **Next process**
       - **body:** The next process is added with the same controls.
     - **current:** now
     - **raise:** Go up a level
     - **lower:** Step back
5. **Handover and operations** · _ongoing_
   We teach your team to run the agent. If you prefer, we keep handling monitoring, updates and new processes.
   **DELIVERED IN THIS PHASE**
   - Operations guide and training
   - Monitoring and alerting setup
   - Maintenance and development support
   - _Representative interface data_ · Representative
     **Monitoring and alerts**
     - 0
       - **when:** An approval waits longer than 4 hours
       - **then:** The owner gets a reminder
     - 1
       - **when:** The same error happens 3 times in a row
       - **then:** The agent stops, the team is alerted
     - 2
       - **when:** A new type of exception appears
       - **then:** The job is set aside for review
     - **report:** Weekly agent report
     - **reportDetail:** Every Monday in the team channel
     - **on:** on
     - **off:** off

<a id="faq"></a>
<!-- section:faq component:FaqSection kind:faq anchor:#faq-heading sources:messages:automation.faq -->

## questions about agents.

_FAQ_

How agents are kept in check, which systems they work with and how a pilot starts.

<https://oxarus.com/en/automation#faq-heading>

> **Let's look at your process**
>
> Discovery call
>
> If your question isn't answered here, write to us. We can go through the details of your process together.
> - [Send an email](mailto:info@oxarus.com) → `contact()`

**Question:** What happens if the agent makes a wrong decision?

**Answer:** The agent acts only within the permissions and limits you define. It asks for approval at critical steps and stops to ask when a case falls outside the policy. Every decision is logged with its reasoning, and all agents can be stopped with a single button.

**Question:** Do we need to replace our existing systems?

**Answer:** No. Agents work on top of your email, ERP, CRM, e-commerce, document and support channels, through APIs and authorized tools.

**Question:** How is this different from classic automation (RPA)?

**Answer:** A rule-based flow stops on a non-template document or an unexpected exception and drops the work into a queue. An agent reads the document, fills gaps from context and decides within policy; when a case is outside the policy, it asks.

**Question:** Which processes suit an agent?

**Answer:** Repetitive processes that involve rules and exceptions and move across several systems. In discovery we map your processes with your teams and choose the right one together.

**Question:** How does a pilot start, and how long does it take?

**Answer:** Discovery takes 1–2 weeks, the process map 1 week and the pilot agent 3–6 weeks. The pilot agent runs first in observation mode, then with limited permissions; permissions grow gradually against the criteria set in the pilot.

**Question:** Can our own team run the agent?

**Answer:** Yes. In the handover phase we teach your team to run the agent. If you prefer, we keep handling monitoring, updates and new processes.

<a id="cta"></a>
<!-- section:cta component:AgentCta kind:cta anchor:#cta sources:messages:automation.cta -->

## let's pick your first process.

_LET'S START_

Tell us about the process your team spends the most time on. We'll assess together whether it's a fit for an agent, and what kind of pilot it could start with.

<https://oxarus.com/en/automation#cta>

- [Describe your process](https://oxarus.com/en/contact?start=automation) → `start_project_brief(topic="automation")`

## Actions

- [Describe your process](https://oxarus.com/en/automation#cta-heading) → `open_page(path="/automation", anchor="cta-heading")`
- [See the processes](https://oxarus.com/en/automation#processes) → `open_page(path="/automation", anchor="processes")`
- [Send an email](mailto:info@oxarus.com) → `contact()`
- [Describe your process](https://oxarus.com/en/contact?start=automation) → `start_project_brief(topic="automation")`
- [Türkçe](https://oxarus.com/tr/automation) → `switch_locale(locale="tr", path="/automation")`

## Related pages

- [Oxarus home](https://oxarus.com/en)
