




Have any questions? We’re here to help You
Industrial systems are often heavily customized, and Makini is built to handle this. For reading data, Makini can access virtually any field or custom table in connected systems. Through the connection settings interface, you can specify custom fields, tables, or entities to include in API responses. These show up alongside standard fields in the unified model. For custom objects not in our default model, you can request them through the interface and they'll be available immediately. For writing data, customization support varies by system but covers most common scenarios. During implementation, we work with you to identify required customizations and ensure they're properly configured before going live.
Design your webhook receiver to handle duplicates and out-of-order webhooks, as network issues or retries can cause both scenarios. Keep the receiver lightweight—ideally writing incoming webhooks to a queue or reliable storage—then process them asynchronously. This prevents timeouts and allows your system to handle high-volume webhook spikes. Respond with a 200 status code immediately after receiving the webhook, before processing begins. Implement idempotency by tracking processed webhook IDs and skipping duplicates. Use constant-time comparison for signature verification to prevent timing attacks. If webhook processing fails, log the error but still return 200 to prevent unnecessary retries. Set up monitoring and alerts for webhook failures so you can investigate issues promptly. For critical workflows, combine webhooks with periodic polling as a fallback mechanism.
Yes, customers can connect as many systems as needed. Each connection is independent with its own API token, allowing you to manage multiple ERP systems, CMMS platforms, or other integrations for a single customer. This is common in organizations with multiple subsidiaries, regional systems, or during migration periods when legacy and new systems run in parallel. Each connection consumes connection credits based on the system type and deployment model. There's no technical limit on the number of connections per customer. For customers using multiple instances of the same system (like regional SAP instances), each instance requires a separate connection with its own credentials and token.
Disconnecting a connection can be done through the Makini dashboard or API. In the dashboard, navigate to the connection and select disconnect. Via API, call the disconnect endpoint with the connection ID. Disconnecting immediately invalidates the API token and stops all scheduled syncs and workflows for that connection. The connection credits used are returned to your pool and become available for new connections. Disconnecting does not delete historical data that was previously synced—that remains accessible until you choose to delete it. Customers can reconnect the same system at any time, which will create a new connection with a new API token. Use disconnection for customers who churn or when permanently retiring a connection.
