System administrators often want an extra layer of protection before changes to Hightouch models and syncs are pushed into production. Hightouch supports this type of change management in-app via approval flows.
Approval flows let you stage new resources (models and syncs) and changes to existing resources in draft mode until an approver reviews them. This flow protects against accidents like:
Pushing duplicate leads into your CRM
Using an incorrect token when emailing users
Using an incorrect model for an advertising campaign
When you finish creating a new model or sync, you can choose from three options:
Publish now - Only available for privileged users - This option waives the approval flow and directly publishes changes.
Submit approval request - This signals that the new resource is ready for review. Choosing this option sends an email notification to the selected approver or approvers requesting them to approve the request in Hightouch. You can optionally leave a comment on the draft.
Save as draft - This leaves any changes in draft mode without notifying anyone. You can continue editing until you are ready for review, at which point you can submit your changes for approval using the Submit approval request option.
If a sync depends on a model in draft mode, the approver must publish both resources before the sync can go live.
Editing existing models and syncs presents the same three options as creating new resources.
These are the specific types of changes that require approval:
Resource
Changes requiring approval
Model
Query, configuration, and column type changes
Sync
Configuration and schedule changes
If a sync depends on a model that has unpublished changes, the sync refers to the columns of the draft model instead of the published model. The approver must publish both model and sync before the sync can go live.
Approvers can view approval requests by selecting View Request on the corresponding resource. When reviewing a request, the approver has three options:
Approve & publish - This makes a new resource or changes to an existing resource go live.
Delete draft - This deletes the underlying draft. New resources or drafted changes are discarded and can't be recovered.
Withdraw request - This removes the approval request but leaves the drafted resource or changes intact. Users can continue editing the draft.
Any privileged user with access to the resource can approve the request, even if they weren't the one notified to review the request.
For changes to syncs, the approval request shows a comparison of changes to the sync configuration. For changes to models, the approval request shows changes to the model query.