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

# Use Allegrow in Deepline

> Use allegrow_validate as the catch-all resolution layer after standard verifiers. Includes inputs, outputs, SDK V2 examples, and Deepline cost.

[Human guide: work with your agent →](https://deepline.com/docs/human/providers/allegrow/guide.md)
Inspect one Allegrow action before starting provider-backed work. Your first result is a verified input and output contract.

## Provider-specific requirements

Allegrow resolves B2B catch-all domains and identifies primary email addresses. Use it after another verifier returns `catch_all`. You can also use it to distinguish a person's primary address from secondary addresses. Compare the applicable action prices before selecting a route.

### Status Interpretation

| `result.status` | Meaning | Action |
| - | - | - |
| `safe` | Valid, safe to send | **Send** |
| `do_not_mail_abuse` | Valid address but high spam-report risk | Skip email. Use LinkedIn/phone instead |
| `some_risk` | Inconclusive, risk factors identified | Hold 30 days. re-validate before next send |
| `block_bounce_risk` | Invalid. will hard-bounce | Remove from list |
| `dead_email` | Invalid account on a catch-all host (won't bounce) | Use other channels. remove from active send list |
| `spamtrap` | Spamtrap or trap-like mailbox | Remove from list |
| `more_time_required` | Validation still processing | Poll later |
| `missing_email` | Request did not include an email | Fix input |

`result.subStatus`:

* `primary`: Allegrow identified this as the contact's **main email**. Especially useful for execs and senior decision-makers who have multiple valid addresses.
* `null`: No additional context.

### Usage Patterns

* **After ZeroBounce returns `catch_all`**: Run Allegrow on those rows to resolve dead vs safe. Allegrow's B2B specialisation makes it materially better than generic verifiers on corporate domains.
* **Executive lists**: Use `subStatus == primary` to prefer the primary address when multiple candidates exist.
* **Do not use** `allegrow_validate` as a bulk first-pass verifier. It costs per call and is slower than SMTP-based verifiers. Reserve it for catch-all resolution and high-value contacts.
* **Polling**: The sync endpoint has a 30-second timeout. A 202 response includes `pollUrl` and `retryAfter`. It is pending, not a final verdict. In a Play, preserve the existing validation identity and use the described `allegrow_validate_status` contract for later status reads, respecting `retryAfter` with `ctx.sleep`. Do not assume launching a Play automatically completes pending validations, or submit another paid validation to inspect one. Keep any polling bounded and report unresolved work if the deadline expires.
* **Async validation**: Use `allegrow_validate_async` only when a configured webhook or later polling via `allegrow_validate_status` fits the workflow.
* **Bulk CSV**: Use the CSV job endpoints when the user explicitly needs Allegrow's bulk CSV workflow. `allegrow_create_csv_validation_job` only creates the job and upload URL. The CSV upload itself is a direct PUT to the returned presigned URL.

For multi-step validation, use a supplied Play or discover with
`deepline plays search "email validation"` and inspect the selected
contract with `deepline describe <play-ref>`. Confirm operation
hints using `deepline describe <tool-id>`, then call them inside
the Play via `ctx.tools.execute({ id, tool, input, description })`.
For a custom CSV Play that reads `ctx.csv(input.csv)`, check it with
`deepline plays check validate-email.play.ts` and run the authorized input
with `deepline plays run --file validate-email.play.ts --csv contacts.csv --watch`.
Pilot only for larger or uncertain authorized work. do not require an extra run
or repeated approval for a small supplied Play. Inspect retained results with
`deepline runs get <run-id>` and its result/export commands, without paid
fallback or repair unless that additional work was requested.

### Known Limitations

* No balance/credit endpoint exposed in the API. quota resets are managed with your account manager.
* owner.com and similar corporate domains return `dead_email` even for likely-valid addresses. Allegrow is conservative on fully catch-all domains with no MX activity evidence. Cross-reference against CRM data before removing these.
* The exact purchased validation USD rate is not in the docs. Keep `ALLEGROW_PROVIDER_CURRENCY_TO_USD_RATE` blocked at 0 until the contract rate is supplied.

## Find an applicable action

Confirm your effective workspace, then search the live catalog:

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline auth status --json
deepline search "Allegrow" --type tools --json
```

Search returns candidates. Check the returned provider and operation rather than selecting a similar title automatically.

## Inspect the selected contract

Replace `<returned-tool-id>` with the identifier returned by discovery:

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline describe <returned-tool-id> --json
```

These commands do not execute the selected provider action. Read its required inputs, supported access mode, pricing unit, outputs, and limits.

A connection does not establish that every action supports BYOK. Follow the provider-specific requirements above and the live action contract.

## Prepare one reviewed input

Use one authorized record that matches the inspected schema. Preserve its source identity and define the result you will accept.

Open the action reference for its payload and response shape. Provider-backed execution can incur usage or external effects.

For reusable logic, follow [Write Plays](https://deepline.com/docs/sdk-v2/plays.md). For direct-call recovery, use [Tool execution recovery](https://deepline.com/docs/sdk-v2/tool-execution-recovery.md).

> [!TIP]
>
> Continue only when the workspace, provider, required fields, acceptance rule, and applicable price are understood. Keep unavailable access separate from no-result evidence.


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