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

# Client success best practices

> A working approach to discovery, setup, testing, handoff, training and check-ins, anchored to what Actionist actually does rather than generic advice.

<div className="mxp-hero xc-border">
  <div className="exp-eyebrow mxp-rise">RUN IT WELL</div>

  <h2 className="mxp-hero-title mxp-rise" style={{animationDelay:'0.06s'}}>
    A good client outcome is a routine, <span style={{background:'linear-gradient(90deg,#24A4FF,#9000FF,#E3008E)',WebkitBackgroundClip:'text',backgroundClip:'text',color:'transparent'}}>not a rescue.</span>
  </h2>

  <p className="mxp-hero-dek mxp-rise" style={{animationDelay:'0.13s'}}>
    Discovery, setup, testing, handover, training and check-ins, each step anchored to something Actionist actually does, not a generic agency playbook. Every recommendation on this page names the exact screen, button or copy it depends on.
  </p>
</div>

<div className="w-full py-10">
  <div className="actionist-tight flex flex-col gap-2 mb-6">
    <span className="actionist-section-eyebrow">The shape of it</span>
    <h2 className="text-2xl md:text-3xl font-semibold tracking-tight text-gray-900 dark:text-gray-50">Six stages, in order.</h2>

    <p className="text-base text-gray-600 dark:text-gray-400 max-w-3xl">
      Each stage leans on one specific part of Actionist. Skip one and the next stage gets harder, not impossible, just harder.
    </p>
  </div>

  <div className="mxp-pipe">
    <div className="mxp-pipe-node"><strong>Discover</strong><span>Questions that map onto the five groups you'll actually build.</span></div>

    <div className="mxp-pipe-link" />

    <div className="mxp-pipe-node"><strong>Set up</strong><span>Build each agent's five groups in the Agent Onboarding studio.</span></div>

    <div className="mxp-pipe-link d2" />

    <div className="mxp-pipe-node"><strong>Test</strong><span>Dry run every trigger, run every schedule once, before you confirm.</span></div>

    <div className="mxp-pipe-link d3" />

    <div className="mxp-pipe-node"><strong>Hand over</strong><span>Show Needs attention, a run record, and the approval mode control.</span></div>

    <div className="mxp-pipe-link d4" />

    <div className="mxp-pipe-node"><strong>Train</strong><span>Walk their team through what each agent can do alone, and can't.</span></div>

    <div className="mxp-pipe-link d2" />

    <div className="mxp-pipe-node"><strong>Check in</strong><span>Read the metrics tab and the Needs attention list. Nothing arrives on its own.</span></div>
  </div>

  <div className="exp-surface-grid" style={{marginTop:'22px'}}>
    <div className="exp-surface-tile"><strong>Discover.</strong> The five questions you ask map directly onto the five groups in the studio, nothing you learn goes to waste later.</div>
    <div className="exp-surface-tile"><strong>Set up.</strong> Confirming an agent turns its schedules and triggers on the same instant. Confirm last, never first.</div>
    <div className="exp-surface-tile"><strong>Test.</strong> There is no whole-agent test mode. A trigger's dry run and a schedule's Run now are the only two checks you get.</div>
    <div className="exp-surface-tile"><strong>Hand over.</strong> Nothing in the product records what you changed. If you don't tell the client, nobody will.</div>
    <div className="exp-surface-tile"><strong>Train.</strong> A client can revoke any permission the moment training ends, without telling you first.</div>
    <div className="exp-surface-tile"><strong>Check in.</strong> The metrics view moved into Billing. There is no digest email sitting there to remind you it exists.</div>
  </div>
</div>

<hr className="xc-divider" />

