



Have any questions? We’re here to help You
Integration timelines vary by complexity. For standard implementations with no customizations, connections can be live within 1-2 weeks. This includes authentication setup and basic workflow configuration. For implementations requiring custom workflows or specific business logic, timelines typically range from 2-6 weeks depending on the scope. Complex enterprise deployments with multiple systems and custom requirements may take 6-10 weeks. These timelines are significantly shorter than traditional integration projects, which often take 2-24 months.
When customers change their system credentials, the existing Makini connection will lose access and workflows will begin failing with authentication errors. Makini provides webhook notifications when connections require reauthorization, allowing you to proactively notify customers. Customers can reconnect by logging into the system through Makini's authentication flow again, which issues a new API token. The reconnection process takes only a few minutes. Best practice is to implement connection health monitoring and automated alerts when connections require attention, so you can address issues before they impact operations.
Yes, Makini supports both cloud-based and on-premises systems. For on-premises installations, connections require double the connection credits compared to cloud systems. The connection process typically requires opening specific ports and whitelisting Makini's IP addresses in your firewall configuration. For some on-premises systems, VPN tunnels may be necessary. We provide detailed technical requirements during implementation planning. In cases where security policies prohibit external connections, we offer self-hosted deployment options where Makini runs entirely within your infrastructure, eliminating the need for external network access to on-premises systems.
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.
