Good afternoon, Ohana
We are currently facing a critical issue with our monday.com Salesforce integration where data has stopped flowing from Salesforce to monday.com. We have been working with monday.com technical support, but we are still stuck at the "handshake successful but no data moving" stage.
The Current State:
- We have both the Legacy Integration and the new Salesforce Two-Way Sync App installed in our monday.com environment.
- The connection shows as "Polling Successfully" in the monday.com backend logs.
- The Connected App policies in Salesforce are configured for "Relax IP Restrictions" and "Refresh token is valid until revoked."
- Despite the successful connection, creating/updating a record in Salesforce does not trigger an item creation call in monday.com.
What we have tried/verified:
- Change Data Capture (CDC): We have enabled CDC for the relevant objects (specifically the Case object).
- Auth Handshake: We deleted the corrupted tokens/connections in the monday.com Autopilot hub and established a fresh connection.
- App Transition: We attempted to move the specific workflow from the legacy integration to the new Salesforce Two-Way Sync App to rule out stale token architecture.
- HAR Analysis: A .HAR file was captured and is currently being reviewed by support.
- Permission Audit: The authenticating user has "offline access" and "View All" permissions for the target objects.
The specific roadblock: Even with the "Two-Way Sync" app, we are unable to successfully map the Link field (monday.com) to the Object ID (Salesforce), and Salesforce events are seemingly not reaching the monday.com listener.
Has anyone encountered a scenario where the integration is authenticated and polling, but the event-stream from Salesforce fails to initiate the creation call? Are there specific Apex Triggers or Platform Event permissions within the monday.com Managed Package that might be silently failing?
Any insight into the "polling but not creating" behavior would be greatly appreciated.
Hey Ohana!
I wanted to circle back and share an update on the issue I posted about recently regarding our Salesforce to monday.com Two-Way Sync App. To recap: our backend logs showed we were "Polling Successfully," but creating or updating a record in Salesforce refused to trigger an item creation in monday.com.
After digging into it with monday.com’s engineering team, we found the root cause. It wasn't a filter mismatch or a failure in our Change Data Capture (CDC) setup. Instead, it was a classic case of "token tangling" caused by technical debt. Because our integration recipes had been handed off and moved between multiple admins and users over time, the backend OAuth connection tokens became severely fragmented in the database. The system thought it was polling fine, but the payload was dropping due to stale user states.
We haven't fully ironed out our custom field mapping yet, but the core data flow is finally working! Here is the exact fix we used to untangle the tokens and get data moving again:
🛠️ The Fix: Complete Token & Ownership Reset
If you are running into a successful handshake but zero data movement, try these steps to force a clean slate:
- Update the Package: Ensure you are running the absolute latest version of the monday.com Managed Package in Salesforce.
- Transfer Automation Ownership: Open your monday.com board, go into the automation recipe, and explicitly transfer the ownership of the automation to your designated, permanent integration user/service account.
- Force a New OAuth Handshake: Click Reconnect within the recipe. Crucial: Do not just re-authorize the default account. Click "Use another account" and manually enter the credentials for your designated integration user. This forces Salesforce to issue a brand-new, clean access token.
- Power Cycle: Toggle the integration recipe OFF and then back ON to force the listener to register the new token state.
- Test: Trigger a record update in Salesforce to validate the incoming data stream.
A huge thank you to everyone who offered insights on our initial post! Hopefully, this saves someone else a few days of troubleshooting.