Oracle PeopleSoft and Salesforce integration
Oracle PeopleSoft runs your enterprise payroll and financial operations. Salesforce runs your sales and customer relationships. Connecting the two keeps your vendor and employee records in Salesforce aligned with Oracle PeopleSoft's authoritative source, so your sales team sees accurate vendor details and employee accounts without manual re-entry. New vendor records and invoice inquiries from Oracle PeopleSoft populate Salesforce automatically, and changes to employee or vendor data in Oracle PeopleSoft propagate to the corresponding contacts and accounts in Salesforce.
What moves between them
The main flow is Oracle PeopleSoft into Salesforce. Employee records from Oracle PeopleSoft (such as person records from PERSON_BASIC_CI) are polled and written to Salesforce as Contacts or Accounts. Vendor records (VENDOR_CI) and invoice data (AP_VOUCHER, esfetchinvoiceinquiry) flow from Oracle PeopleSoft into Salesforce as custom Account records or related records. Customer records (CUSTOMER_CI) also map to Salesforce Accounts. The integration polls Oracle PeopleSoft on a daily or weekly schedule tied to your finance cycles, reading only new or updated records via date-range filters. No data flows back to Oracle PeopleSoft, since Oracle PeopleSoft endpoints are primarily read-only at the REST level.
How ml-connector handles it
ml-connector accepts the customer-specific Oracle PeopleSoft hostname, port, and node name since each installation is self-hosted, and authenticates with HTTP Basic Auth (OPRID and password) or OAuth2 Bearer token depending on the PeopleTools version. On the Salesforce side, it authenticates via OAuth2 Client Credentials flow and refreshes tokens before they expire. Because Oracle PeopleSoft has no webhooks, ml-connector polls on a fixed schedule defined by the customer, using date-range filters to fetch only new records and avoid re-processing. Each Oracle PeopleSoft employee or vendor entity is mapped to a Salesforce Account or Contact by natural key (such as vendor ID or employee ID), deduplicating on subsequent runs. Invoice records and requisition data are stored in custom Salesforce objects or linked to existing Accounts. Oracle PeopleSoft does not guarantee API pagination or result counts, so ml-connector fetches results in smaller date-range windows if responses are incomplete. Retries handle Salesforce rate limits (up to 100 API requests per second per org) and Oracle PeopleSoft timeouts, with exponential backoff between attempts. Every polled record carries an audit trail and can be replayed if the Salesforce write fails.
A real-world example
A mid-market professional services firm runs Oracle PeopleSoft for HR and finance, managing consultants, contractors, and indirect vendors across three offices and multiple cost centers. They use Salesforce for sales and account management. Before the integration, when a new vendor or contractor onboarded in Oracle PeopleSoft, the finance team manually created or updated the vendor account in Salesforce, often days later, and invoice lookups required switching between two systems. When a sales rep asked 'do we work with this vendor?' they had to check Oracle PeopleSoft separately. With Oracle PeopleSoft and Salesforce connected, every new vendor or employee record appears in Salesforce within 24 hours as a linked account or contact, and sales reps can see vendor and contractor relationships without leaving Salesforce. Month-end invoice reconciliation is faster because invoice data already populated the related Salesforce account.
What you can do
- Poll Oracle PeopleSoft employees, vendors, customers, and invoice records on a schedule and write them to Salesforce as Accounts, Contacts, and custom objects.
- Map Oracle PeopleSoft employee IDs and vendor codes to Salesforce Account and Contact external IDs so records are recognized and updated on repeat syncs, not duplicated.
- Authenticate Oracle PeopleSoft with HTTP Basic Auth (all versions) or OAuth2 Bearer token (PeopleTools 8.58+) and handle customer-specific self-hosted hostname and port.
- Authenticate Salesforce via OAuth2 Client Credentials flow and refresh session tokens before they expire.
- Retry on Oracle PeopleSoft timeouts and Salesforce rate limits with exponential backoff, and maintain a full audit trail of every employee, vendor, and invoice record synced.
Questions
- Which direction does data move between Oracle PeopleSoft and Salesforce?
- Oracle PeopleSoft to Salesforce only. Employee, vendor, customer, and invoice records are polled from Oracle PeopleSoft and written to Salesforce as Accounts, Contacts, or custom objects. Salesforce does not write back to Oracle PeopleSoft. If a user edits a contact or account in Salesforce, the next poll from Oracle PeopleSoft will overwrite those fields if they are mapped.
- How does ml-connector handle Oracle PeopleSoft's self-hosted architecture and lack of webhooks?
- ml-connector stores the customer-specific Oracle PeopleSoft hostname, port, and node name in credentials and connects directly. Because Oracle PeopleSoft has no webhooks, ml-connector polls on a fixed daily or weekly schedule and uses date-range filters to fetch only new or updated records, reducing unnecessary API calls.
- What authentication methods does ml-connector use for Oracle PeopleSoft and Salesforce?
- Oracle PeopleSoft uses HTTP Basic Auth (OPRID and password) for all PeopleTools versions, or OAuth2 Bearer token for PeopleTools 8.58 and later. Salesforce uses OAuth2 Client Credentials flow with a Consumer Key and Consumer Secret. Session tokens are cached and refreshed before expiry to avoid failed calls.
Related integrations
More Oracle PeopleSoft integrations
Other systems that connect to Salesforce
Connect Oracle PeopleSoft and Salesforce
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started