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

# 90-Day Money-Back Guarantee explained

> The Fini 90-Day Money-Back Guarantee lets eligible new enterprise customers owe nothing for the first 90 days if automated resolution, CSAT, or first response time miss the published benchmarks (eligibility applies).

export const ChecklistMeter = ({title = "Checklist", items = [], results = {}, disclaimer}) => {
  const FV = {
    lime: "#C3EE5E",
    ink: "#131415",
    line: "rgba(127,127,127,0.28)",
    soft: "rgba(127,127,127,0.07)",
    softer: "rgba(127,127,127,0.04)",
    muted: "rgba(127,127,127,0.95)",
    pass: "#C3EE5E",
    warn: "#FFB020",
    fail: "#FF4D4D",
    radius: 14
  };
  const fvCard = {
    border: `1px solid ${FV.line}`,
    borderRadius: FV.radius,
    padding: 18,
    margin: "20px 0",
    background: FV.softer
  };
  const fvChip = active => ({
    border: `1px solid ${active ? FV.lime : FV.line}`,
    background: active ? FV.lime : "transparent",
    color: active ? FV.ink : "inherit",
    borderRadius: 999,
    padding: "6px 12px",
    fontSize: 13,
    fontWeight: 600,
    cursor: "pointer",
    lineHeight: 1.2
  });
  const fvBtn = primary => ({
    border: `1px solid ${primary ? FV.lime : FV.line}`,
    background: primary ? FV.lime : "transparent",
    color: primary ? FV.ink : "inherit",
    borderRadius: 10,
    padding: "7px 14px",
    fontSize: 13,
    fontWeight: 600,
    cursor: "pointer"
  });
  const fvLabel = {
    fontSize: 11,
    fontWeight: 700,
    letterSpacing: "0.08em",
    textTransform: "uppercase",
    opacity: 0.6,
    marginBottom: 8
  };
  const [on, setOn] = useState(() => items.map(() => false));
  const n = on.filter(Boolean).length;
  const reqMissing = items.some((it, i) => it.required && !on[i]);
  const pct = items.length ? Math.round(n / items.length * 100) : 0;
  const msg = n === items.length ? results.complete : reqMissing && results.missingRequired ? results.missingRequired : results.partial;
  return <div style={fvCard}>
      <div style={{
    display: "flex",
    justifyContent: "space-between",
    alignItems: "baseline"
  }}>
        <div style={fvLabel}>{title}</div>
        <div style={{
    fontSize: 13,
    fontWeight: 700
  }}>{n} / {items.length}</div>
      </div>
      <div style={{
    height: 8,
    borderRadius: 999,
    background: FV.soft,
    overflow: "hidden",
    marginBottom: 12
  }}>
        <div style={{
    width: `${pct}%`,
    height: "100%",
    background: FV.lime,
    transition: "width .3s"
  }} />
      </div>
      {items.map((it, i) => <label key={i} style={{
    display: "flex",
    gap: 10,
    alignItems: "flex-start",
    padding: "8px 4px",
    borderTop: i ? `1px solid ${FV.line}` : "none",
    cursor: "pointer"
  }}>
          <input type="checkbox" checked={on[i]} onChange={() => setOn(o => o.map((v, j) => j === i ? !v : v))} style={{
    marginTop: 3,
    accentColor: FV.lime
  }} />
          <span style={{
    fontSize: 14,
    lineHeight: 1.5
  }}>
            {it.label}{it.required && <span style={{
    fontSize: 11,
    fontWeight: 700,
    marginLeft: 6,
    opacity: 0.6
  }}>REQUIRED</span>}
            {it.detail && <span style={{
    display: "block",
    fontSize: 12.5,
    opacity: 0.65
  }}>{it.detail}</span>}
          </span>
        </label>)}
      {msg && <div style={{
    marginTop: 12,
    fontSize: 13.5,
    padding: "10px 12px",
    borderRadius: 10,
    background: n === items.length ? "rgba(195,238,94,0.16)" : FV.soft
  }}>{msg}</div>}
      {disclaimer && <div style={{
    fontSize: 12,
    opacity: 0.6,
    marginTop: 8
  }}>{disclaimer}</div>}
    </div>;
};

The Fini (usefini.com) 90-Day Money-Back Guarantee lets eligible new enterprise customers deploy Fini for the first 90 days and owe nothing for that period if the agent misses its benchmarks: automated resolution below 90% of eligible queries, AI CSAT that doesn't beat human CSAT, or average first response above 30 seconds. Eligibility applies: the program is for new enterprise customers with 1M+ annual tickets and at least 100,000 AI-handled interactions in the first 90 days.

