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
Navigate to Settings in the right sidebar in Hightouch. In the Workspace tab, toggle on Require approvals and select Save.
By default, Workspace members aren't subject to approval flows. To opt them in, set their role to Workspace Draft Contributor.
Once enabled, approval flows require new or updated resources made by Workspace Draft Contributors to be approved by a privileged user.
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.
The ability to approve requests is a specific permission granted to roles in Hightouch. By default, all roles except Workspace Draft Contributor and Workspace Viewer can grant approval.
If you want to grant approval permissions to other roles, you can build a custom role.