Integration hub vs custom APIs for orchestrating cross-system workflows

We’re designing a cross-system workflow that needs to orchestrate processes across our CRM (Salesforce), ERP (SAP), and document management system (SharePoint). The debate on our team is whether to use Mendix Integration Hub with pre-built connectors or develop custom REST APIs for each integration point.

Integration Hub promises faster implementation with out-of-the-box connectors, but I’m concerned about flexibility and long-term scalability. Custom APIs give us complete control but require more development effort upfront. The workflow involves creating customer records, triggering approval processes, and syncing documents across all three systems.


// Example custom API approach:
POST /api/customer/create
{
  "salesforceId": "001...",
  "sapCustomerNumber": "100001",
  "approvalStatus": "pending"
}

Has anyone made this architectural decision and can share experiences on when Integration Hub makes sense versus building custom integration APIs? What are the scalability tradeoffs we should consider?

Consider the learning curve and team skills too. Integration Hub requires understanding Mendix’s connector configuration model, while custom APIs require REST/SOAP expertise and knowledge of each system’s API documentation. If your team is already strong in API development, custom might be faster. If they’re primarily Mendix low-code developers, Hub could be more efficient. Also, Hub provides built-in monitoring and logging through the Mendix platform, which is valuable for operations teams.

Integration Hub is great for standard CRUD operations and common integration patterns. If you’re just syncing customer data between systems using well-documented APIs, the pre-built connectors will save you weeks of development time. However, if you need complex transformation logic, custom error handling, or non-standard API endpoints, you’ll end up fighting against the connector limitations. I’ve seen projects where teams spent more time working around connector constraints than it would have taken to build custom APIs from the start.

One advantage of custom APIs is version control and testing. You can write unit tests for your integration logic, mock external system responses, and deploy updates independently. Integration Hub connectors are somewhat black-box-you’re dependent on Mendix updating the connector when the external system’s API changes. For mission-critical integrations, that dependency risk might be unacceptable. We use Hub for non-critical integrations and custom APIs for anything that’s part of our core business processes.

Let me provide a comprehensive analysis of all three focus areas: integration hub connectors, custom API extensibility, and scalability tradeoffs.

Integration Hub Connectors: Integration Hub offers pre-built connectors for major enterprise systems including Salesforce, SAP, SharePoint, and many others. The primary advantage is rapid implementation-what might take 2-3 weeks to build as a custom API can often be configured in 2-3 days using a connector. Connectors handle authentication, connection management, and common API patterns out of the box. They’re particularly valuable for standard operations like CRUD on business objects, file uploads, or triggering workflows. The connectors are maintained by Mendix, so when the external system updates its API, you typically just need to update the connector version rather than rewriting integration code.

However, connectors have limitations. They expose a subset of the external system’s API-usually the most common operations but not necessarily everything you might need. Custom business logic that requires chaining multiple API calls with complex transformations can be awkward to implement within the connector framework. Error handling is standardized, which is good for consistency but limits your ability to implement specialized retry logic or custom error recovery strategies. For your Salesforce-SAP-SharePoint workflow, if you’re doing standard operations like creating accounts, updating customer records, and uploading documents, the connectors will work well. If you need to implement custom approval logic that depends on business rules spanning all three systems, you’ll likely need custom code anyway.

Custom API Extensibility: Building custom REST APIs gives you complete control over the integration architecture. You define the exact endpoints, request/response formats, error codes, and business logic. This is essential when you need to implement complex orchestration patterns, handle edge cases specific to your business, or integrate with systems that don’t have Hub connectors. Custom APIs also allow you to create an abstraction layer-for example, a unified customer API that aggregates data from Salesforce and SAP, presenting a single interface to your Mendix application.

The development approach involves creating Mendix microflows that call external REST services using the REST Call action. You define the endpoint URL, HTTP method, headers (including authentication tokens), and request body. Response handling includes parsing JSON or XML, mapping to Mendix entities, and implementing error handling with try-catch blocks. For complex integrations, you might build a separate integration service layer as a dedicated Mendix module or even a separate microservice that handles all external system communication.

Custom APIs require more upfront investment: understanding each system’s API documentation, implementing authentication mechanisms (OAuth, API keys, certificates), building transformation logic, and creating comprehensive error handling. You’re also responsible for maintaining the integration code when external APIs change-there’s no automatic update from a connector provider. However, you gain testability: you can write unit tests for your integration logic, mock external system responses for testing, and version control your integration code alongside your application.

Scalability Tradeoffs: Scalability considerations differ significantly between the two approaches. Integration Hub connectors include built-in features for production environments: connection pooling to reuse connections efficiently, automatic retry logic with exponential backoff, rate limiting to respect external system quotas, and circuit breakers to prevent cascading failures. These features are valuable but come with some overhead-the abstraction layer adds latency, typically 50-200ms per request depending on the connector and operation.

For custom APIs, you control the performance characteristics. You can implement batch operations that process multiple records in a single API call, reducing network overhead. You can optimize the data transformation logic to minimize processing time. You can implement parallel processing for independent operations. In high-throughput scenarios-like your workflow processing hundreds of customer records per hour-custom APIs with optimized batch processing often deliver better performance. We’ve measured throughput improvements of 30-50% compared to connectors for bulk operations.

However, custom APIs require you to implement reliability features yourself: connection pooling, retry logic, rate limiting, and error recovery. If you don’t implement these properly, your custom integration might be less stable than using a connector. The effort to build production-grade reliability into custom APIs is significant-probably 40-50% of the total development time.

Recommendation for Your Scenario: For your Salesforce-SAP-SharePoint workflow, I recommend a hybrid approach. Use Integration Hub connectors for the straightforward parts: creating customer records in Salesforce, updating customer master data in SAP, and uploading documents to SharePoint. These are standard operations where connectors excel. Build a custom orchestration API that coordinates the workflow across all three systems-this handles the approval process logic, error recovery when one system fails, and any complex business rules that span multiple systems.

This hybrid architecture gives you the rapid implementation benefits of connectors for simple operations while maintaining flexibility for complex orchestration. The custom orchestration layer acts as a coordinator that calls the Hub connectors and implements the workflow state machine, retry logic for failed steps, and compensation logic if you need to roll back changes across systems. This separation of concerns-connectors for system-specific operations, custom code for cross-system orchestration-provides both development speed and long-term maintainability.

Don’t forget about licensing costs. Some Integration Hub connectors require additional licenses beyond the base Mendix platform, especially for enterprise systems like SAP or Salesforce. Custom APIs only require the standard Mendix license plus whatever API access costs the external systems charge. Do a total cost of ownership analysis including licensing, development time, and ongoing maintenance before deciding.

I’ve implemented both approaches in different projects. The hybrid strategy works well: use Integration Hub for standard integrations where the connector fits your needs, and build custom APIs for specialized requirements. For example, use the Salesforce connector for basic account and contact sync, but build a custom API for your complex approval workflow that involves multiple systems. This gives you the speed benefits of Hub where it works well and the flexibility of custom code where you need it.