<div className="w-full py-10 xc-rise">
  <div className="actionist-tight flex flex-col gap-2 mb-6">
    <span className="actionist-section-eyebrow">Before discovery</span>
    <h2 className="text-2xl md:text-3xl font-semibold tracking-tight text-gray-900 dark:text-gray-50">Making the case to a business.</h2>

    <p className="text-base text-gray-600 dark:text-gray-400 max-w-3xl">
      Two arguments do most of the work in a first conversation, and they are the two a business objects to first: what it costs, and whether they can trust you inside their systems.
    </p>
  </div>

  <div className="xrs-two">
    <div className="xrs-two-col can">
      <div className="xrs-two-tag">The cost argument</div>
      <div className="xrs-two-item">The average US worker costs a business about \$66,622 a year, per <a href="https://www.sofi.com/learn/content/average-salary-in-us/" target="_blank" rel="noreferrer">SoFi</a>. A dozen staff is over a million in payroll.</div>
      <div className="xrs-two-item">An agent takes real work off that team, or lets the same people cover far more, for a fraction of one salary.</div>
      <div className="xrs-two-item">Anchor on a specific task the business already pays someone to do, not on the software. "This is the four hours a week your ops person spends on invoices" lands harder than a feature list.</div>
    </div>

    <div className="xrs-two-col cant">
      <div className="xrs-two-tag">The trust argument</div>
      <div className="xrs-two-item">You never see their passwords, API keys or tokens. That is enforced on the server, not promised in a contract.</div>
      <div className="xrs-two-item">They choose exactly which parts of their workspace you can reach, toggle by toggle, and can change it at any moment without asking you.</div>
      <div className="xrs-two-item">Show them the **Manage Reseller** panel early. Handing someone the off switch up front is usually what makes them comfortable turning things on.</div>
    </div>
  </div>

  <Tip>
    The strongest version of the trust argument is a demonstration rather than a sentence. Walk a prospective client through the eight permissions and the credentials hard limit before they ask, and you convert a worry they were about to raise into a reason to say yes. See [Client permissions and access](/resellers/permissions).
  </Tip>

  <Warning>
    Do not promise a specific saving, a payback period, or an income figure on the client's behalf. You have no verified benchmark to quote and the product does not produce one. Talk about the work an agent will take on, and let the client apply their own numbers to it.
  </Warning>
</div>

<div className="w-full py-10 xc-rise">
  <div className="actionist-tight flex flex-col gap-2 mb-6">
    <span className="actionist-section-eyebrow">Before you open the studio</span>
    <h2 className="text-2xl md:text-3xl font-semibold tracking-tight text-gray-900 dark:text-gray-50">Discovery that produces a build.</h2>

    <p className="text-base text-gray-600 dark:text-gray-400 max-w-3xl">
      Every agent the client works through in the Agent Onboarding studio breaks into the same five groups: Agent Instructions, Skills, Channels, Advanced, and Apps. Ask your discovery questions in that shape and the answers drop straight into the build, instead of sitting in a notes doc you translate later.
    </p>
  </div>

  <AccordionGroup>
    <Accordion title="Agent Instructions: identity, remit and team" icon="user-round">
      * Which named task or decision does this agent take on, and what is explicitly outside its remit?
      * Whose voice should it write in, and is there a house style doc or set of past emails to point it at?
      * Which of the client's team members should this agent be shown as working for, so its remit reads correctly the first time they open it?
      * Is there a decision this agent should never make on its own, regardless of how it's configured elsewhere?
    </Accordion>

    <Accordion title="Skills: manual tasks, schedules and triggers" icon="wrench">
      * Which of this agent's jobs should run itself on a clock, and how often, daily, hourly, a fixed time each week?
      * Which jobs should only ever run because someone asked in chat?
      * Is there an inbound event, a payment, a support ticket, a form submission, that should wake this agent instead of a schedule?
      * If a trigger fires on a payload field that isn't always present, what should happen instead of the agent guessing?
    </Accordion>

    <Accordion title="Channels: where this agent talks to the team" icon="message-square">
      * Where does this agent's output actually need to land, a specific Slack channel, Telegram, or nowhere, silent and logged only?
      * Who should see its day-to-day output, and who should only be told when something goes wrong?
      * If "silent" is the answer, is that a deliberate choice or does no one know a channel option exists?
    </Accordion>

    <Accordion title="Advanced: delegation, access control and approval mode" icon="sliders-horizontal">
      * How much should this agent do without asking, in its first week? Is that answer different by month two?
      * Is there an irreversible action, a payment, a delete, a message sent outside the organization, this agent should never take without a human confirming, no matter the approval mode?
      * Should this agent be able to delegate to others, or does that wait until the client trusts it more?
    </Accordion>

    <Accordion title="Apps: connecting the tools this agent uses" icon="plug">
      * Which of these connections need the client's own login, and have you named them individually rather than describing them abstractly?
      * Does the client already use one of these apps under a different account than the one they'll connect here?
      * Which connections does this agent share with other agents, so one broken connection affects more than a single workspace?
    </Accordion>
  </AccordionGroup>

  <Note>
    Five questions per agent is deliberate, not five for the sake of it. Each group in the studio only accepts input in its own shape, an Advanced answer never helps you fill in Channels, so an answer that doesn't map to one of the five groups usually means the question was aimed at the wrong stage of the conversation.
  </Note>
