ml-connector
Oracle E-Business SuiteTwilio

Oracle E-Business Suite and Twilio integration

Oracle E-Business Suite manages procurement, finance, and HR across your organization. Twilio sends SMS, email, and voice notifications. Connecting them lets you notify teams and managers in real time when critical ERP events occur: when an invoice is validated, a purchase order is approved, or an employee is hired. ml-connector handles the distinct authentication flows, manages session tokens, and ensures every ERP event reaches the right person through Twilio without re-keying or manual steps.

How Oracle E-Business Suite works

Oracle E-Business Suite (R12.2) exposes invoices, purchase orders, vendors, GL code combinations, and employee records through the Integrated SOA Gateway (ISG), which deploys REST or SOAP web services from the Integration Repository. Each customer hosts their own ISG on a customer-specific hostname and port; there is no shared public URL. Authentication uses HTTP Basic Auth (username and password) or a session token obtained from a dedicated login endpoint. The API also requires application context headers such as ctx_responsibility, ctx_respapplication, ctx_securitygroup, ctx_orgid, and ctx_nlslanguage to define which module and organization the request operates in. EBS has no webhook system, so events are discovered by polling open interface views and base tables filtered by LAST_UPDATE_DATE with limit/offset pagination on a schedule you define.

How Twilio works

Twilio exposes SMS, MMS, voice calls, email, and identity verification through REST APIs across multiple base URLs (core at api.twilio.com, messaging at messaging.twilio.com, verify at verify.twilio.com, and others). Authentication uses HTTP Basic Auth with either Account SID and Auth Token, or API Key SID and API Secret; there is no OAuth2. Webhook signatures are validated using HMAC-SHA1 with the Auth Token as the key, and request bodies use application/x-www-form-urlencoded encoding rather than JSON. Twilio fires webhooks on message delivery status (sent, delivered, failed), incoming messages, incoming calls, and other communication events, but does not expose invoices, purchase orders, GL accounts, or any ERP objects.

What moves between them

Events flow from Oracle E-Business Suite into Twilio. Invoices validated in EBS are polled by ml-connector on a schedule and sent to Twilio as outbound webhook payloads or directly as SMS/email messages to procurement teams and managers. Purchase orders approved in EBS trigger notifications to the assigned buyer. Employee hire events are sent to HR on-call rotations. Twilio status callbacks (sent, delivered, failed) are pulled back into EBS audit logs so EBS records show whether the notification actually reached its recipient. The flow is primarily EBS to Twilio; Twilio does not initiate ERP transactions.

How ml-connector handles it

ml-connector accepts the full Oracle E-Business Suite ISG hostname and port per customer, along with Basic Auth credentials. It derives or caches a session token from the ISG login endpoint and refreshes it when a request returns 401. Every EBS API call includes the required application context headers (ctx_responsibility, ctx_respapplication, ctx_orgid, etc.) that the customer provides, so ml-connector targets the correct EBS module and organization. On the Twilio side, ml-connector uses the Account SID and Auth Token (or API Key credentials) for HTTP Basic Auth on each request. It polls EBS tables (AP_INVOICES_ALL, PO_HEADERS_ALL, HR employee tables) on a schedule you set, transforms qualifying records into Twilio messaging payloads, and sends them to Twilio via the Messaging Services or direct SMS/email endpoints. Twilio status callbacks are validated using HMAC-SHA1 and posted back into EBS via a custom webhook receiver that stores the callback data (sent, delivered, failed) alongside the original EBS record for audit. Because EBS operations are often async (writes to interface tables trigger concurrent programs that run minutes to hours later), ml-connector stamps each notification with the EBS change timestamp and re-checks the EBS table periodically to catch updates that arrive after the initial notification.

A real-world example

A mid-sized manufacturing company runs Oracle E-Business Suite for procurement and finance. When a supplier invoice is validated and approved for payment, the accounts payable team wants to confirm receipt. Before the integration, invoices were approved in EBS, and the team manually checked Twilio logs or email to confirm notifications had been sent. With Oracle E-Business Suite and Twilio connected, every validated invoice triggers an SMS or email to the approver through Twilio, and the delivery status (sent, delivered, or failed) is automatically recorded back in the EBS audit trail. The accounts payable manager can see at a glance which approvals have been notified and which have failed, reducing follow-up calls and speeding month-end close.

What you can do

  • Poll Oracle E-Business Suite invoices, purchase orders, and employee records on a schedule and send notifications via Twilio SMS, email, or voice.
  • Manage Oracle E-Business Suite session tokens and application context headers so ml-connector presents the right authentication and organizational context on every request.
  • Validate Twilio webhook signatures using HMAC-SHA1 and record message delivery status (sent, delivered, failed) back into EBS audit logs.
  • Refresh Oracle E-Business Suite session tokens on 401 responses and handle the distinct Base URL and authentication flows for each Twilio sub-API (Messaging Services, Verify, etc.).
  • Timestamp all notifications with the EBS change time and re-poll EBS tables to catch async import completions and retry failed Twilio deliveries.

Questions

What EBS events can trigger Twilio notifications?
Any table in Oracle E-Business Suite that can be polled by LAST_UPDATE_DATE can trigger a notification: invoices validated, purchase orders approved, supplier changes, and employee records. ml-connector polls these tables on a schedule you define and sends each qualifying record to Twilio as an SMS, email, or voice call.
Why does Oracle E-Business Suite require customer-hosted ISG endpoints and application context headers?
Each Oracle E-Business Suite customer runs their own Integrated SOA Gateway on their own hardware or private cloud. There is no shared public URL. The application context headers (ctx_responsibility, ctx_respapplication, ctx_orgid, etc.) tell EBS which module, responsibility, and organization the request should operate in, so ml-connector targets the correct business unit even in multi-org EBS instances.
How does ml-connector handle the asynchronous nature of EBS writes and Twilio status updates?
Oracle E-Business Suite often completes writes asynchronously: a POST to an interface table returns immediately, but a concurrent program imports and validates the record seconds or minutes later. ml-connector timestamps each notification with the EBS LAST_UPDATE_DATE, re-polls the table on a longer interval to catch updates, and stores Twilio delivery status callbacks in EBS audit logs so you can see the full lifecycle of each notification.

Related integrations

Connect Oracle E-Business Suite and Twilio

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started