On the final stretches of the integrations and while preparing for the public listing of the Zapier App, we encountered a major blockage caused by app validation errors. The public listing of the app requested we fill out the fields above, which affected the existing integration, not being able to gain the webhook URL from the Zap interface and use it in the Umbraco backoffice.
After discussions with the support team - and a big thumbs up to them for helping me unblock the situation quickly, the reason behind this was the fact that “webhooks URLs are shown only when the REST hooks aren’t configured. This is no longer allowed for apps that would like to go public. This is because it makes it easier for users that they don’t have to do additional setup between both apps and it makes it seamless when everything happens on the backend.”
This sent us back to the drawing board and eventually turned around the integration.
As a result, most of the functionality was condensed in the CMS package, leaving the Forms package to act as an extension to the CMS package, handling the form submissions.
Contents of the CMS package:
- API endpoints for:
- Handling authentication from Zap
- Handling subscriptions for content and forms
- Polling for content and forms
- Get list of content types
- Get forms
- Handling saved hook configurations for content and forms
- Backoffice Dashboard
- Db operations service
- Migration plans for content subscription hooks and form subscription hooks
- Components for handling published content
Content of the Forms package:
- Components for handling form submissions
- Db operations service
CMS package is the principal one and mandatory, Forms act like an extension with less functionality. Forms-related use cases will be executed only if the Forms extension is installed.