</div>

<hr className="xc-divider" />

<div className="w-full py-10 xc-rise">
  <div className="actionist-tight flex flex-col gap-2 mb-6">
    <span className="actionist-section-eyebrow">The most useful thing on this page</span>
    <h2 className="text-2xl md:text-3xl font-semibold tracking-tight text-gray-900 dark:text-gray-50">Walking the Agent Onboarding studio.</h2>

    <p className="text-base text-gray-600 dark:text-gray-400 max-w-3xl">
      This is the studio your client runs, and the one you can pick up from mid-way through inside a delegated session. Knowing its exact shape means you never guess what comes next.
    </p>
  </div>

  <Steps titleSize="h3">
    <Step title="Open the studio" icon="sparkles">
      A re-entry teaser reads "Set up your agents", with "Answer a few questions about your business and Actionist proposes the agents to build." One button, **Start**, opens **Agent onboarding** itself: "Review the company memory every agent reads, then work through your agents one at a time."
    </Step>

    <Step title="Watch the workspace come online" icon="server-cog">
      The workspace provisions in the background across three states, **Preparing**, **Ready**, and **Needs attention**. The timing copy is deliberately calm: "Usually ready in two to three minutes. You can keep working while it starts." If it stalls: "Agent setup carries on. Anything that needs the workspace waits until it is back."
    </Step>

    <Step title="Read Company Overview" icon="book-open">
      Before touching any single agent, the client sees the memory files every agent reads from. This is the shared context behind "what does it actually know about us", worth pointing a curious client to directly.
    </Step>

    <Step title="Work the five groups per agent" icon="layers">
      Agent Instructions, Skills, Channels, Advanced, Apps, in that order, for every agent on the roster. The Apps group reports its own readiness: "{'{{done}}'} of {'{{total}}'} connected", warning "Each app still needs connecting before {'{{agent}}'} can use it without you." until it reads "Every app {'{{agent}}'} needs is connected."
    </Step>

    <Step title="Confirm each agent" icon="circle-check">
      "Confirm this agent" carries a real warning: "Confirming turns {'{{agent}}'} on and enables its schedules and triggers at the same moment." Roster progress reads "{'{{done}}'} of {'{{total}}'} agents confirmed", ending in "Every agent is live."
    </Step>
  </Steps>

  <p className="text-base text-gray-600 dark:text-gray-400 max-w-3xl" style={{marginTop:'18px'}}>
    Confirming is a one-way switch for schedules and triggers, so the studio itself blocks it until a specific set of conditions clears. This is the checklist worth memorizing, because it is also the shortest path to diagnosing why a client's agent won't go live.
  </p>

  <div className="my-6">
    | What blocks confirming                              | What's actually stuck                                                                                      | Who resolves it                                                                                          |
    | --------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
    | An open blocking issue                              | A blocker tied to this agent or one of its triggers hasn't cleared                                         | Usually you. Agent- and trigger-scoped blockers clear on the next successful run once the cause is fixed |
    | Incomplete app connections                          | Not every app the agent needs shows connected, this is the "{'{{done}}'} of {'{{total}}'} connected" count | The client only. Completing a connection always needs their credentials or their OAuth                   |
    | The workspace still Preparing or on Needs attention | Provisioning hasn't finished, usually two to three minutes                                                 | Nobody. Wait it out. If it sits on Needs attention, treat it as a support case                           |
    | A relied-on connection unhealthy                    | An app connection this agent shares with others has gone bad, an expired token or revoked access           | The client. Reconnecting an app is their action even inside a delegated session                          |
    | A duplicate trigger                                 | Two triggers on this agent are configured to fire on the same thing                                        | You, from inside the Skills group. Remove or rename one                                                  |
    | Incomplete trigger configuration                    | A required field is missing, often the same one a dry run already flagged as referenced but absent         | You. Finish the field before confirming                                                                  |
    | A final cross-agent check still running             | A last validation pass across the whole roster hasn't finished yet                                         | Nobody. It clears itself in moments                                                                      |
  </div>

  <Tip>
    Run this table top to bottom before you tell a client "it's ready." Four of the seven rows are yours to fix, one is the client's, and two just need a moment.
  </Tip>

  <p className="text-base text-gray-600 dark:text-gray-400 max-w-3xl" style={{marginTop:'16px'}}>
    Workspace provisioning and your own management access clear on two separate clocks. A client's workspace can already be **Ready** while your delegated session is still finishing its own sync, or the other way round. Don't read one as a proxy for the other, check each state directly rather than assuming.
  </p>
