EmerSoftwareSoftware Factory
Integrations12 min read

Integrating AI Agents with SAP, Salesforce and Oracle

How to integrate enterprise AI agents with SAP, Salesforce, and Oracle: APIs and events over UI bots, idempotency, allowlists, and AgentsAI as the orchestration layer — not unattended writes to ERP.

Retrato profissional de Emerson Amorim, fundador da EmerSoftware

By Emerson Amorim · Founder and Principal Software Engineer

#SAPAIagents#SalesforceAIintegration#Oracleintegration#enterprisesystemintegration#AgentsAI

SAP, Salesforce, and Oracle are where money and contracts live. An enterprise AI agent that “just uses the UI like a user” is RPA with a language model attached — you inherit every screen change and you add a new class of error: fluent, wrong postings.

The factory pattern is a tool layer: versioned APIs and events, idempotency keys, and AgentsAI as the only orchestrator that may choose those tools. The agent never receives a standing superuser role.

Agent tool layer on systems of record

  1. 01Agentplan + propose
  2. 02Policyallowlist + HITL
  3. 03AdapterOData, Composite, REST
  4. 04SoRSAP / SF / Oracle
  5. 05Auditreplayable log
The model never sees raw passwords. It proposes a tool call; policy decides; the adapter speaks SAP/Salesforce/Oracle dialects.

SAP

Prefer OData services, BAPIs, or an approved middleware. Idempotency on create. The agent may read business objects in staging freely; production writes require a human and a compensating transaction story. Do not scrape SAP GUI.

Salesforce

Composite API and platform events beat click-paths. Bulk and governor limits are part of the design. An agent that “updates every opportunity” without a bulk pattern will fail in ways that look like a CRM outage.

Oracle

Whether E-Business Suite, Fusion, or a custom Oracle stack, the same rule: published APIs or a governed integration bus. Queue the write. Make the agent’s unit of work a message you can replay, not a session on a form.

ts
type RecordSystem = "sap" | "salesforce" | "oracle";

type ToolCall = {
  system: RecordSystem;
  op: "read" | "write";
  idempotencyKey: string;
  payload: unknown;
};

async function dispatch(call: ToolCall, hitlApproved: boolean) {
  if (call.op === "write" && !hitlApproved) {
    throw new Error("write_requires_hitl");
  }
  // Adapter maps to OData / Composite / REST. No GUI.
  return { ok: true, replayId: call.idempotencyKey };
}
Demonstration adapter interface. Production systems need certified connectors and secrets in a vault — not environment variables in a prompt.

Ready to accelerate your enterprise software?

Talk with EmerSoft about the software factory, AgentsAI, and SAP, AWS, and Azure integrations — with accelerated delivery at enterprise standard.

LinkedIn · Emerson Amorim

An AI agent with SAP_ALL is not innovation. It is an incident.

If your “SAP agent” logs in as a person and clicks, you built expensive RPA with extra hallucination. The pattern that survives audit: • OData / BAPI / RFC or an official API layer — not the GUI • Salesforce Composite and platform events with idempotency keys • Oracle REST and queue-based posts, not unattended Forms • Read tools in production first; writes behind HITL • One orchestration trail (AgentsAI), not three custom scripts Full article with a tool-layer diagram and a TypeScript sketch: https://www.emersoftware.com.br/en/blog/integrating-ai-agents-with-sap-salesforce-and-oracle Integration practice: https://www.emersoftware.com.br/en/system-integration — Emerson Amorim

Automation

AI Agents vs. RPA vs. Copilots

RPA clicks. Copilots assist a person. Agents act with tools under policy. Mixing the three without a decision rule is how budgets disappear.

10 min readRead article
WhatsApp (15) 99143-7215Integrating AI Agents with SAP, Salesforce and Oracle | EmerSoftware