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

# Connecting a System

> Authorize Ari to read and write in Stripe, HubSpot, Salesforce, and the rest of your stack.

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

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

You decide what Ari can reach. Start with your billing system (Stripe or Chargebee), then
add CRM, accounting, and document integrations as your workflows need them.

<Steps>
  <Step title="Open the control panel">
    Message Ari privately: `@Ari settings`. He sends you a link to the LedgerUp control
    panel; log in with your LedgerUp credentials.
  </Step>

  <Step title="Authorize the integration">
    Go to **Integrations**, choose the system, and authorize access through that
    system's own login. You choose the account and confirm the permissions being
    granted.
  </Step>

  <Step title="Verify it works">
    Back in Slack, ask a question only that system can answer:
    <SlackMessage><AriMention /> how many customers do I have in Stripe?</SlackMessage>
  </Step>
</Steps>

For what each system lets Ari see and do once connected, see
[Systems and Access](/ari/answers/connected-systems).
