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

# Troubleshooting

> Quick fixes for the most common issues: no response, unexpected behavior, wrong data, and email problems.

export const AriMention = () => <span className="slack-mention">@Ari</span>;

export const SlackMessage = ({children, name = "Bailey", initials = "B", color = "#611f69", avatar = "/images/bailey-avatar.png", app = false, time = "2:47 PM"}) => <div className="slack-msg not-prose">
    <div className="slack-avatar" style={{
  backgroundColor: avatar ? "transparent" : color
}}>
      {avatar ? <img src={avatar} alt={name} /> : initials}
    </div>
    <div className="slack-msg-body">
      <span className="slack-name">{name}</span>
      {app ? <span className="slack-app-badge">APP</span> : null}
      <span className="slack-time">{time}</span>
      <div className="slack-text">{children}</div>
    </div>
    <div className="slack-actions">
      <button type="button" className="slack-action-btn" aria-label="Copy message" title="Copy message" onClick={e => {
  const msg = e.currentTarget.closest(".slack-msg");
  const el = msg && msg.querySelector(".slack-text");
  if (el && navigator.clipboard) {
    navigator.clipboard.writeText(el.innerText);
    const btn = e.currentTarget;
    const prev = btn.innerHTML;
    btn.innerHTML = '<svg viewBox="0 0 24 24" fill="none" stroke="#2AD48A" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>';
    setTimeout(() => {
      btn.innerHTML = prev;
    }, 1200);
  }
}}>
        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
          <rect x="9" y="9" width="13" height="13" rx="2" ry="2" />
          <path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" />
        </svg>
      </button>
    </div>
  </div>;

Most issues with Ari trace back to one of four things: channel membership, a standing
instruction, an integration connection, or email configuration. Work through the
matching section below, and if you're still stuck, email [support@ledgerup.ai](mailto:support@ledgerup.ai).

## Ari doesn't respond

<AccordionGroup>
  <Accordion title="Ari isn't in the channel">
    Ari only sees channels he's been added to. Click the channel's info icon, open
    **Members**, and add the Ari app. Then try `@Ari hello`.
  </Accordion>

  <Accordion title="The app isn't installed">
    If Ari doesn't appear in your Slack sidebar at all, the app may not be installed in
    your workspace. See the [5-minute setup](/ari/getting-started) for installation.
  </Accordion>

  <Accordion title="The response is just slow">
    Ari queries your systems live, so first answers typically take a few seconds, and
    large cross-system analyses can take minutes (he'll say so and reply in the thread
    when done). Slow is normal; silent isn't.
  </Accordion>
</AccordionGroup>

## Ari did something unexpected

<AccordionGroup>
  <Accordion title="Check the standing instructions">
    A previously saved instruction may be steering behavior. Ask:

    <SlackMessage><AriMention /> why did you do that?</SlackMessage>

    He'll explain which prompts he applied. Review the full set with
    `@Ari show me all my prompts`, and update or delete the stale one. See
    [Give Ari instructions](/ari/work-together/instructions).
  </Accordion>

  <Accordion title="The request was ambiguous">
    Vague requests get interpreted. Re-ask with who + what + constraints, or reply in
    the thread with the correction; Ari revises without starting over. See
    [Delegate an assignment](/ari/work-together/delegate).
  </Accordion>
</AccordionGroup>

## The data looks wrong or missing

<AccordionGroup>
  <Accordion title="The integration isn't connected (or expired)">
    If Ari can't see data you expect, check the **Integrations** page in the LedgerUp
    control panel (`@Ari settings` gets you a link). Reconnect anything expired, then
    verify: `@Ari how many customers do I have in Stripe?` See
    [Systems and access](/ari/manage/systems-and-access).
  </Accordion>

  <Accordion title="Systems disagree with each other">
    When Stripe and your CRM hold different values for the same customer, Ari flags the
    conflict and asks you to choose the source of truth. Resolve it once and the
    records sync.
  </Accordion>

  <Accordion title="A payment isn't matched to its invoice">
    Unmatched payments are normal for prepayments, deposits, or memo-less transfers.
    Review them with `@Ari show unmatched payments from the last 30 days` and match
    manually. Asking customers to include invoice numbers in payment memos prevents
    most of these.
  </Accordion>
</AccordionGroup>

## Email problems

<AccordionGroup>
  <Accordion title="Emails bounce or don't arrive">
    Check the customer's billing email in Stripe or your CRM; invoices and reminders go
    to the address on file. Persistent deliverability issues usually mean domain
    authentication: verify SPF, DKIM, and DMARC are configured in LedgerUp settings.
  </Accordion>

  <Accordion title="A customer isn't receiving reminders">
    They may have opted out of billing emails. Ari warns you before sending to an
    opted-out contact and asks how to proceed. Check preferences in your system.
  </Accordion>

  <Accordion title="The wrong person is receiving emails">
    Ask `@Ari who should I send the invoice to at [customer]?` to see the contacts on
    file, then update the billing contact in the customer record.
  </Accordion>
</AccordionGroup>

## Still stuck?

Email **[support@ledgerup.ai](mailto:support@ledgerup.ai)** with the Slack thread link; the thread contains the full
context of what was asked and what happened, which is usually everything we need.
