




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.
Makini implements automatic retry logic for failed webhook deliveries. If your endpoint is unavailable or returns an error status code, we retry delivery with exponentially increasing intervals starting at 30 seconds. Retries continue for up to 24 hours. If delivery ultimately fails, the webhook is logged but not delivered. You can view failed webhooks in the Makini dashboard and manually retry them. To prevent webhook loss during extended downtime, implement a polling backup strategy—periodically check the sync status and query for recent changes if no webhooks have been received within the expected time window. Design your webhook receiver to be idempotent, as retry logic may result in duplicate deliveries.
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.