</div>

<hr className="xc-divider" />

<div className="w-full py-10 xc-rise">
  <div className="actionist-tight flex flex-col gap-2 mb-6">
    <span className="actionist-section-eyebrow">Set once, per agent</span>
    <h2 className="text-2xl md:text-3xl font-semibold tracking-tight text-gray-900 dark:text-gray-50">Choosing an approval mode.</h2>

    <p className="text-base text-gray-600 dark:text-gray-400 max-w-3xl">
      Every agent has one approval mode, set on its **Tools** tab under Advanced, and it applies to all of that agent's tools, including Skills and MCP servers. Four modes exist, ordered from most hands-on to most autonomous.
    </p>
  </div>

  <div className="my-6">
    | Mode          | Exact description                                                                                                                                               |
    | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | Suggest       | Propose tool calls; user runs them manually.                                                                                                                    |
    | Ask each time | Require approval before every tool execution.                                                                                                                   |
    | Guarded auto  | Run safe tools automatically, ask for risky ones.                                                                                                               |
    | Full auto     | Runs automatically, but asks before irreversible actions such as deleting or overwriting files, making payments, or sending messages outside your organization. |
  </div>

  <p className="text-base text-gray-600 dark:text-gray-400 max-w-3xl">
    Start a nervous client on **Ask each time** or **Guarded auto**. Either one lets them watch the agent work without a single unsupervised action, and both still let it move at a reasonable pace once the risky calls are the only ones that pause. **Guarded auto** is the sensible everyday default once a client has seen a week or two of an agent's decisions and stopped double-checking every one. Loosen to **Full auto** only for a routine you've watched succeed repeatedly, and only for an agent whose irreversible actions, payments, deletes, external messages, you're comfortable it will still pause on.
  </p>

  <Info>
    Approval mode is agent-wide, not per-tool by default, though individual tools can be overridden stricter or looser underneath it. Full detail on how modes interact with unattended runs and blockers lives on [Delegate the work, keep the wheel](/Folders/oversight).
  </Info>
</div>

<hr className="xc-divider" />

<div className="w-full py-10 xc-rise">
  <div className="actionist-tight flex flex-col gap-2 mb-6">
    <span className="actionist-section-eyebrow">Before you confirm</span>
    <h2 className="text-2xl md:text-3xl font-semibold tracking-tight text-gray-900 dark:text-gray-50">Testing before it is real.</h2>

    <p className="text-base text-gray-600 dark:text-gray-400 max-w-3xl">
      Actionist gives you exactly two real checks, one for triggers and one for schedules. Neither is a substitute for the other, and there is no third check that exercises a whole agent end to end.
    </p>
  </div>

  <Columns cols={2}>
    <Card title="A trigger's dry run" icon="flask-conical">
      Paste a sample payload into **Preview with sample payload** and Actionist hands back the rendered instruction and whether the filter passed, with no database write and no model call. It also tells you whether the agent would actually receive the dispatch, and flags any payload field your instruction references that the sample doesn't actually contain.
    </Card>

    <Card title="A schedule's Run now" icon="play">
      **Run now** is not a preview. It is a real, live run: the agent executes, the result lands in **Agent Studio → Runs** exactly like a scheduled firing would, and anything the agent is set up to do, it does. Use it once you're ready for the run to count.
    </Card>
  </Columns>

  <Warning>
    There is no whole-agent test mode. Nothing in Actionist simulates an entire agent, chat included, end to end without it actually running. Test each trigger with its dry run, run each schedule once with **Run now**, and treat any first real chat message the same way, watched, on a cautious approval mode, not assumed safe because the pieces tested clean individually.
  </Warning>

  <p className="text-base text-gray-600 dark:text-gray-400 max-w-3xl" style={{marginTop:'16px'}}>
    The two checks catch different failures. A dry run tells you the trigger is wired correctly, the filter passes, the instruction renders, every field your task description references actually exists in a real payload. It cannot tell you what the agent does with that instruction, because no model call happens. **Run now** is the opposite: it proves what the agent actually does, but only for the one execution you watched, not for every payload shape it will meet later. Use both, for the reasons each one is actually good for.
  </p>
</div>

<hr className="xc-divider" />

