---
title: Troubleshooting
---

When something in Sally doesn't do what you expected. The messages below are quoted as Sally writes them. For anything
not listed, the [Activity log](operations.md#look-into-something) says what Sally did and why.

## In Slack

<!-- wp:docspress/troubleshooter {"title":"My standup didn't arrive","intro":"<p>Four questions, in the order Sally checks them.</p>","startId":"active","questions":[{"id":"active","question":"Does People show you as On?","yesLabel":"Yes","yesNext":"day","noLabel":"No","noNext":"off"},{"id":"day","question":"Is today one of your working days, and not a company holiday or one of your out days?","yesLabel":"Yes","yesNext":"connected","noLabel":"No","noNext":"dayoff"},{"id":"connected","question":"Does People show your ClickUp as Connected?","yesLabel":"Yes","yesNext":"late","noLabel":"No","noNext":"connect"},{"id":"late","question":"Is it more than an hour past your prompt time?","yesLabel":"Yes","yesNext":"missed","noLabel":"No","noNext":"wait"}],"outcomes":[{"id":"off","status":"neutral","title":"You're not switched on yet","content":"<p>Check-ins only go to people who are switched on. Ask an admin, or run <code>/standup</code> to get one now.</p>"},{"id":"dayoff","status":"success","title":"No check-in today, as intended","content":"<p>Out days and holidays get no check-ins. Run <code>/standup</code> if you're working anyway.</p>"},{"id":"connect","status":"warning","title":"Connect ClickUp","content":"<p>Sally can't draft without your ClickUp connection. Run <code>/sally connect</code>, then <code>/standup</code>.</p>"},{"id":"wait","status":"neutral","title":"It may still be on its way","content":"<p>A step can go out up to an hour late after an outage. Run <code>/standup</code> to get it now.</p>"},{"id":"missed","status":"error","title":"Check the Activity log","content":"<p>Past the late window, the step won't send by itself. Run <code>/standup</code>, and look in the Activity log for why it didn't go: for example, a Slack account that isn't linked yet.</p>"}],"showProgress":true} /-->

| What you see                                                                                                            | What it means, and what to do                                                                                                                               |
| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| "Sally doesn't know you yet. Ask Aaron to add you, using the email address on your Slack profile."                      | You're not in `people`, or your Slack profile's email isn't the one Sally has. An admin adds you: see [Switch someone on](operations.md#switch-someone-on). |
| "Sally needs your ClickUp connection first. Run `/sally connect`."                                                      | You haven't connected, or ClickUp stopped accepting your connection. Run `/sally connect`.                                                                  |
| "ClickUp stopped accepting your connection to Sally. Run `/sally connect` to reconnect."                                | Your ClickUp token was rejected. Reconnect; until you do, Sally writes nothing for you.                                                                     |
| "That is a different ClickUp account"                                                                                   | You approved ClickUp while signed in as someone else, so nothing was saved. Sign out of ClickUp, sign in as yourself, and run `/sally connect` again.       |
| A task row says "saving to ClickUp…"                                                                                    | Your answer is on its way. The row updates within a few seconds.                                                                                            |
| A task row says "didn't reach ClickUp yet"                                                                              | The change failed. The standup message names it with a ref. Sally tries again with your next answer and when you submit.                                    |
| "Your standup is already submitted, so that didn't change anything."                                                    | The thread is read-only after submitting. Use **Make changes** on the standup message to reopen it.                                                         |
| "Your standup is being posted right now, so that didn't change anything."                                               | Wait for it to finish, then use **Make changes**.                                                                                                           |
| "You marked yourself out today, so that didn't change anything."                                                        | You chose **I'm out today**. Run `/standup fresh` if you're working after all.                                                                              |
| "Sally couldn't find _WC-2294_, or your ClickUp account can't see it. Check the key, or paste the task's link instead." | The key is wrong, or the task is somewhere your ClickUp account can't see. A task link always works.                                                        |
| "The list WC-2294 is in has no finished status, so Sally can't close it."                                               | `/sally done` looks for the list's closed status, then a done status. Pick the status with `/sally edit` instead.                                           |
| "ClickUp is not configured yet. Ask Aaron."                                                                             | The ClickUp OAuth app's secrets aren't set on the Worker. See [Setting Sally up](setup.md).                                                                 |
| The draft is out of date                                                                                                | Run `/standup fresh` or `/eod fresh` to draft it again from ClickUp.                                                                                        |

<!-- wp:docspress/callout {"tone":"warning","title":"A button shows ⚠️ and nothing happens","content":"<p>Slack couldn't deliver the click. The usual cause is the linchpin.com firewall challenging it. Check <strong>Security › Events</strong> for <code>Slackbot 1.0</code> requests to <code>/slack/interactions</code> with the action <em>Managed Challenge</em>. The fix is in <a href=\"/platform/sally/setup/\">Setting Sally up</a>.</p>","collapsible":false} /-->

## Statuses

**A status didn't change when I picked Done.** Sally never writes over a status that changed in ClickUp after you chose,
or over a task that was already finished. The Activity log says what happened, for example: "Left WC-2294 Header
fixes as complete rather than moving it to resolved for Aaron: it was already finished as complete." Change it in
ClickUp if it really should move.

**Taking back an answer didn't put the task back.** Sally only puts a field back while ClickUp still shows what Sally
wrote. If someone changed it since, their change stays.

## The digest

| What you see                                                                                       | What to do                                                                                                       |
| -------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| Admins get it by DM instead of in the channel                                                      | **Rules › Slack › Team channel** is empty. Set it to the channel's id.                                           |
| "Could not post the standup digest: Slack said not_in_channel. Invite @Sally to the team channel." | Invite @Sally to the channel. The next digest goes there.                                                        |
| No digest at all                                                                                   | It goes out only on weekdays that aren't company holidays, while someone is switched on, within the late window. |

## The admin

| What you see                                                                                   | What it means, and what to do                                                                                    |
| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| "Admin access is not configured", with a 503                                                   | `CF_ACCESS_AUD` is empty, so the admin refuses everyone rather than open up. Set it from the Access application. |
| "Unable to verify access", with a 503                                                          | Sally couldn't check the Cloudflare Access sign-in. Try again; if it persists, check the Access application.     |
| A page you need is missing                                                                     | Pages depend on your role. Health and People's buttons are for admins; Rules can be changed by admins and PMs.   |
| "A background job (…) kept failing and was set aside. Retry or dismiss it on the Health page." | **Health › Failed jobs**: **Retry** once the cause is fixed, or **Dismiss**.                                     |

## Sally doesn't respond in Slack at all

Sally answers Slack with a 503 when `SLACK_SIGNING_SECRET` is empty: Slack can't be verified, so nothing is acted on.
Set the secret: see [Rotate a secret](operations.md#rotate-a-secret).
