I am using the Microsoft Dynamics 365 CRM app and are finding inconsistent “The app did not respond in-time. It may or may not have completed successfully” errors for the Create Lead step.
Firstly, we are using the 1.17 version of this public application, not the latest 1.18, the reason being is the payload data used in the 1.18 is broken for us, it does not send certain field names with the right format (logical name) and hence we can’t use the latest version in it’s current state. This is only for creating/writing data, we use the latest version for find/lookups.
What we are finding with various Zaps that use the Create Lead step in most cases the task is in fact completing because the data has been created in CRM, but Zapier sees it as a failure with timeout related errors. With auto-replay on, this task is retried until a success response occurs, however this in nearly all cases is now duplicating data (sometimes multiple times if repeated tasks continue to be marked as stopped/error.
Turning off auto-replay is a solution but then because of the inconsistent errors occurring, the Zap itself will also be at risk of being automatically turned off due to repeated errors without handling.
From my own API testing in Postman I’ve observed the Dynamics 365 CRM web API responses in our environment take more than 30 seconds in some cases. The fact we cannot increase the timeout of the HTTP request is the main issue. Sometimes the response is within the threshold, sometimes it’s not, however in nearly all cases the task being marked as Stopped/Error has completed. The amount of fields being mapped doesn’t seem to have much bearing on the issue, I’ve had the same issue with smaller payloads vs larger ones too.
With the release of the App Extensions feature I am considering creating my own Create Lead action, so I can use the latest version of the public app while making sure the payload data is what it should be, I still can’t do anything about the timeout value however.
We really could do being able to have a way to define a custom timeout value for the HTTP request though, some APIs will always be slower and there is nothing you can do about it. I can’t see why we can’t have the option for various apps. We can create an artifical delay action step with a significantly long “delay for” value in Zaps right now, allowing certain API requests/actions to run longer is surely possible within the platform?