<div className="w-full py-10 xc-rise">
  <div className="actionist-tight flex flex-col gap-2 mb-6">
    <span className="actionist-section-eyebrow">Before you exit for the last time</span>
    <h2 className="text-2xl md:text-3xl font-semibold tracking-tight text-gray-900 dark:text-gray-50">Handover and training.</h2>

    <p className="text-base text-gray-600 dark:text-gray-400 max-w-3xl">
      Handover is not a document, it's a short walkthrough inside the workspace itself, done once with the client watching, so the four things they'll need are things they've already clicked once themselves.
    </p>
  </div>

  <div className="xc-recipes">
    <div className="xc-recipe">
      <div className="xc-recipe-who"><i style={{background:'linear-gradient(135deg,#9000FF,#00DBFF)'}} />Show them Needs attention</div>

      <div className="xc-recipe-flow">
        It lives on their Home tab. Walk them through reading one card: what's stuck, why, and the exact fix action written in plain language. This is the one screen they'll check without you.
      </div>
    </div>

    <div className="xc-recipe">
      <div className="xc-recipe-who"><i style={{background:'linear-gradient(135deg,#24A4FF,#9000FF)'}} />Show them how to read a run</div>

      <div className="xc-recipe-flow">
        Open **Agent Studio → Runs** together. Point out the source (manual, schedule, trigger), status, timings, the output summary, any files written, token usage, tool calls, and the error class on a failed run.
      </div>
    </div>

    <div className="xc-recipe">
      <div className="xc-recipe-who"><i style={{background:'linear-gradient(135deg,#FF0068,#9000FF)'}} />Show them the approval mode control</div>

      <div className="xc-recipe-flow">
        On the agent's Tools tab. They should be able to tighten it themselves the moment something makes them uneasy, without waiting for you to be online.
      </div>
    </div>

    <div className="xc-recipe">
      <div className="xc-recipe-who"><i style={{background:'linear-gradient(135deg,#00DBFF,#9000FF)'}} />Show them how to revoke you</div>

      <div className="xc-recipe-flow">
        Any toggle in their Manage Reseller panel can be turned off at any time, without telling you first. Say this plainly during training rather than letting them discover it mid-project.
      </div>
    </div>
  </div>

  <div className="actionist-tight flex flex-col gap-2 my-8">
    <span className="actionist-section-eyebrow">Leave something behind</span>
    <h3 className="text-xl font-semibold tracking-tight text-gray-900 dark:text-gray-50">What goes in a handover note.</h3>
  </div>

  <p className="text-base text-gray-600 dark:text-gray-400 max-w-3xl">
    A short written note, sent after the walkthrough, should cover:
  </p>

  <div className="exp-surface-grid" style={{marginTop:'14px'}}>
    <div className="exp-surface-tile"><strong>Which agents are live</strong> and what each one actually does day to day.</div>
    <div className="exp-surface-tile"><strong>Which apps are still unconnected</strong> under whose name, taken straight from the Apps group readiness count.</div>
    <div className="exp-surface-tile"><strong>Each agent's approval mode</strong> and the reasoning behind starting it there.</div>
    <div className="exp-surface-tile"><strong>Anything you changed</strong> this session, agent by agent, dated.</div>
  </div>

  <Tip>
    Actionist keeps no client-visible record of what a reseller changed inside a delegated session. That last item on the list is not optional. If you don't say what you changed, the client has no other way to find out.
  </Tip>
</div>

<hr className="xc-divider" />

