CRM
Connect Attio
Your application calls one EchoRelay URL. When Attio changes its API, you update the mapping, not your application.
How Attio signs requests
A single-workspace access token, sent as a bearer token in the Authorization header. Basic auth with the token as the username also works; Attio recommends bearer.
Can you connect it today?
Yes. Add a bearer-token credential with your workspace access token.
A sample mapping
Your application sends the first request below. The mapping turns it into the body of POST /v2/notes, shown second.
Your request
{
"personId": "bf071e1f-6035-429d-b874-d83ea64ea13b",
"title": "Renewal call",
"summary": "Agreed a two-year term."
}
What Attio receives
{
"data": {
"parent_object": "people",
"parent_record_id": "bf071e1f-6035-429d-b874-d83ea64ea13b",
"title": "Renewal call",
"format": "markdown",
"content": "Agreed a two-year term."
}
}
The mapping
{
"$schema": "https://schemas.echorelay.dev/transform/mapping/v1.json",
"root": {
"type": "object",
"id": "root",
"properties": {
"data": {
"type": "object",
"id": "data",
"properties": {
"parent_object": {
"type": "constant",
"id": "parent-object",
"value": "people"
},
"parent_record_id": {
"type": "field",
"id": "parent-record",
"path": "personId"
},
"title": {
"type": "field",
"id": "title",
"path": "title"
},
"format": {
"type": "constant",
"id": "format",
"value": "markdown"
},
"content": {
"type": "field",
"id": "content",
"path": "summary"
}
}
}
}
}
}
The grammar, the answer mapping and the dry run are in the mapping docs.
What you bring
This is not a ready-made connector. You bring a sample request or Attio’s OpenAPI document, you or your agent write the mapping, and we run the integration you define.
Attio facts on this page were read 2026-10-29 from Attio API authentication, Attio API reference: create a note. Another service? Check it here.
Connect everything. Deploy nothing.
No credit card required.