ml-connector
Oracle JD EdwardsPipedrive

Oracle JD Edwards and Pipedrive integration

Oracle JD Edwards EnterpriseOne runs your financials and manufacturing on-premises. Pipedrive manages your sales pipeline and customer relationships in the cloud. Connecting the two keeps your prospect lists and customer contacts in sync with your master customer records. New customers added in JD Edwards appear in Pipedrive so your sales team works from current data. Contact changes, address updates, and customer status flows from JD Edwards to Pipedrive without manual re-entry.

How Oracle JD Edwards works

Oracle JD Edwards EnterpriseOne is an on-premises ERP covering financials, procurement, manufacturing, HR, and distribution. It exposes data through REST APIs via the Application Interface Services Server, which runs at each customer's infrastructure. JD Edwards authenticates with a session token obtained by POST to the tokenrequest endpoint with username and password, returning an opaque token passed in the jde-AIS-Auth header on all subsequent requests. The token lifetime is 30 to 60 minutes by default. Key entities for customer and contact sync include the F0101 Address Book table for vendors, customers, and employees, and the F03012 Customer Master table. JD Edwards has no native outbound webhooks, so data is retrieved by polling with date filters on the UPMJ updated-date field.

How Pipedrive works

Pipedrive is a cloud CRM platform focused on sales pipeline management. It exposes deals, organizations, persons, products, pipelines, and related sales objects through REST APIs at api.pipedrive.com. Authentication is via API token in the x-api-token header or OAuth2 bearer token. Pipedrive also supports native webhooks with both v1 and v2 event formats and HMAC-SHA256 signature verification. However, Pipedrive contains no invoices, bills, GL accounts, or financial records--it is CRM-only. Custom fields are stored as opaque hashes and must be retrieved separately. Pipedrive uses token-based rate limits by subscription plan, ranging from 30,000 base tokens per day to 210,000 for premium seats.

What moves between them

Customer and contact records flow from JD Edwards into Pipedrive. The main sync pulls F0101 Address Book and F03012 Customer Master records from JD Edwards on a schedule you control, maps customer names and contact information to Pipedrive organization and person entities, and creates or updates them via the Pipedrive REST API. Pipedrive is write-only for this integration since JD Edwards is the system of record for master data. The sync runs on-demand or on a cron schedule because JD Edwards has no webhooks, and ml-connector tracks the last polled timestamp to avoid re-processing unchanged records.

How ml-connector handles it

ml-connector stores the JD Edwards AIS Server URL and authentication credentials encrypted, and accepts the customer-hosted endpoint URL because JD Edwards publishes no shared base address. Session tokens last 30 to 60 minutes and return HTTP 444 when expired, so ml-connector refreshes the token transparently on the next request. It polls the F0101 Address Book and F03012 Customer Master tables with a date filter on the UPMJ updated-date field to find new and changed records since the last run. Rate limits on JD Edwards depend on AIS Server configuration, and Pipedrive's token budget is deducted per write: creating an organization costs 10 tokens, and creating a person costs 10 tokens. ml-connector deduplicates by matching JD Edwards customer number to Pipedrive organization external ID so re-runs do not create duplicate records. Custom fields in Pipedrive must be pre-configured and mapped in the flow definition since field IDs are opaque hashes. Every sync run is logged in full with record counts, transformations, and any failures replayed on the next successful cycle.

A real-world example

A mid-market B2B distribution company runs Oracle JD Edwards on-premises for order fulfillment, procurement, and financials. The sales team uses Pipedrive to manage leads and track deals. Before the integration, the sales team maintained customer information separately in Pipedrive and had to manually copy new customers from JD Edwards after the accounting team added them, often missing address or contact updates. With JD Edwards and Pipedrive connected, each new customer created in JD Edwards flows to Pipedrive overnight, and the sales team always sees current contact names and addresses. When customers close in ERP, the sync flags them in Pipedrive so the sales team does not pursue expired leads.

What you can do

  • Sync customer and contact records from JD Edwards F0101 Address Book and F03012 Customer Master into Pipedrive organizations and persons.
  • Poll JD Edwards on a schedule you define, since JD Edwards has no native outbound webhooks.
  • Authenticate with the customer-hosted JD Edwards AIS Server URL and refresh session tokens automatically when they expire.
  • Map JD Edwards customer numbers to Pipedrive organization external IDs to prevent duplicate records across re-runs.
  • Track sync history and replay failed records on the next successful cycle.

Questions

How does ml-connector handle JD Edwards being on-premises with a customer-specific URL?
JD Edwards publishes no shared base address; each customer runs an AIS Server at their own hostname and port. ml-connector accepts the full AIS Server URL as a credential and stores it encrypted, so the connector can reach the customer's instance. The customer must whitelist ml-connector's egress IP in their AIS Server allowlist.
What happens when JD Edwards session tokens expire after 30 to 60 minutes?
ml-connector monitors each request's response code. When a token expires, JD Edwards returns HTTP 444. ml-connector catches the 444, re-authenticates by calling the tokenrequest endpoint with the stored username and password, obtains a new token, and retries the request transparently.
Why does the sync run on a schedule instead of waiting for a push from JD Edwards?
JD Edwards EnterpriseOne has no native outbound webhooks or event streams that can notify an external system of changes. ml-connector polls the Address Book and Customer Master tables with a date filter on the updated-date field on a cron schedule you define, tracking the last run time so only new and changed records are fetched.

Related integrations

Connect Oracle JD Edwards and Pipedrive

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

Get started