---
title: Nudge Stale Approvals with an AI Action
slug: nudge-stale-approvals-with-an-ai-action
createdAt: 2026-11-06T16:22:34.739Z
---

**Requires:** AI Pro module, access to Automated Actions

This page details how to set up a scheduled Automated Action with an AI step that finds pending approval tasks older than a set number of days and sends a short, friendly reminder to each approver. It works across all ChartHop approval types: scenario approvals, form response approvals, comp review submissions, and more.

***

## Prerequisites

- Your organization has the **AI Pro** module. Without it, the **Run agent** step option is visible but disabled.
- You have permission to access **Automated Actions** (via **People Ops Tools** or **Admin**).

***

## Where to set it up

You can create this action from either of two places:

- **People Ops Tools > Automated Actions > Create action** — the action runs as the ChartHop system user.
- **Admin > Agents > \[Your Agent] > Automated Actions > Create Automated Action** — the action runs as that agent, using the agent's own access level.

:::BlockQuote
**Which should I use?** If your approvers' tasks are visible to your org's default system user, the first option is simpler. If you need a specific agent's access to see those tasks, use the second.
:::

***

## Step-by-step setup

### 1. Create the action

1. Navigate to **People Ops Tools > Automated Actions** and click **Create action** (or open an agent's **Automated Actions** tab and click **Create Automated Action**).
2. Give it a clear **Description**, for example: *Nudge stale approvals*.
3. Leave **Category** empty unless you want to organize it under a specific workflow category.

***

### 2. Set the trigger

1. Under **Trigger**, select **On a schedule**.
2. Choose how often you want reminders sent. A good default is every weekday morning, for example **9:00 AM, Monday through Friday**. Adjust to whatever cadence fits your team.

:::BlockQuote
**Important: Leave "Run when matching filter" empty.** When a scheduled action has a filter, it runs once per matching person. That would fire the agent once for every person in your org, sending duplicate messages to approvers. Leave the filter blank so the action runs once per schedule tick.
:::

***

### 3. Add a Run agent step

1. Click **Add step** and choose **Run agent**.
2. Paste the following prompt into the **Prompt** field:

```javascript
Find approval tasks that are still pending:
List TASK where status = PENDING and type is one of
CHANGE_APPROVE, TIMEOFF_APPROVE, FORM_RESPONSE_APPROVE,
SCENARIO_CHANGES_APPROVE, COMP_REVIEW_APPROVAL_SUBMIT,
created more than 3 days before today.

Group the tasks by assignee (userId). For each assignee, send ONE
message listing their pending approvals and how many days each
has been waiting, and ask them to review. Keep it short and friendly.

Use memory: skip anyone you already messaged in the last 2 days,
and record who you messaged today.
```

**Customize this prompt to your needs:**

- Change *3 days* to however long a task should sit before triggering a nudge.
- Change *2 days* to control how soon the same approver can be nudged again.
- Remove any task types from the list that you don't use.

3. Set **Complexity** to **Medium**. Increase to **High** if you have a large volume of pending tasks or many approvers.
4. Toggle **Memory** on. Memory is what lets the agent skip anyone it already messaged within your chosen window.

***

### 4. Save and test

1. Click **Save**. New actions are saved as **Inactive** by default.
2. Click **Test Run**. When prompted under **Run action on**, select any person in your org. The agent prompt does not use that person — the test dialog simply requires a selection to proceed.
3. Click **Run**, then open the **Activity Log** tab to review what the agent did and which approvers it messaged.
4. Once you are satisfied with the results, toggle **Active** on.

***

## Settings reference

| Setting                                | Recommended value                                                    |
| -------------------------------------- | -------------------------------------------------------------------- |
| **Trigger**                            | On a schedule                                                        |
| **Schedule**                           | Weekday mornings (or whatever cadence fits your team)                |
| **Run when matching filter**           | Leave empty                                                          |
| **Step type**                          | Run agent                                                            |
| **Complexity**                         | Medium (or High for large orgs)                                      |
| **Memory**                             | On                                                                   |
| **Allow action to use sensitive data** | On, if your approval tasks involve compensation or sensitive records |

***

## Important limitations

::::BlockQuote
**Keep these in mind before turning this action on:**

:::Paragraph{listStyleType="disc" indent="1"}
**Leave "Run when matching filter" empty.** Adding a filter causes the action to run once per matching person, sending duplicate messages to approvers.
:::

:::Paragraph{listStyleType="disc" indent="1"}
**What the agent can see depends on who the action runs as.** Actions created from Automated Actions run as the ChartHop system user. Actions created from an agent's page run as that agent. Make sure whichever identity you use has permission to see the pending tasks you want it to act on.
:::

:::Paragraph{listStyleType="disc" indent="1"}
**This nudge is a regular message, not a built-in task reminder.** The message is not logged as a formal reminder on the task itself. Avoiding repeat nudges relies entirely on the agent's memory, so the Memory toggle must be on.
:::

:::Paragraph{listStyleType="disc" indent="1"}
**Scenario approval chains have their own built-in reminder.** The scenario approval UI includes a dedicated "Send reminder" button for in-flight approvals. This recipe complements that workflow and does not replace it.
:::
::::

***

## Related articles

- [Automated Actions](docId:6k2uHP22MlgnhaOvzQ0yX)
- [AI Agents](docId\:G3GZp2-QPitTOvnm4VLx7)
