# RevCent MCP Guide: `ExtendTrial`

Brief AI/MCP-focused guide for extending a Trial in RevCent.

---

## Related Documentation

| Guide | Link | Why It Matters |
|---|---|---|
| Trial Overview | `https://revcent.com/documentation/markdown/mcp/operation/OverviewTrial.md` | Broad explanation of Trial creation, Product-level trial settings, automatic expiration, trial expiration payments, shipping, tax, salvage, AI workflows, and reporting. |
| GetTrial | `https://revcent.com/documentation/markdown/mcp/operation/GetTrial.md` | Retrieve the Trial before and after taking action. |
| GetTrials | `https://revcent.com/documentation/markdown/mcp/operation/GetTrials.md` | Bounded operational Trial retrieval. Not for reporting or metrics. |
| SearchTrials | `https://revcent.com/documentation/markdown/mcp/operation/SearchTrials.md` | Search for Trials when the Trial ID is unknown, then use `GetTrial`. |
| Product Overview | `https://revcent.com/documentation/markdown/mcp/operation/OverviewProduct.md` | Explains Product-level Trial settings such as `trial_days`, `price_trial`, and `trial_shipping_setting`. |
| BigQueryRunQuery | `https://revcent.com/documentation/markdown/mcp/operation/BigQueryRunQuery.md` | Correct operation for Trial reporting, metrics, aggregation, and data mining. |
|


---

## Operation Summary

Operation:

```text
ExtendTrial
```

Title:

```text
Extend A Trial
```

Purpose:

```text
Extend a Trial by a specified number of days using the Trial ID.
```

Use `ExtendTrial` when the business intentionally wants to add days to a Trial period.

Extending a Trial can delay Trial expiration, expiration payment, shipping/tax behavior tied to expiration, and related subscription lifecycle behavior.

---

## When to Use

Use `ExtendTrial` when:

- customer support grants more Trial time,
- a shipment delay justifies additional Trial days,
- a technical issue prevented the customer from using the Trial,
- a retention workflow offers a Trial extension,
- a business policy permits Trial extensions,
- the user explicitly requests a longer Trial period.

Examples:

```text
Extend the Trial by 7 days because the shipment was delayed.
Extend the Trial by 3 days due to a support issue.
Extend the Trial after a retention offer.
```

---

## When Not to Use

Do not use `ExtendTrial` when:

- the user wants to cancel the Trial,
- the user wants to expire the Trial now,
- the user wants to shorten the Trial,
- the user wants reporting or metrics,
- the Trial should simply expire on schedule,
- there is no explicit business/customer reason to delay expiration.

Correct alternatives:

| User Intent | Correct Operation |
|---|---|
| Cancel Trial | `CancelTrial` after confirmation. |
| Expire now / convert early | `ExpireTrial` after confirmation. |
| Shorten Trial | `ShortenTrial`. |
| View Trial | `GetTrial`. |
| Trial reporting | `BigQueryRunQuery`. |

---

## Input Schema

Required:

| Field | Type | Description |
|---|---:|---|
| `trial_id` | string | 20-character Trial ID. |

Optional:

| Field | Type | Description |
|---|---:|---|
| `days` | integer | Number of days to extend the Trial period by. |

Example:

```json
{
  "trial_id": "TTTTTTTTTTTTTTTTTTTT",
  "days": 7
}
```

Although the schema only marks `trial_id` as required, AI/MCP should generally provide `days` because the operation's purpose is to extend by a specified number of days.

---

## Output Schema

Successful output can include:

| Field | Type | Description |
|---|---:|---|
| `api_call_id` | string | 20-character API call ID. |
| `api_call_unix` | integer | Unix timestamp when the API call was initiated. |
| `code` | integer | API response code. `1` indicates success. |
| `trial_id` | string | 20-character Trial ID. |
| `result` | string | Result message. |

---

## Recommended Workflow

```text
1. Retrieve the Trial with GetTrial.
2. Verify correct Trial ID and customer.
3. Review active state, current end date, days remaining, and related subscription/payment context.
4. Confirm the number of days to extend.
5. Explain that extending may delay expiration/payment/lifecycle events.
6. Require explicit confirmation.
7. Call ExtendTrial with trial_id and days.
8. Retrieve the Trial again with GetTrial to verify updated timing.
9. Notify the customer/internal team if appropriate.
```

---

## Customer-Facing AI Safety

If `ExtendTrial` is used through a customer-facing AI flow, verify the visitor is related to the Trial first.

Recommended verification:

```text
GetTrial
    ↓
Verify customer email, phone, or another secondary value from the retrieved Trial record
    ↓
Only then discuss or change Trial timing
```

Do not extend a Trial based only on visitor-provided search input without verifying identity/relationship.

---

## Best Practices

1. Use `GetTrial` before extending.
2. Confirm the exact number of days.
3. Confirm the Trial is the correct customer's Trial.
4. Explain that the extension may delay Trial expiration payment and related lifecycle events.
5. Use `ExtendTrial` only for intentional customer/support/business reasons.
6. Use `GetTrial` after extending to verify the result.
7. Use BigQuery for reporting/metrics, not Trial mutation operations.

---

## Common Mistakes to Avoid

Do not:

- extend the wrong Trial,
- omit `days` when the intended extension length is known,
- extend without understanding payment/lifecycle timing impact,
- use extension as a substitute for cancellation,
- use extension as a reporting operation,
- expose Trial details in public AI flows without verification.

---

## Final AI/MCP Instruction

Use `ExtendTrial` to intentionally add days to a Trial period.

Retrieve the Trial first, confirm the customer and requested number of days, explain lifecycle impact where relevant, run `ExtendTrial`, then retrieve the Trial again to verify.


---
Document Parent Directory
* [Operations](https://revcent.com/documentation/markdown/mcp/operation/index.md) - AI/MCP details and overviews for operations available within the RevCent MCP.