CRM
Opportunities
Deals in pipeline: amount, stage, probability, close date, owner.
Schema
The canonical field set, printed as it ships.
9 fields with multilingual hints (DE / FR / IT / EN / ES) and field-level validators. Any source column that resolves to one of these is mapped by the cascade — most of them on the deterministic layers, with no LLM call.
opportunities_v1- fields
- 9
- required
- 3
- validated
- 2
- hints
- 24
| Canonical column | Type | Required | Validators | Header hints the cascade matches |
|---|---|---|---|---|
id | string | yes | — | matched on the column name |
account_id | string | — | — | matched on the column name |
name | string | yes | — | namenomnomenombre |
amount | number | yes | — | betragmontantimportomontoamount |
currency | string | — | — | währungdevisevalutamoneda |
stage | enumprospectingqualificationproposalnegotiationclosed_wonclosed_lost | — | — | phasestadefasestage |
probability | number | — | number_range | wahrscheinlichkeitprobabilitéprobabilitàprobabilidad |
close_date | date | — | — | abschlussdatumdate de clôturefecha de cierre |
owner_email | — | email | matched on the column name |
Read the same definition as JSON at GET /v1/templates/opportunities_v1. A hint match resolves on layer 2 — no LLM call, no token spend, just the flat per-map fee. Hover a validator id to see what it checks.
- 9 canonical fields
- 3 required
- 2 validated
- 24 header hints
- CRM pack
Try it
A real file, a real call, one template id.
8 rows, pipeline stages + probability. Fully synthetic — safe to share, commit, and run in CI.
curl -X POST https://api.adaptivmapr.com/v1/uploads \
-H "Authorization: Bearer $ADAPTIVMAPR_API_KEY" \
-F "file=@opportunities_sample.csv" \
-F "template=opportunities_v1"adaptivmapr.match_headers({
template_id: "opportunities_v1",
headers: ["id", "account_id", "name", "amount"]
})Ready when you are
Put opportunities in production — without shipping raw records.
Schema-only mapping leaves only headers and a handful of clamped samples. Add full-data when you need row-level AI, routed in-region under a BAA.