ml-connector
Oracle PeopleSoftMicrosoft Dynamics 365 Sales

Oracle PeopleSoft and Microsoft Dynamics 365 Sales integration

Oracle PeopleSoft runs your HR and finance. Microsoft Dynamics 365 Sales runs your sales pipeline. Connecting the two keeps customer records and sales opportunities aligned across both systems. New customers or contact changes in PeopleSoft sync into Dynamics 365 Sales so your sales team works with current account and contact data. Orders and opportunities from the CRM flow back into PeopleSoft for fulfillment and revenue recognition. ml-connector handles the unique hostname and port for each PeopleSoft instance and manages the different authentication schemes on each side.

How Oracle PeopleSoft works

Oracle PeopleSoft is a self-hosted on-premise ERP and HCM platform. Each customer maintains their own environment on their own servers or Oracle Cloud Infrastructure, accessed via a unique hostname and port. It exposes customers, contacts, employees, requisitions, purchase orders, invoices, and journal entries through REST and SOAP APIs via the RESTListeningConnector and PeopleSoftServiceListeningConnector, secured by HTTP Basic Auth (OPRID and password) or OAuth2 Bearer tokens on PeopleTools 8.58 and later. PeopleSoft has no webhooks, so integration is accomplished through polling with date-range filters to detect new or changed records.

How Microsoft Dynamics 365 Sales works

Microsoft Dynamics 365 Sales is a cloud-based CRM application built on Microsoft Dataverse. It manages accounts, contacts, leads, opportunities, quotes, sales orders, and invoices through a REST OData v4.0 API. All calls require OAuth2 client credentials via Microsoft Entra ID. Dynamics 365 Sales supports webhooks through the Dataverse Event Framework for Create, Update, Delete, and custom actions with a 60-second timeout and automatic retry on 502/503/504 errors. Each webhook has a 256 KB payload limit and uses shared secrets (WebhookKey) for validation.

What moves between them

The main flow is bidirectional. Customer and contact records from PeopleSoft HCM sync into Dynamics 365 Sales accounts and contacts on a regular polling schedule. Opportunity and sales order records from Dynamics 365 Sales flow back into PeopleSoft for order fulfillment and revenue tracking. Customer identifiers are mapped between systems so a PeopleSoft customer number matches the correct Dynamics 365 account, and contact email and phone fields are kept in sync. Opportunity amounts and expected close dates flow into PeopleSoft for revenue forecasting.

How ml-connector handles it

ml-connector stores PeopleSoft credentials (OPRID and password) encrypted and makes Basic Auth calls to each customer's unique hostname and port. After authenticating, it queries the Customer CI (Component Interface) and contact inquiry services with date-range filters to detect new or changed records since the last sync. On the Dynamics 365 side, ml-connector authenticates with Entra ID client credentials and uses the Dataverse REST API to create or update matching accounts and contacts. When changes are detected in Dynamics (opportunities, sales orders), ml-connector polls the CRM to fetch the records and posts them into PeopleSoft requisition or order inquiry endpoints. Because PeopleSoft REST endpoints are primarily read-only, writes go through SOAP Component Interface calls with the customer number as the natural object key. ml-connector tracks processed record IDs to ensure no duplicates are sent, retries failed syncs with exponential backoff, and maintains a full audit trail of every record moved.

A real-world example

A mid-market manufacturing company uses Oracle PeopleSoft for HR, finance, and customer master data. Their sales team works in Microsoft Dynamics 365 Sales to manage opportunities and close orders. Before the integration, sales reps manually created accounts and contacts in Dynamics by re-typing information from PeopleSoft, and when a sale closed, the order had to be re-entered into PeopleSoft by hand before fulfillment could begin. Customer name and address changes in PeopleSoft were not reflected in Dynamics until the sales team happened to notice. With the two systems connected, new customers added to PeopleSoft appear in Dynamics 365 Sales within minutes, and when a sales rep wins an opportunity in the CRM, the order flows back into PeopleSoft automatically so the fulfillment team can pick, pack, and ship without manual entry.

What you can do

  • Sync customers and contacts from PeopleSoft to Dynamics 365 Sales on a regular polling schedule, keeping account and contact records current.
  • Push opportunities and sales orders from Dynamics 365 Sales back into PeopleSoft for fulfillment, invoice generation, and revenue recognition.
  • Authenticate PeopleSoft with HTTP Basic Auth to each customer's unique on-premise hostname and Dynamics 365 with OAuth2 via Microsoft Entra ID.
  • Map customer and contact identifiers between the two systems so records remain linked and updates flow to the correct account.
  • Track all synced records with a full audit trail, detect duplicates by ID, retry failed transfers, and replay records if a downstream call fails.

Questions

How does ml-connector handle PeopleSoft's unique hostname and port?
Each PeopleSoft customer maintains their own on-premise or cloud environment with a different hostname and port. ml-connector stores each customer's unique PeopleSoft URL and credentials encrypted, so it can authenticate directly to their instance without relying on a shared base URL. The connector accepts the full hostname and port from the customer during setup and uses those values on every PeopleSoft API call.
Which direction does data flow between PeopleSoft and Dynamics 365 Sales?
The flow is bidirectional. Customers and contacts from PeopleSoft HCM sync into Dynamics 365 Sales accounts and contacts on a regular schedule. Opportunities and sales orders from Dynamics 365 Sales flow back into PeopleSoft for fulfillment and revenue tracking. Customer identifiers are mapped in both directions so the same record is kept synchronized on both sides.
Does PeopleSoft support webhooks for real-time synchronization?
No. PeopleSoft does not publish webhooks, so ml-connector uses polling with date-range filters to detect new or changed records on a schedule you control. Dynamics 365 Sales does support webhooks, but for this pair ml-connector polls both systems on a coordinated schedule to ensure consistent synchronization timing and reliability.

Related integrations

Connect Oracle PeopleSoft and Microsoft Dynamics 365 Sales

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

Get started