Integration Issues
This guide covers problems with cross-product integrations, Entity Sync, the event bus, webhooks, and API connectivity.
Entity Sync Conflicts
Symptom: A company or contact appears duplicated, or changes in one product are not reflected in another.
Understanding Entity Sync
Entity Sync keeps companies and contacts consistent across PSA, CRM, Books, RMM, Security, Portal, CMDB, and Voice. Changes propagate via the event bus and are typically reflected within seconds.
Debugging Steps
- Check the Entity Sync dashboard — Go to Hub > Integrations > Entity Sync to see the sync status and any conflicts.
- Review the conflict — When two products modify the same entity simultaneously, a conflict is created. Open the conflict to see both versions and choose which to keep.
- Force a resync — Select the entity and click "Resync" to push the current Hub version to all connected products.
- Check for duplicates — If the same company was created independently in two products before Entity Sync was enabled, duplicates may exist. Use the "Merge" function to combine them.
Common Causes
- Race conditions — Two users editing the same entity in different products at the same time.
- Delayed bus events — During high-traffic periods, sync events may be delayed by a few seconds.
- Partial product setup — If a product was added to your subscription after initial setup, existing entities may not have synced yet. Run a full sync from the Entity Sync dashboard.
Bus Event Failures
Symptom: Actions in one product are not triggering expected actions in another (e.g., a new PSA ticket is not showing in the Portal).
Debugging Steps
- Check the Event Log — Go to Hub > Integrations > Event Log to see recent bus events and their delivery status.
- Look for failed deliveries — Failed events will show a red status. Click to see the error details.
- Verify the integration is enabled — Go to Hub > Integrations and confirm the relevant cross-product integration is toggled on.
- Check product subscriptions — Both the source and destination products must have active subscriptions for events to flow between them.
Common Event Types
| Event | Source | Destination | Purpose |
|---|---|---|---|
ticket.created | PSA | Portal, Hub | New ticket notification |
alert.triggered | RMM, Security | PSA, On-Call | Auto-create ticket or page on-call |
company.updated | Any | All synced products | Entity Sync |
invoice.created | Books | Portal, Hub | Client invoice notification |
Cross-Product Data Not Appearing
Symptom: Data from one product is not showing up where you expect it in another product.
Debugging Steps
- Verify entitlements — Both products must be active in your subscription.
- Check the integration toggle — Go to Hub > Integrations and verify the specific integration is enabled.
- Check user permissions — The user viewing the data needs permissions in both the source and destination products.
- Wait and refresh — Cross-product data propagation can take up to 30 seconds in some cases. Refresh the destination product page.
- Check the Dashboard Widgets — If the issue is with the Hub dashboard, go to Hub > Dashboard > Edit and verify the relevant product widget is added to your layout.
Webhook Delivery Failures
Symptom: External systems are not receiving webhook payloads from The One Stack.
Debugging Steps
- Check the webhook log — Go to Hub > Integrations > Webhooks and review the delivery log for your webhook endpoint.
- Verify the endpoint URL — Ensure the URL is correct and publicly accessible (not behind a firewall or VPN).
- Check the response code — The One Stack expects a
2xxresponse within 10 seconds. Timeouts or non-2xx responses are treated as failures. - Verify the secret — If you configured a webhook secret for signature verification, ensure the receiving system is using the correct secret to validate the
X-Webhook-Signatureheader.
Retry Policy
Failed webhook deliveries are retried automatically:
- 1st retry — 1 minute after failure
- 2nd retry — 5 minutes after failure
- 3rd retry — 30 minutes after failure
- Final retry — 2 hours after failure
After all retries are exhausted, the webhook is marked as failed. You can manually retry from the webhook log.
API Key Permissions
Symptom: API requests return 403 Forbidden even though you have a valid API key.
Debugging Steps
- Check the key's scope — Go to Hub > API Keys and verify the key has permissions for the product and action you are trying to use.
- Check the key's status — Ensure the key has not been revoked or expired.
- Verify the product — API keys are scoped to specific products. A key created for PSA will not work for CRM endpoints.
- Check rate limits — If you are making many requests, you may have hit the rate limit. Check the
X-RateLimit-Remainingresponse header. - Verify the base URL — Each product has its own API base URL. Ensure you are using the correct one for the product you are targeting.