> ## 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.

# Prompts

> Give Ari long-term memory and customize how he behaves with persistent instructions.

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>;

## What are Ari Prompts?

Prompts are persistent instructions that shape how Ari behaves across every conversation. They act as long-term memory, letting you "program" Ari with your company's billing preferences, terminology, processes, and rules so you don't have to repeat yourself.

Think of prompts as onboarding Ari the same way you'd onboard a new teammate. You tell him once how things work, and he remembers.

***

## Why Use Prompts?

Without prompts, you'd need to remind Ari of your preferences every time you start a new conversation. With prompts, Ari already knows:

* Company specific knowledge
* Your default payment terms
* How you want invoices formatted
* Which customers get special treatment
* Your company's collections escalation process
* Internal terminology and naming conventions

***

## Creating a Prompt

You can create prompts by talking to Ari directly in Slack:

<SlackMessage><AriMention /> remember: \[instruction]</SlackMessage>

<Steps>
  <Step title="Tell Ari what to remember" icon="pen">
    Give Ari a clear instruction about how you want him to behave going forward.

    <SlackMessage><AriMention /> remember: our standard payment terms are net-30. Always use net-30 unless I specify otherwise.</SlackMessage>
  </Step>

  <Step title="Ari confirms the prompt" icon="circle-check">
    Ari will echo back what he understood and confirm the prompt has been saved. Review it to make sure it captured your intent correctly.
  </Step>

  <Step title="Ari applies it going forward" icon="rotate">
    From now on, Ari will follow this instruction in every relevant conversation. You don't need to mention it again.
  </Step>
</Steps>

***

## Example Prompts

Here are some common ways teams use prompts to customize Ari:

<AccordionGroup>
  <Accordion title="Company Specific Knowledge" icon="file-invoice-dollar">
    Tell Ari the internal acronyms, and specifics that everyone on the team knows.
  </Accordion>

  <Accordion title="Billing defaults" icon="file-invoice-dollar">
    Set your standard billing preferences so Ari uses them automatically.

    <SlackMessage><AriMention /> remember: our standard payment terms are net-30. For enterprise customers, use net-45.</SlackMessage>

    <SlackMessage><AriMention /> remember: always include the PO number in the invoice memo when the customer has one on file.</SlackMessage>

    <SlackMessage><AriMention /> remember: our default currency is USD. Only use other currencies if I specify.</SlackMessage>
  </Accordion>

  <Accordion title="Collections process" icon="envelope">
    Define your escalation process so Ari follows your playbook.

    <SlackMessage><AriMention /> remember: for overdue invoices, send a friendly reminder at 7 days, a firmer reminder at 30 days, and escalate to me directly at 60 days.</SlackMessage>

    <SlackMessage><AriMention /> remember: never send collection emails to customers tagged as "strategic" without my approval first.</SlackMessage>
  </Accordion>

  <Accordion title="Company terminology" icon="book">
    Teach Ari your internal language so he understands shorthand.

    <SlackMessage><AriMention /> remember: when I say "platform fee", I mean the {"$"}500/month base subscription line item.</SlackMessage>

    <SlackMessage><AriMention /> remember: "MSA customers" are customers on our Master Service Agreement. They always get net-45 terms and a 10% volume discount.</SlackMessage>
  </Accordion>

  <Accordion title="Formatting preferences" icon="paintbrush">
    Control how Ari presents information back to you.

    <SlackMessage><AriMention /> remember: when showing revenue breakdowns, always group by product first, then by customer.</SlackMessage>

    <SlackMessage><AriMention /> remember: when listing overdue invoices, sort by amount descending and include the customer contact name.</SlackMessage>
  </Accordion>

  <Accordion title="Customer-specific rules" icon="users">
    Set special handling for specific accounts.

    <SlackMessage><AriMention /> remember: Acme Corp invoices should always CC [jane@acmecorp.com](mailto:jane@acmecorp.com) and include their PO number AC-2024-001.</SlackMessage>

    <SlackMessage><AriMention /> remember: Global Systems is on a quarterly billing cycle. Their invoices go out on the 1st of January, April, July, and October.</SlackMessage>
  </Accordion>
</AccordionGroup>

***

## Managing Prompts

<SlackMessage><AriMention /> show me all my prompts</SlackMessage>

<SlackMessage><AriMention /> update the payment terms prompt to use net-15 instead of net-30</SlackMessage>

<SlackMessage><AriMention /> forget the rule about Acme Corp PO numbers</SlackMessage>

<SlackMessage><AriMention /> do I have any prompts about collections?</SlackMessage>

***

## How Prompts Are Applied

Prompts work at the team level, meaning everyone in your workspace benefits from them. When anyone on your team talks to Ari, he follows all active prompts.

| Scope                | What it means                                                                                                      |
| -------------------- | ------------------------------------------------------------------------------------------------------------------ |
| **Team-wide**        | Prompts apply to all conversations across your workspace. If one person sets a billing default, everyone benefits. |
| **Channel Specific** | Prompts are automatically applied across the company, but you can scope them to a specific channel.                |
| **Always active**    | Prompts are applied automatically in every relevant conversation. You don't need to reference them.                |
| **Stackable**        | Multiple prompts can apply at once. Ari combines them intelligently based on context.                              |
| **Overridable**      | You can always override a prompt in a specific conversation by giving Ari a direct instruction. Just be explicit.  |

<Tip>
  If Ari does something unexpected, check your active prompts. A previously set prompt might be influencing his behavior. You can always ask `@Ari why did you do that?` and he'll explain which prompts he applied.
</Tip>

***

## Best Practices

<AccordionGroup>
  <Accordion title="Be specific" icon="bullseye">
    Vague prompts lead to unpredictable behavior. Instead of "be careful with big customers", try "for customers with ARR over \$100K, always ask for my approval before sending collection emails."
  </Accordion>

  <Accordion title="Start small" icon="seedling">
    Begin with a few key prompts (payment terms, collections process, formatting) and add more as you discover patterns in how you work with Ari.
  </Accordion>

  <Accordion title="Review periodically" icon="magnifying-glass">
    As your processes change, your prompts should too. Check in on your active prompts quarterly to make sure they still reflect how your team operates.
  </Accordion>

  <Accordion title="Use prompts instead of repeating yourself" icon="repeat">
    If you find yourself telling Ari the same thing more than twice, that's a good sign it should be a prompt.
  </Accordion>
</AccordionGroup>