<div className="w-full py-10 xc-rise">
  <div className="actionist-tight flex flex-col gap-2 mb-6">
    <span className="actionist-section-eyebrow">After the handover</span>
    <h2 className="text-2xl md:text-3xl font-semibold tracking-tight text-gray-900 dark:text-gray-50">Check-ins that are worth having.</h2>

    <p className="text-base text-gray-600 dark:text-gray-400 max-w-3xl">
      Three real surfaces exist to check on: a metrics view, the Needs attention list, and any schedule you set up yourself. There is no fourth surface that gathers all of it and emails it to you.
    </p>
  </div>

  <Note>
    The metrics view is not a top-level navigation item anymore. It now lives inside **Billing**, under a **Value delivered** tab. If you're used to finding it elsewhere, that's where it moved.
  </Note>

  <p className="text-base text-gray-600 dark:text-gray-400 max-w-3xl" style={{marginTop:'14px'}}>
    Once you're there, it reports six measures: estimated time saved, tasks completed, actions taken, automated runs, success rate, and how many agents contributed, plus a per-agent leaderboard and a week-over-week trend. It only counts automated agent work, a schedule or a trigger firing, not manual chat use, so it undercounts a client who mostly talks to their agents directly.
  </p>

  <div className="exp-surface-grid" style={{marginTop:'18px'}}>
    <div className="exp-surface-tile"><strong>Metrics, in Billing → Value delivered.</strong> Six measures, a leaderboard, a week-over-week trend, automated work only.</div>
    <div className="exp-surface-tile"><strong>Needs attention, on Home.</strong> The list you already trained the client to read is also the one you should be reading.</div>
    <div className="exp-surface-tile"><strong>A scheduled agent, of your own making.</strong> Point one of the client's agents at a recurring task, "summarize this week's automated runs and any open items," and let it post into a Channel. Actionist ships none of this automatically; you build it if you want it.</div>
  </div>

  <div className="my-6">
    | What to review monthly                                                      | Where                                    |
    | --------------------------------------------------------------------------- | ---------------------------------------- |
    | Estimated time saved, tasks completed, actions taken, trend                 | Billing → Value delivered                |
    | Which agents contributed the least, and why                                 | The leaderboard, same tab                |
    | Anything sitting on Needs attention longer than a few days                  | Home                                     |
    | Whether an approval mode still matches how much the client trusts the agent | The agent's Tools tab                    |
    | Whether every app connection is still healthy                               | The Apps group inside that agent's setup |
  </div>

  <Warning>
    There is no automated weekly digest and no report email. Everything above is something you open and read, or an agent you scheduled yourself to summarize it. If a client expects a report to arrive on its own, that expectation needs correcting during handover, not discovered during a check-in.
  </Warning>

  <Info>
    The leaderboard is a per-agent view, not a per-client one. On a multi-agent workspace it's the fastest way to spot an agent that's confirmed and connected but never actually doing anything, worth a look before a client asks why one of their agents seems quiet.
  </Info>
</div>

<hr className="xc-divider" />

<div className="w-full py-10">
  <div className="actionist-cta-panel xc-border">
    <div className="relative z-10 flex flex-col items-center gap-5 max-w-2xl mx-auto">
      <span className="actionist-eyebrow">Run it well</span>

      <h2 className="text-2xl md:text-3xl font-semibold tracking-tight text-white leading-tight">
        Nothing here is a guess.
      </h2>

      <p className="text-base md:text-lg text-white/85">
        Discovery that maps to the studio, a checklist that actually blocks confirming, and check-ins that only cover what the product really tracks.
      </p>

      <div className="flex flex-wrap items-center justify-center gap-3 pt-2">
        <a className="actionist-cta-btn-primary" href="https://app.actionist.ai" target="_blank" rel="noreferrer">
          Open the Dashboard

          <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.2" strokeLinecap="round" strokeLinejoin="round">
            <path d="M5 12h14" />

            <path d="m12 5 7 7-7 7" />
          </svg>
        </a>

        <a className="actionist-cta-btn-secondary" href="https://actionist.ai/partners/" target="_blank" rel="noreferrer">
          Signup as a Partner
        </a>
      </div>
    </div>
  </div>
</div>

<div className="w-full pt-2 pb-6">
  <p className="actionist-trust-line">
    Anchored to the product, not a template.<br />
    Five groups per agent · one checklist that blocks confirming · six measures in Billing.
  </p>
</div>

<div className="w-full pb-16 xc-rise">
  <div className="actionist-tight flex flex-col gap-2 mb-6">
    <span className="actionist-section-eyebrow">Keep going</span>
    <h2 className="text-2xl md:text-3xl font-semibold tracking-tight text-gray-900 dark:text-gray-50">Next steps.</h2>
  </div>

  <Columns cols={4}>
    <Card title="Onboarding a new client" icon="user-plus" href="/resellers/client-onboarding">
      The full path from invitation to a live workspace, including the six-step handoff checklist.
    </Card>

    <Card title="Delegate the work, keep the wheel" icon="shield-check" href="/Folders/oversight">
      Approval modes, blockers, and how Actionist keeps a human in the loop on unattended runs.
    </Card>

    <Card title="Troubleshooting" icon="life-buoy" href="/resellers/troubleshooting">
      Every message you can hit in a session or a setup, what it means, and whose problem it is.
    </Card>

    <Card title="Client permissions and access" icon="toggle-right" href="/resellers/permissions">
      The eight toggles behind every lock you'll meet, and what each one opens.
    </Card>
  </Columns>
</div>
