Attio icon

Attio

Interact with Attio API

Overview

This node interacts with the "Records" resource of an external API to perform the Assert Record operation. The Assert Record operation is used to ensure that a record exists in a specified object by matching on a unique attribute. If a record with the given matching attribute value exists, it updates or confirms it; if not, it creates a new record with the provided data.

Common scenarios where this node is beneficial include:

  • Synchronizing data from other systems into a CRM or database, ensuring no duplicates are created.
  • Updating existing records based on a unique identifier without manually checking for existence.
  • Automating data integrity workflows where records must be asserted before further processing.

Practical example:

  • You have a list of contacts identified by email (unique attribute). Using this node, you can assert each contact record by email, creating new contacts if they don't exist or updating existing ones with new information.

Properties

Name Meaning
Object A UUID or slug identifying the object the record belongs to. Example: "people"
Matching Attribute The ID or slug of the unique attribute used to check if the record already exists. Must be unique.
Data JSON object containing the record's attribute values to set. Example structure:
```json
{
"values": {
"41252299-f8c7-4b5e-99c9-4ff8321d2f96": "Text value",
"multiselect_attribute": [
"Select option 1",
"Select option 2"
]
}
}

Output

The node outputs an array of JSON objects corresponding to each input item processed. Each output item contains the full JSON response from the API representing the asserted record. This typically includes the record's attributes and metadata as returned by the API.

No binary data output is produced by this node.

Example output snippet:

{
  "id": "record-id",
  "object": "people",
  "values": {
    "41252299-f8c7-4b5e-99c9-4ff8321d2f96": "Text value",
    "multiselect_attribute": ["Select option 1", "Select option 2"]
  },
  "created_at": "2023-01-01T00:00:00Z",
  "updated_at": "2023-01-02T00:00:00Z"
}

Dependencies

  • Requires an API key credential for authenticating with the external service.
  • The node sends HTTP requests to the external API endpoint https://api.attio.com/v2/objects/{object}/records using the PUT method.
  • Proper configuration of the API authentication token in n8n credentials is necessary.

Troubleshooting

  • Common issues:

    • Incorrect or missing API authentication token will cause authorization errors.
    • Providing a non-unique or invalid matching attribute may result in unexpected behavior or errors.
    • Malformed JSON in the Data property can cause parsing errors.
    • Using an invalid object UUID or slug will lead to "not found" or similar API errors.
  • Error messages and resolutions:

    • "Operation configuration not found" — Ensure the correct Resource and Operation are selected.
    • "Authorization failed" — Verify the API key credential is valid and has required permissions.
    • "Invalid JSON body" — Check the Data property JSON syntax.
    • "Record not found" or "Object not found" — Confirm the Object and Matching Attribute values are correct and exist in the system.

Links and References


If you need further details about other operations or resources, feel free to ask!

Discussion