ml-connector
IFS CloudPipedrive

IFS Cloud and Pipedrive integration

IFS Cloud runs manufacturing and supply chain. Pipedrive runs sales pipeline and customer engagement. Connecting the two keeps your customer records and sales activities in sync. Customers and sales orders created in IFS flow into Pipedrive as organizations and deals, and deal stage updates in Pipedrive feed back into IFS to track sales readiness and inform procurement planning. ml-connector bridges two fundamentally different APIs and manages both the pull and push on a schedule you control.

How IFS Cloud works

IFS Cloud exposes customers, sales orders, GL accounts, and financial dimensions through OData v4 REST endpoints, documented in the IFS OData Provider (Apache Olingo). Each tenant has a unique subdomain (https://<tenant>.ifs.cloud), and authentication uses OAuth 2.0 client credentials with a 60-minute token lifetime. IFS Cloud offers Event Actions for server-side triggers, but these require manual per-customer configuration and are not API-driven, so the integration pattern is pull-based polling of OData with filters on timestamps or state fields. Page size must stay under 5000 elements per request, and rate limits are approximately 1000 requests per minute per tenant, returning HTTP 429 when exceeded. Mutations require OData ETag headers to enforce optimistic concurrency, and projection names vary by IFS Cloud release.

How Pipedrive works

Pipedrive exposes deals, organizations, persons, and activities through REST API with optional webhooks for real-time push notifications. Webhooks support HMAC-SHA256 signature verification and v1/v2 formats for different event structures. Authentication is available via API token (header x-api-token) or OAuth2 bearer token, though API tokens are user-tied and less suitable for integrations. Rate limiting depends on plan tier and authentication method, ranging from 20 to 480 requests per 2-second window. Daily token budgets multiply by plan tier (Lite 1x, Growth 2x, Premium 5x, Ultimate 7x), and token costs vary by operation (read 2, list 20, write 10, delete 6). Pipedrive is CRM-only and has no invoices, bills, GL accounts, or financial dimensions, so syncing is limited to customer and sales data.

What moves between them

The main flow runs from IFS Cloud into Pipedrive. Customers in IFS sync into Pipedrive as organizations, and sales orders sync as deals. Customer GL dimension codes (cost center, profit center, region) and order status map to Pipedrive custom fields so sales and finance share a single customer view. Pipedrive deal stage changes flow back into IFS to update the sales order status, informing warehouse and procurement teams of sales readiness. Because Pipedrive has no financial records, invoices and payments stay in IFS and are not synced. The sync runs on a configurable schedule or via Pipedrive webhook events when deal stage changes.

How ml-connector handles it

ml-connector stores OAuth credentials for both systems encrypted. On the IFS Cloud side it reads the tenant URL per customer from configuration, obtains an OAuth2 client credentials token, and queries CustomerSet and CustomerOrderSet with OData filters. When mutations are needed (updating order status with a stage change), it captures the ETag from the initial read and includes it in the PATCH request to enforce optimistic concurrency. On the Pipedrive side it uses API token or OAuth2 based on customer preference, maps IFS customers to organizations by external ID, and upserts deals by matching the sales order number. Deal stage updates in Pipedrive trigger webhooks that ml-connector validates with HMAC-SHA256 before updating the order status back in IFS. Rate limits on both sides are managed with exponential backoff and jitter; IFS Cloud is rate-limited to 1000 req/min and Pipedrive varies by plan tier, typically 20-120 req per 2s for API token. Every record carries a full audit trail and can be replayed if a downstream update fails. Because Pipedrive is CRM-only, financial fields such as GL accounts and cost centers are mapped to Pipedrive custom fields rather than native objects.

A real-world example

A mid-sized B2B manufacturing company runs IFS Cloud for production planning and finance, and uses Pipedrive to manage the sales pipeline across a distributed sales team. Before the integration, the sales team entered new customers and orders manually into Pipedrive after they were set up in IFS, and finance had to manually check Pipedrive deal stages to know when to create invoices or adjust cash forecasts. With IFS Cloud and Pipedrive connected, new customers in IFS appear in Pipedrive automatically, sales orders flow in as deals with pre-populated GL dimensions, and when sales marks a deal as won, IFS automatically updates the order status so the warehouse ships on time. The finance team can now see the full order lifecycle from quote to cash without re-keying, and monthly forecasting starts with current, verified deal data from sales.

What you can do

  • Sync IFS Cloud customers into Pipedrive organizations, keeping customer records aligned across sales and ERP.
  • Sync IFS Cloud sales orders into Pipedrive deals, with GL dimensions and customer codes pre-populated in custom fields.
  • Update sales order status in IFS Cloud when Pipedrive deal stage changes, ensuring the warehouse knows when to fulfill.
  • Authenticate IFS Cloud with OAuth 2.0 client credentials and manage OData ETags for safe mutations on both sides.
  • Validate Pipedrive webhook signatures with HMAC-SHA256 and handle plan-specific rate limits with exponential backoff.

Questions

Which direction does data move between IFS Cloud and Pipedrive?
The main flow is IFS Cloud into Pipedrive. Customers and sales orders sync from IFS into Pipedrive as organizations and deals. Deal stage updates flow back into IFS to update the sales order status. Because Pipedrive is CRM-only, financial records such as invoices and GL journals do not sync.
How does ml-connector handle OData ETags and Pipedrive custom fields?
ml-connector reads the ETag from each IFS OData entity before mutating it, then includes that ETag in the PATCH request to enforce optimistic concurrency and prevent lost updates. Customer GL codes and order status map to Pipedrive custom fields so sales and finance share dimension alignment without duplicating objects.
What happens if the IFS Cloud rate limit is hit or Pipedrive webhook signature validation fails?
ml-connector detects HTTP 429 (rate limit) on IFS and backs off with exponential jitter before retrying. Pipedrive webhooks are validated with HMAC-SHA256 before any action is taken; invalid signatures are logged and rejected. All records carry a full audit trail and failed syncs can be manually replayed.

Related integrations

Connect IFS Cloud and Pipedrive

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

Get started