> ## Documentation Index
> Fetch the complete documentation index at: https://kb.mspprocess.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Approvals

> Set up your internal approvers, choose who approves a workflow's requests, let them correct a request first, and see what your team and your client's approver see.

A workflow with approval waits before changing anything in the client's tenant. Your team decides internal requests on Approvals; the client's approver decides external ones from an emailed link. A request routed to a [group](#set-up-approval-groups) isn't emailed: it waits on Approvals for any member, and with Ticketing on, its PSA ticket gets a note linking to Approvals.

## Set up internal approvers

Your internal approvers are your default approver group: a request whose internal approval names no approver goes to them, and without one Core refuses it at submit.

**1. Open the setup**

On Home, click **Set up** next to Set up internal approvers.

**2. Choose the people**

Untick anyone who shouldn't approve, then click **Create**.

![The Internal approvers dialog: Requests that need internal approval go to this group. Name Internal Approvers, People with five teammates ticked, 5 of 5 selected, Make this the default approver for your workflows ticked, and Cancel and Create buttons.](https://mintcdn.com/triggr/6h-KpoysIbsbnuQi/images/core/approvals/internal-approvers.png?fit=max\&auto=format\&n=6h-KpoysIbsbnuQi\&q=85\&s=0651bb1de9427fc24d4dfdb35fe7e17f)

Only admins can save it. To change it later, click **Review** on the same step; it edits the same group, which you also manage under **Settings > User groups**.

## Set it up

<video controls preload="none" playsInline poster="/images/videos/approvals-setup.jpg" src="https://mintcdn.com/triggr/rFRD51HB_88hTzdJ/images/videos/approvals-setup.mp4?fit=max&auto=format&n=rFRD51HB_88hTzdJ&q=85&s=113fbb039deda91c8e2125d45b4bec2b" />

Choose who approves: None, Internal, External, conditional overrides and letting the approver correct the request (1:19).

**1. Choose a teammate**

On the workflow's **Execution config** tab, choose Internal on the Approval card. Set Approver to Default for your [internal approvers](#set-up-internal-approvers), or to User or [Group](#set-up-approval-groups) and pick who approves.

![The Approval card on Base config with Internal selected, Approver set to User and Alex Morgan, the Let the approver edit the request switch on, and Conditional overrides with an Add an override button.](https://mintcdn.com/triggr/MwzXHG3UWzFixdSz/images/core/approvals/approval-internal.png?fit=max\&auto=format\&n=MwzXHG3UWzFixdSz\&q=85\&s=29ec131afe54237c5e1746cfa47bc5ee)

**2. Or choose the client**

Choose External, then pick each client in the scope dropdown, click **Override** on its Approval card and enter the Client approver name and email. Any email address can approve, without an account.

![The Approval card on Base config with External selected, the note Client approver: Set on each client's config page. A run for a client that has none is blocked at submit until it's set, and the Let the approver edit the request switch on.](https://mintcdn.com/triggr/MwzXHG3UWzFixdSz/images/core/approvals/approval-external.png?fit=max\&auto=format\&n=MwzXHG3UWzFixdSz\&q=85\&s=382447b619f3224375dc9650a255011c)

Base config.

![The Approval card for one client marked Overridden with a Reset button, External selected, Client approver name Dana Reyes, Client approver email dana@acme.com and the Let the approver edit the request switch on.](https://mintcdn.com/triggr/MwzXHG3UWzFixdSz/images/core/approvals/approval-client.png?fit=max\&auto=format\&n=MwzXHG3UWzFixdSz\&q=85\&s=26d11f85b06d1e6f7447742d4c8a3859)

Acme Corp's override.

**3. Let the approver correct the request (optional)**

Turn on **Let the approver edit the request**. It applies to requests submitted after that; with an external approver, anyone holding the link can also browse the client's directory in the request's people pickers until it's answered.

**4. Save**

Click **Save changes**.

To route some requests to a different approval, add a rule under Conditional overrides; the first match wins. Each override has its own Let the approver edit the request switch, off by default, and its approval replaces the default rather than adding to it. Overriding the Approval card for a client copies the base conditional overrides into that client, so later base changes to them don't reach it.

What an approver can correct, when editing is on:

| | Internal | External |
| - | - | - |
| Where | The request on Approvals | The emailed link |
| What | Any answer | Any answer except who receives a password |
| Work email | Regenerated from a corrected name | Regenerated; must be a suggested address not already in use |
| Saved | On Save changes, before approving | On approve; dropped on reject |

Core re-checks corrected answers as it would a new request, keeps any temporary password already shown, and the run uses the corrections.

## Set up approval groups

Route approvals to a group of teammates. Any member can decide a request, and the first decision settles it.

<video controls preload="none" playsInline poster="/images/videos/approval-groups.jpg" src="https://mintcdn.com/triggr/rFRD51HB_88hTzdJ/images/videos/approval-groups.mp4?fit=max&auto=format&n=rFRD51HB_88hTzdJ&q=85&s=7dfeab65a21362585b9984030f42fbc7" />

Set up approval groups: create a group, add members and route a workflow's approval to it (1:28).

**1. Create the group**

Go to **Settings > User groups**, click **New group**, enter a Name and an optional Description, and click Create group.

![The New group dialog with Name Service Desk, Description Approves client requests, and Cancel and Create group buttons.](https://mintcdn.com/triggr/MwzXHG3UWzFixdSz/images/core/approvals/group-new.png?fit=max\&auto=format\&n=MwzXHG3UWzFixdSz\&q=85\&s=3d7607d6a4faffd419a58008ebcb06b1)

**2. Add members**

Click the group and pick each teammate from **Add a person…**. Changes save as you go; click the cross next to someone to remove them.

![The Service Desk panel with 3 members, Alex Morgan, Sam Okafor and Priya Nair, each with a remove cross, the Add a person picker and Delete group.](https://mintcdn.com/triggr/MwzXHG3UWzFixdSz/images/core/approvals/group-members.png?fit=max\&auto=format\&n=MwzXHG3UWzFixdSz\&q=85\&s=b4254c11bb86a057c39950e0031afd40)

**3. Route approvals to it**

Open the workflow from Config. On Execution config, under Approval, choose Internal, set Approver to Group, pick the group and click **Save changes**. Every client inherits it unless you override the Approval card for that client. To send only some requests to the group, use a conditional override and choose Internal, Group and the group under Then.

![The Approval card with Internal selected, Approver set to Group and Service Desk chosen, the Let the approver edit the request switch, and Conditional overrides with Add an override.](https://mintcdn.com/triggr/MwzXHG3UWzFixdSz/images/core/approvals/approval-group.png?fit=max\&auto=format\&n=MwzXHG3UWzFixdSz\&q=85\&s=ec15ffda895900c37e14ec31937b7db0)

When a request arrives, it waits on Approvals with the group's name as Approver. Group approvals aren't emailed. If the workflow creates a PSA ticket and Log actions to the ticket is on (the default), the ticket gets an internal note, Awaiting internal approval, linking to Approvals.

![A User Onboarding run for Acme Corp, Running, with Trigger, Set Client, Create Ticket, Workflow started, Approval needed? and Awaiting internal approval marked Success, and Approval marked Pending.](https://mintcdn.com/triggr/MwzXHG3UWzFixdSz/images/core/approvals/group-ticket-note.png?fit=max\&auto=format\&n=MwzXHG3UWzFixdSz\&q=85\&s=50dbb5c757bc8bce842f32e297fbcf69)

The run waits at Approval after noting the ticket.

> [!WARNING]
>
> Before you delete a group, choose a new approver for the workflows that use it. Requests routed to a deleted group can't be approved.

## Approve in Core

<video controls preload="none" playsInline poster="/images/videos/approve-in-core.jpg" src="https://mintcdn.com/triggr/rFRD51HB_88hTzdJ/images/videos/approve-in-core.mp4?fit=max&auto=format&n=rFRD51HB_88hTzdJ&q=85&s=1634b5c83e62a860f1585b1013cfd4da" />

Approve a request: open it, correct the details and decide, in Core (1:02).

**1. Open the request**

Go to **Approvals** and click a request. Only its approver, or a member of its group, can decide it.

![The Approvals page filtered to Pending, with a Refresh button, a Search approvals box and three requests titled Approval required for Acme Corp, Globex and Initech, with approvers alex@yourmsp.com and Service Desk, Pending statuses and requested dates.](https://mintcdn.com/triggr/MwzXHG3UWzFixdSz/images/core/approvals/approvals-list.png?fit=max\&auto=format\&n=MwzXHG3UWzFixdSz\&q=85\&s=1971dbf6b4bf4cf0e8cf92434f0d2970)

**2. Check the details**

Request details lists the answers as submitted.

![An open request titled Approval required for Acme Corp, Approver alex@yourmsp.com, Pending, with the body Create a new user account for Jane Doe (jane.doe@acme.com), Request details with an Edit details button, Workflow execution Running, and Reject and Approve buttons.](https://mintcdn.com/triggr/MwzXHG3UWzFixdSz/images/core/approvals/approval-request.png?fit=max\&auto=format\&n=MwzXHG3UWzFixdSz\&q=85\&s=4472ba57b1c6c02f58018c1a8ce472af)

**3. Correct them (optional)**

Click **Edit details**, fix the answers and click Save changes.

![The request in edit mode: the note Correct anything that's wrong, then save, fields for First name, Last name, Work email (UPN) with Generated from the name, Job title changed to Senior account manager, Department, Start date and Reporting manager, and Cancel and Save changes buttons.](https://mintcdn.com/triggr/MwzXHG3UWzFixdSz/images/core/approvals/approval-edit.png?fit=max\&auto=format\&n=MwzXHG3UWzFixdSz\&q=85\&s=4933a7dc5e8318415884a980bac71c7a)

![Request details after the edit, with Job title Senior account manager above the struck-through Account manager, and the line Edited by alex@yourmsp.com, 16 Oct, 10:14, original answers are struck through.](https://mintcdn.com/triggr/MwzXHG3UWzFixdSz/images/core/approvals/approval-edited.png?fit=max\&auto=format\&n=MwzXHG3UWzFixdSz\&q=85\&s=ee5526e26b16d50a64b37c5594faa83a)

After saving: who edited it, with the original answers struck through.

**4. Approve or reject**

Click **Approve**. To reject, click Reject, give a reason and confirm; the run stops.

![The Reject this request? dialog, saying This can't be undone and the workflow will stop, with a required Reason for rejection, and Cancel and Confirm rejection buttons.](https://mintcdn.com/triggr/MwzXHG3UWzFixdSz/images/core/approvals/reject-dialog.png?fit=max\&auto=format\&n=MwzXHG3UWzFixdSz\&q=85\&s=d6fce9265fd226946020304f49016f18)

Filter by Approved or Rejected to see past decisions, who made them and the reason.

## What the client's approver sees

<video controls preload="none" playsInline poster="/images/videos/client-approver.jpg" src="https://mintcdn.com/triggr/rFRD51HB_88hTzdJ/images/videos/client-approver.mp4?fit=max&auto=format&n=rFRD51HB_88hTzdJ&q=85&s=b6ef11a26a1cd05bd7868928e13d0c64" />

What your client's approver sees: the email, the approval page, correcting the details and the decision (1:03).

External requests don't appear on Approvals.

**1. The email**

It comes from your [approval sender](https://kb.mspprocess.com/core/get-started/add-your-branding.md#send-client-emails-from-your-own-address-optional) and says who requested the change.

![An email titled Approval required for Acme Corp from Your MSP to dana@acme.com: Before we make the following change for Acme Corp, we need your approval: Create a new user account for Jane Doe (jane.doe@acme.com). Requested by hr@acme.com. A View Details button, signed Your MSP.](https://mintcdn.com/triggr/MwzXHG3UWzFixdSz/images/core/approvals/approval-email.png?fit=max\&auto=format\&n=MwzXHG3UWzFixdSz\&q=85\&s=fb1a275e280292846f27885fafdaef97)

**2. The approval page**

View Details opens a page with your branding, on your [public forms domain](https://kb.mspprocess.com/core/get-started/add-your-branding.md#use-your-own-domain-optional) if you've set one, otherwise on Core's own address. There's no sign-in: anyone with the link can answer, and it stops working once someone has.

![The Approval required page headed Your MSP with a Secure link label: Your MSP needs your response to continue, a Request details card with an Edit button and the new starter's answers, then the approval request summary, Do you approve this request? with Approve and Reject options, Comments (optional) and a Submit button.](https://mintcdn.com/triggr/MwzXHG3UWzFixdSz/images/core/approvals/external-page.png?fit=max\&auto=format\&n=MwzXHG3UWzFixdSz\&q=85\&s=304092cb8efb7c9899ae85308d3b0d47)

**3. Correcting the details**

With editing on, Edit turns the details into a form. Who receives a password isn't shown, and anything else they can't change has a padlock.

![Request details in edit mode: Correct anything that's wrong. Your changes are applied when you approve, a Discard changes link, and fields for First name, Last name, Work email (UPN) generated from the name, Job title changed to Senior account manager, Department, Start date and Reporting manager.](https://mintcdn.com/triggr/MwzXHG3UWzFixdSz/images/core/approvals/external-edit.png?fit=max\&auto=format\&n=MwzXHG3UWzFixdSz\&q=85\&s=af589e8498443b21de2ef76374173f1d)

![Request details in edit mode for a password reset: User, Require a change at next sign-in? and Reason / ticket reference are editable, Send the new password to Their manager has a padlock, and a note says Locked details can't be changed here. If one is wrong, reject the request and say what needs fixing.](https://mintcdn.com/triggr/MwzXHG3UWzFixdSz/images/core/approvals/external-locked.png?fit=max\&auto=format\&n=MwzXHG3UWzFixdSz\&q=85\&s=f0a920be52d294cef01b6dae7483a484)

A Password Reset: where the password goes is locked.

**4. The decision**

They approve or reject, add an optional comment and click Submit. Corrections are saved only if they approve.

![The decision card: Approval request Create a new user account for Jane Doe (jane.doe@acme.com), Do you approve this request? with Approve — proceed with the request selected, a comment, and a Submit button.](https://mintcdn.com/triggr/MwzXHG3UWzFixdSz/images/core/approvals/external-decision.png?fit=max\&auto=format\&n=MwzXHG3UWzFixdSz\&q=85\&s=86884d89c728693a100d1145062354ae)

**5. Confirmation**

Thank you means the answer reached Core and the run has carried on.

![The Thank you page headed Your MSP: Your response has been recorded and sent to Your MSP. You can close this page.](https://mintcdn.com/triggr/MwzXHG3UWzFixdSz/images/core/approvals/external-thank-you.png?fit=max\&auto=format\&n=MwzXHG3UWzFixdSz\&q=85\&s=857eba6475fe3b10202c6286a47cbf59)

Opening the link again shows one of these:

> [tab] This link isn't available
>
> The request has already been answered.
>
> ![The This link isn't available page: This request has already been answered, or the link has expired. If you were asked to review something, reply to the email you received and whoever sent it can re-issue the link.](https://mintcdn.com/triggr/MwzXHG3UWzFixdSz/images/core/approvals/external-link-unavailable.png?fit=max\&auto=format\&n=MwzXHG3UWzFixdSz\&q=85\&s=d78e1de2195ee927054fdaf66ee3ce27)

> [tab] Already completed
>
> Someone answered while the page was open.
>
> ![The Already completed page headed Your MSP: This request has already been answered, there's nothing left to do here. You can close this page.](https://mintcdn.com/triggr/MwzXHG3UWzFixdSz/images/core/approvals/external-already-completed.png?fit=max\&auto=format\&n=MwzXHG3UWzFixdSz\&q=85\&s=f6c113dd755d83152a841a75b3cbbd9e)

## After the decision

Follow the run on [Executions](https://kb.mspprocess.com/core/use/executions.md): an external request waits at its Client approval step, and a rejected request ends at Not Approved. With Log actions to the ticket on, the PSA ticket also gets these notes:

| Note | When |
| - | - |
| Awaiting internal approval, or Awaiting client approval | The request starts waiting; the client note names the approver's email. |
| Request corrected by the approver | After the decision, if anyone corrected it: who, and each change as `Label: before → after`. |
| Request not approved | The request was rejected. |

## Troubleshooting

> [accordion] “… needs a client approver email — set it on this client's config page.”
>
> The client has no approver. Override its Approval card and enter a Client approver email.

> [accordion] “these changes would need a different approval …”
>
> The corrected answers match a different conditional override. Reject the request and submit a new one with the corrected details.

> [accordion] There's no Edit details button
>
> Editing applies only to requests submitted after it was turned on, and only the request's approver can edit, while it's pending.

> [accordion] “You are not the designated approver for this request”
>
> Only the named approver can decide it. For a group the message reads "You are not a member of the group that can approve this request": add them under **Settings > User groups**.

> [accordion] The client's approver didn't get the email
>
> Check the client's Client approver email and your approval sender. Without a sending profile, ask them to check spam for mail from `app@triggr-app.com`.

Next: [Reports](https://kb.mspprocess.com/core/use/reports.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.