ml-connector
Oracle NetSuitePipedrive

Oracle NetSuite and Pipedrive integration

Pipedrive runs sales and customer relationships. Oracle NetSuite runs finance and operations. Connecting the two keeps your revenue records clean and your customer master aligned. New organizations and deals in Pipedrive flow into NetSuite as customers and opportunities, so your sales data and financial records stay in sync. ml-connector bridges the two platforms and moves data on a schedule you set.

How Oracle NetSuite works

Pipedrive exposes organizations, persons, deals, products, activities, and notes through a REST API at https://api.pipedrive.com/api/v2/. Authentication is via OAuth2 bearer tokens with configurable scopes or an API token scoped to a user. Pipedrive publishes webhook events in v2 format with HMAC-SHA256 signature verification and separate action and entity fields in a meta block. Webhook events cover creation, updates, and deletions of CRM objects. Rate limits are based on plan tier (Lite to Ultimate) and token budgets with higher multipliers for larger teams. Custom fields are exposed as opaque hashes and require separate lookups to resolve field definitions.

How Pipedrive works

Oracle NetSuite exposes customers, sales orders, opportunities, accounts, employees, departments, and other financial entities through SuiteTalk REST Web Services at https://<accountId>.suitetalk.api.netsuite.com/services/rest/record/v1/. Authentication is OAuth2 M2M with a client certificate (recommended) or legacy token-based auth. NetSuite supports Event Subscriptions for push webhooks on supported record types, but lacks native HMAC signatures and requires IP allowlist or shared secret. Alternatively ml-connector can poll via SuiteQL for bulk reads. OAuth tokens valid 60 minutes; no refresh token in M2M flow. Sandbox accounts require _SB suffix in account ID.

What moves between them

The main flow is from Pipedrive into Oracle NetSuite. When a new organization is created or updated in Pipedrive, ml-connector creates or updates the corresponding customer record in NetSuite. When a deal is created or updated in Pipedrive, ml-connector creates or updates the corresponding opportunity record in NetSuite with the deal value, stage, and linked customer. Person records in Pipedrive map to contacts under their linked customer in NetSuite. Activities and notes remain in Pipedrive and are not replicated to NetSuite; NetSuite is read-only for financial transactions and GL postings, so no data flows back to Pipedrive.

How ml-connector handles it

ml-connector receives Pipedrive v2 webhook events, verifies the HMAC-SHA256 signature using the webhook signing key, and translates the event action (create, change, delete) into a record type and operation. It presents Pipedrive's OAuth2 bearer token on each Pipedrive API call and refreshes the token using the refresh_token when expiry approaches. On the NetSuite side, it authenticates using the provided OAuth2 M2M certificate and account ID, obtains a 60-minute access token, and posts or patches customer and opportunity records. Organization names in Pipedrive map to NetSuite customer names; deal values map to opportunity amounts; deal stages map to NetSuite stage codes per a customer-provided mapping. Custom fields in Pipedrive are resolved by separate field definition lookups to extract readable field names. ml-connector batches NetSuite API calls where possible to manage the account's governance limits and retries failed webhook deliveries with exponential backoff, persisting a full audit trail so any failed record can be manually replayed. NetSuite sandbox accounts are prefixed with _SB in the account ID; production and sandbox cannot mix in a single flow.

A real-world example

A mid-market B2B SaaS company runs Pipedrive for sales pipeline management across three regions and Oracle NetSuite for consolidated finance and order fulfillment. Before the integration, sales reps logged customer updates in Pipedrive, and the finance team manually created and updated customer records in NetSuite once a month, leading to stale customer data, duplicate records, and order processing delays. With Pipedrive and NetSuite connected, every new organization and deal automatically creates the corresponding customer and opportunity in NetSuite on the day it is added to the pipeline. Finance sees real-time deal data and accurate customer master records, order fulfillment can provision customers immediately, and the sales team sees opportunities linked to the full customer financial history.

What you can do

  • Create and update customer records in Oracle NetSuite from Pipedrive organizations, keeping customer master data aligned with the sales organization.
  • Create and update opportunity records in Oracle NetSuite from Pipedrive deals, including deal value, stage, and customer relationship.
  • Create and update contact records in Oracle NetSuite from Pipedrive persons, linked to their parent customer.
  • Verify Pipedrive webhook HMAC signatures and handle OAuth2 token refresh on both sides, with full audit trail and replay capability.
  • Sync on demand via NetSuite SuiteQL polling or automatically via Pipedrive v2 webhooks with exponential backoff retry.

Questions

Which direction does data move between Pipedrive and Oracle NetSuite?
Data flows primarily from Pipedrive into Oracle NetSuite. Organizations become customers, deals become opportunities, and persons become contacts. NetSuite is read-only for financial transactions and GL postings, so no data flows back to Pipedrive. Custom mappings can align deal stages in Pipedrive to NetSuite stage codes.
How does ml-connector handle authentication for both Pipedrive and Oracle NetSuite?
On the Pipedrive side, ml-connector stores the OAuth2 client ID and secret, obtains a bearer token with the configured scopes, and refreshes the token using the refresh_token before expiry. On the NetSuite side, it uses OAuth2 M2M authentication with a client certificate, refreshes the 60-minute access token as needed, and stores the certificate encrypted. Pipedrive's HMAC-SHA256 webhook signatures are verified on every incoming webhook event.
What happens if Pipedrive webhook delivery fails or a record mapping cannot be resolved?
ml-connector retries failed webhook deliveries with exponential backoff and maintains a full audit trail showing the original Pipedrive event, the translation step, and the NetSuite API response or error. Failed records can be manually reviewed and replayed without re-sending the original webhook. Custom field mappings are resolved on the fly by querying Pipedrive's field definitions if a custom field is encountered.

Related integrations

Connect Oracle NetSuite and Pipedrive

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

Get started