{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-products/wallet/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"type":"markdown"},"seo":{"title":"Configure approval flows via the console","description":"User guides, API reference, and support resources.","siteUrl":"https://docs.ripple.com","lang":"en-US","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"configure-approval-flows-via-the-console","__idx":0},"children":["Configure approval flows via the console"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Approval groups require designated users to review and approve actions before those actions take effect. Use the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approval groups"]}," tab of the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Controls"]}," page in the console to create, update, and delete approval groups that enforce governance across transactions, addresses, policies, credentials, users, and devices."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For what each approval type governs and how approvals work at runtime, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/wallet/governance-and-controls/approvals"},"children":["Approvals"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"create-an-approval-group-via-the-console","__idx":1},"children":["Create an approval group via the console"]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"Owner or Administrator role required"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Only users with the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Owner"]}," or ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Administrator"]}," role can create approval groups. Other roles don't see ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create approval group"]},". If you don't see it, ask an owner or administrator in your organization."]}]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Go to the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Controls"]}," section of the Ripple Custody (Wallet) console and select the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approval groups"]}," tab."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create approval group"]},"."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Type of approval"]},", select the entity that this approval group applies to. The list shows only types that don't have an approval group yet:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Addresses"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["API credentials"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Approval groups"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Devices"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Policy rules"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Transactions"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Users"]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approvers"]},", select one or more users from your organization to become approvers."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Users with the correct permissions can approve requests."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["You can select any number of approvers."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["For ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approval groups"]},", Ripple Custody (Wallet) uses active organization owners as approvers. You configure the threshold and timeout, but you don't select individual approvers."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Threshold"]},", set the minimum number of required approvers per request. ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Threshold"]}," appears after you select approvers."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["You can require every user in the approval group, but we recommend majority approval to account for user availability."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Example: If an approval group has three approvers, set the number of required approvers to two."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approval timeout"]},", set the time window approvers have to review and approve requests before they time out: 5, 15, or 30 minutes, or 1, 2, 4, 12, or 24 hours. The default is 1 hour."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The timeout applies to all approval requests for this group. If approvers don't submit enough approvals within the configured timeout, Ripple Custody (Wallet) automatically rejects the approval."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create"]},"."]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Each entity type can have one default approval group."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/approval-group-create-form.2bc88f754cfc71d8f1c840c4365a397721ecc3008b015e601be35266c04a6fee.9fccc40d.png","alt":"The Create approval group form with Type of approval, Approvers, Threshold, and Approval timeout"},"children":[]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"add-an-approval-group-to-a-wallet-via-the-console","__idx":2},"children":["Add an approval group to a wallet via the console"]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"Owner or Administrator role required"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Only users with the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Owner"]}," or ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Administrator"]}," role can change a wallet's approval group. Other roles don't see ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Update approval group"]}," on the wallet's ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approvers"]}," tab. If you don't see it, ask an owner or administrator in your organization."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["By default, transaction approval groups apply to all wallets. To override the default approval group for a wallet, go to the wallet's ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approvers"]}," tab and select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Update approval group"]},". On the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approval group"]}," page, select one of these options:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Do not use an approval group"]}," - No approvals apply to transactions from this wallet."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Use default approval group"]}," - The wallet uses the organization-level transaction approval group."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Use a custom list of approvers for this wallet"]}," - The wallet uses wallet-specific approvers and threshold settings. Select the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approvers"]},", then the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Number of required approvals"]},", which appears after you select approvers, and the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approval timeout"]},"."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Then select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Update approval group"]},". If your organization has no transaction approval group, the console shows the default option as ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["No default approval group exists"]}," and you can't select it."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/wallet-update-approval-group.dd7cafc2517aee032d136cbd917a061cc7b42210bbdcd6dceeadd445cf0b05b5.9fccc40d.png","alt":"The Approval group page for a wallet, with Use a custom list of approvers for this wallet selected and the Approvers, Number of required approvals, and Approval timeout fields filled in"},"children":[]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To remove a wallet's custom approval group, open the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Actions"]}," menu on its row on the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approvers"]}," tab and select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Delete"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If your organization uses an ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approval groups"]}," approval group, changes to wallet-level transaction approval group overrides require active owner approval before they take effect."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To require different approvers only for transactions of more than an amount, use ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/wallet/governance-and-controls/approvals/step-up-approvals"},"children":["step-up approvals"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"require-approval-for-approval-group-changes-via-the-console","__idx":3},"children":["Require approval for approval group changes via the console"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Required role:"]}," Owner or Administrator."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Create an approval group with ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approval groups"]}," as the approval type to require active owner approval before approval group changes take effect."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Create this approval group before you create or update other approval groups if you want active owners to approve those changes. The first ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approval groups"]}," approval group turns on this requirement."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Active owner approval"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ripple Custody (Wallet) sends approval group change requests only to active organization owners. Keep enough active owners available to meet the threshold before you turn on this requirement."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To configure this requirement:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Go to the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Controls"]}," section of the Ripple Custody (Wallet) console and select the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approval groups"]}," tab."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create approval group"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Type of approval"]},", select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approval groups"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Threshold"]},", select the minimum number of active owners who must approve approval group changes."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approval timeout"]},", select how long owners have to respond."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create"]},"."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/approval-group-create-approval-groups-type.8a8bf317ffbff4183329b947e27506d08f19fe30fc51629dd601ae4e3d343a44.9fccc40d.png","alt":"The Create approval group form with Approval groups selected as the type of approval, showing Threshold, the active owners in the group, and Approval timeout"},"children":[]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After you create this approval group, these changes create a pending approval request:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Creating an organization-level approval group"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Updating an organization-level approval group"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Deleting an organization-level approval group"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Changing a wallet-level transaction approval group override, including switching a wallet to the default approval group, no approval group, or a custom list of transaction approvers"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ripple Custody (Wallet) applies the requested change only after enough active owners approve it. If you update or delete the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approval groups"]}," approval group itself later, active owners must approve that change too."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["While an approval group change is pending:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Ripple Custody (Wallet) keeps the current approval group configuration in effect."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The approval groups table shows ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Pending creation"]},", ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Pending update"]},", or ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Pending deletion"]}," status."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["You can't submit another change for the same approval group until the pending request completes, expires, or an owner rejects it."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If an owner rejects the request or the request expires, Ripple Custody (Wallet) leaves the existing approval group configuration unchanged."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"update-an-approval-group-via-the-console","__idx":4},"children":["Update an approval group via the console"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Required role:"]}," Owner or Administrator."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approval groups"]}," tab lists approval groups in a table."]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Find the approval group in the table, open the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Actions"]}," menu, and select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Edit"]},". The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Update approval group"]}," page opens."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Add or remove approvers, change the minimum number of required approvers, or change the approval timeout."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Update"]},"."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/approval-group-edit-form.43a5c1d09dee9c52f6390d09f2d40a895657a743b88632795e44c87f544b9783.9fccc40d.png","alt":"The Update approval group form for the Addresses approval group, with approvers, threshold, and approval timeout"},"children":[]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can't change the approval type. To change the type, delete the approval group and create a new one."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If your organization uses an ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approval groups"]}," approval group, updates remain pending until enough active owners approve them."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"delete-an-approval-group-via-the-console","__idx":5},"children":["Delete an approval group via the console"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Required role:"]}," Owner or Administrator."]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["On the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approval groups"]}," tab, find the approval group in the table."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Open the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Actions"]}," menu and select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Delete"]},"."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The console doesn't ask you to confirm. It submits the deletion as soon as you select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Delete"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/approval-group-actions-menu-delete.aebd4274ffbcca75c6f8191188af320f2f1c7b7a589117c82fe0c09e71fbff08.9fccc40d.png","alt":"The Approval groups table with the Actions menu open, showing Edit and Delete"},"children":[]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If your organization uses an ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approval groups"]}," approval group, deletion remains pending until enough active owners approve it. To turn off approval requirements for approval group changes, delete the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approval groups"]}," approval group. Active owners must also approve that deletion."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"governance-best-practices","__idx":6},"children":["Governance best practices"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Separate initiators from approvers."]}," Assign different users to create and approve transactions. This separation of duties reduces the risk of unauthorized actions."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Govern addresses and policies, not just transactions."]}," Require approvals on address book entries and policy rule changes to prevent unauthorized modifications to your security controls."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Use API credential approvals."]}," Require approval before new API credentials become active to prevent unauthorized programmatic access."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Protect approval groups."]}," Create an approval group with the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approval groups"]}," type so changes to approvers and thresholds require active owner approval."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Maintain active owners."]}," Keep enough owner users active to meet the approval group change threshold, especially before role or user lifecycle changes."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Review approval timeouts."]}," Set timeouts that balance speed with adequate review time. Too short (5 minutes) may cause legitimate requests to expire. Too long (24 hours) may delay operations."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Start restrictive, then adjust."]}," Begin with approval groups on all entity types. Remove them only after you understand your operational patterns and are confident the controls are no longer needed."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Monitor approval activity."]}," Use ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/wallet/integrations-and-monitoring/audit-logging"},"children":["audit logging"]}," to track who approved what and when."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"related-guides","__idx":7},"children":["Related guides"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/wallet/governance-and-controls/approvals"},"children":["Approvals"]}," — How approval groups work"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/wallet/governance-and-controls/approvals/step-up-approvals"},"children":["Step-up approvals"]}," — Require specific approvers for large transactions"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/wallet/organization-and-access/users-and-roles/manage-users"},"children":["Manage users and roles"]}," — Assign the Approver role to users"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/wallet/integrations-and-monitoring/audit-logging"},"children":["Configure audit logging"]}," — Track approval activity"]}]}]},"headings":[{"value":"Configure approval flows via the console","id":"configure-approval-flows-via-the-console","depth":1},{"value":"Create an approval group via the console","id":"create-an-approval-group-via-the-console","depth":2},{"value":"Add an approval group to a wallet via the console","id":"add-an-approval-group-to-a-wallet-via-the-console","depth":2},{"value":"Require approval for approval group changes via the console","id":"require-approval-for-approval-group-changes-via-the-console","depth":2},{"value":"Update an approval group via the console","id":"update-an-approval-group-via-the-console","depth":2},{"value":"Delete an approval group via the console","id":"delete-an-approval-group-via-the-console","depth":2},{"value":"Governance best practices","id":"governance-best-practices","depth":2},{"value":"Related guides","id":"related-guides","depth":2}],"frontmatter":{"title":"Configure approval flows via the console","seo":{"title":"Configure approval flows via the console"}},"lastModified":"2026-10-09T11:09:54.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/wallet/governance-and-controls/approvals/configure-approval-flows","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}