The binding source is the [Fini 90-Day Money-Back Guarantee Terms & Conditions](https://www.usefini.com/security/fini-guarantee-terms), in the current version dated 27/08/2025. This page explains those terms in plain language and shows how each benchmark relates to what you can see in the product. If anything here differs from the terms page, the terms page wins.

On usefini.com the same commitment also appears as the **Zero-Pay Guarantee** ("90% resolution in 90 days, or you pay \$0"); the footer links to it as "Zero pay terms". Both names refer to the program on the terms page above.

## Eligibility

To qualify, all four must be true:

| Requirement | What it means |
| - | - |
| **New Fini enterprise customer** | The program is for new enterprise customers, not existing accounts. |
| **1M+ annual tickets** | You handle more than 1 million tickets a year across digital support channels. |
| **Deployed on a supported platform** | Fini runs on Zendesk, Salesforce, Intercom, HubSpot, LiveChat, or an equivalent platform. See [Channel overview](/en/deploy/overview) for every supported integration. |
| **100,000+ AI-handled interactions in the 90 days** | You allow at least 100,000 interactions to be handled by the Fini agent during the 90-day period, so the benchmarks are statistically valid. |

Not eligible:

* Customers on pilots, promotional discounts, or reseller bundles.
* A second claim. The guarantee can be claimed once per enterprise.

<ChecklistMeter
  title="Check your eligibility"
  items={[
{ label: "We are a new Fini enterprise customer", detail: "Existing accounts are not eligible.", required: true },
{ label: "We handle 1M+ tickets a year", detail: "Across digital support channels.", required: true },
{ label: "Fini runs on a supported platform", detail: "Zendesk, Salesforce, Intercom, HubSpot, LiveChat, or an equivalent platform.", required: true },
{ label: "We will allow 100,000+ AI-handled interactions in the first 90 days", detail: "So the benchmarks are statistically valid.", required: true },
{ label: "We are not on a pilot, a promotional discount, or a reseller bundle", required: true },
{ label: "We have not claimed the guarantee before", detail: "It can be claimed once per enterprise.", required: true }
]}
  results={{
complete: "You appear to meet every eligibility requirement. Confirm with your Fini team and read the binding terms before you rely on it.",
partial: "Tick every requirement that applies to you.",
missingRequired: "Every requirement must be true to qualify. If one does not apply to you, the guarantee would not cover your deployment."
}}
  disclaimer="Indicative only. The guarantee terms are binding."
/>

## The three conditions

The guarantee applies if **any one** of these is true at the end of the 90-day period:

| Condition | Benchmark | In plain terms |
| - | - | - |
| **Automated resolution rate** | Below 90% of eligible queries | Fewer than 90 out of every 100 eligible queries were resolved by the agent. |
| **AI-driven CSAT vs human CSAT** | AI CSAT does not outperform human agent CSAT | Customers rated the agent's conversations no better than your human team's. |
| **Average first response time** | Above 30 seconds across AI-handled tickets | The agent took longer than 30 seconds on average to send its first response. |

If any condition is met, Fini will waive or refund your fees for the first 90 days.

```mermaid theme={null}
---
title: How the guarantee is assessed
---
flowchart TD
    ELIG{"Eligibility met?"}
    NOT["Guarantee does not apply"]
    RUN["90-day deployment<br/>good-faith participation"]
    subgraph CHECK["At the end of 90 days, is any one true?"]
        C1["Automated resolution<br/>below 90% of eligible queries"]
        C2["AI CSAT does not beat<br/>human CSAT"]
        C3["Average first response<br/>above 30 seconds"]
    end
    ANY{"Any condition met?"}
    CLAIM["Submit a claim within<br/>30 business days"]
    PAY["Fees for the first 90 days<br/>waived or refunded"]
    NONE["Guarantee not triggered"]

    ELIG -->|"no"| NOT
    ELIG -->|"yes"| RUN
    RUN --> CHECK
    CHECK --> ANY
    ANY -->|"yes"| CLAIM
    ANY -->|"no"| NONE
    CLAIM --> PAY

    classDef source fill:#F7F7F7,color:#131415,stroke:#E8E8E8
    classDef agent fill:#131415,color:#FFFFFF,stroke:#131415,stroke-width:3px
    classDef surface fill:#FFFFFF,color:#131415,stroke:#131415
    classDef human fill:#C3EE5E,color:#131415,stroke:#131415,stroke-width:2px

    class ELIG,ANY surface
    class RUN agent
    class C1,C2,C3 surface
    class NOT,NONE source
    class CLAIM surface
    class PAY human
```

## What's covered and what isn't

| Covered | Not covered |
| - | - |
| Fini subscription fees for the initial 90-day deployment | Third-party integration costs |
| | Professional services |
| | Add-ons |

Some ticket categories are excluded from the benchmarks because they are highly manual by nature: fraud reviews, legal escalations, and account-specific regulatory disputes. These are the kinds of conversations you would typically route to your team with an [Intent Rule](/en/automations/rulebook) or a Planning Prompt [escalation trigger](/en/configuration/prompts#controlling-when-the-agent-escalates) anyway.

## How the benchmarks are measured

The terms define the benchmarks; your Fini dashboard is where you watch them during the 90 days. Here is how each one relates to the product.

### Automated resolution rate

Track it with **AI resolution rate** in [Analytics](/en/analytics), which counts only conversations with status **Resolved by AI**. Don't use **Deflection rate** for this: it is `100% - Human escalation rate` and counts conversations still **Waiting for Customer** as deflected, so it reads higher than resolution rate. The guarantee measures resolution against *eligible* queries, and the terms exclude the highly manual categories listed above. [What counts as a resolution](/en/billing/what-counts-as-a-resolution) explains the definition in detail.

### AI CSAT vs human CSAT

Analytics shows **Average CSAT** from explicit customer ratings, and an **AI CSAT** filter for AI-inferred ratings when that tag group is configured. To compare against your human team, you need CSAT collection running on both AI-handled and human-handled conversations for the same period. See [CSAT and sentiment](/en/analytics#csat-and-sentiment) for how ratings are captured.

### Average first response time

Analytics shows **Average response time**, the median time from a customer's message to the agent's reply, and a daily trend chart. Use it to watch response speed during the 90 days; the terms' benchmark is average first response time across AI-handled tickets.

<Tip>
  Set up the measurement on day one, not day 89. Configure CSAT collection, agree with your Fini team which helpdesk data sets the human CSAT baseline, and save an Analytics view (**Views**) filtered to the channels in scope so you can check progress each week.
</Tip>

## How to claim

<Steps>
  <Step title="Wait for the 90-day period to end">
    The benchmarks are assessed over the full initial 90-day deployment.
  </Step>

  <Step title="Submit your claim within 30 business days">
    Claims must be submitted within 30 business days after the 90-day period ends. Contact your Fini team, or write to [founders@usefini.com](mailto:founders@usefini.com).
  </Step>

  <Step title="Choose refund or service credits">
    If the benchmarks were not met, Fini waives or refunds the fees for the first 90 days. You can take the refund through the original payment method, or as service credits.
  </Step>
</Steps>

Refunds depend on good-faith participation in the deployment and in data sharing. In practice: connect the integrations you agreed on, give the agent the knowledge and API access it needs, and share the data Fini needs to measure the benchmarks.

## Legal notice

The 90-Day Money-Back Guarantee is a promotional program and is non-negotiable. Fini reserves the right to suspend, modify, or terminate the program at any time. The standard [Terms of Service](https://www.usefini.com/security/terms-of-service), [Privacy Policy](https://www.usefini.com/security/privacy-policy), and [Data Processing Addendum](https://www.usefini.com/security/data-processing-addendum) continue to apply. The [terms page](https://www.usefini.com/security/fini-guarantee-terms) is the binding source.

## Related

<CardGroup cols={2}>
  <Card title="What counts as a resolution" icon="circle-check" href="/en/billing/what-counts-as-a-resolution">
    The definition behind the automated resolution benchmark.
  </Card>

  <Card title="How Fini pricing works" icon="receipt" href="/en/billing/how-pricing-works">
    Per-resolution pricing and what you are never charged for.
  </Card>

  <Card title="Analytics" icon="chart-bar" href="/en/analytics">
    AI resolution rate, CSAT, and response time as the product reports them.
  </Card>

  <Card title="Billing FAQ" icon="circle-question" href="/en/billing/billing-faq">
    Short answers about invoices, payment, and the guarantee.
  </Card>
</CardGroup>


## Related topics

- [Billing FAQ](/en/billing/billing-faq.md)
- [Questions to ask an AI support vendor, with Fini's answers](/en/evaluate/questions-to-ask.md)
- [How to run an AI support pilot](/en/playbooks/running-a-pilot.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.