Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.unifygtm.com/llms.txt

Use this file to discover all available pages before exploring further.

Overview

For tools and data sources that can’t be connected using an existing integration, Unify’s Data API can be used instead. This general-purpose API allows you to programmatically find, create, update, and delete records in Unify.

Quickstart

1

Generate an API key

Navigate to Settings → Developers in Unify and select Generate API Key.
2

(Optional) Install the SDK

If you are writing Python or TypeScript code, you can install the official Unify SDK to simplify interacting with the API.

Python library

Install and use the official Unify Python library.

TypeScript library

Install and use the official Unify TypeScript library.
3

Choose an object

You can create records for any object in Unify, including standard objects like company or person. But you can also create custom objects with whatever attributes and relationships you need.

Manage via API

Create and manage objects, attributes, and records in Unify via API.

Manage via UI

Create and manage objects, attributes, and records within the Unify app.
4

Upsert a record

Now you can push records into the selected object.The recommended API for creating and updating records is Upsert record. This allows you to specify a unique attribute to match existing records and create or update based on whether a match is found, preventing duplicates.
record = client.data.records.upsert(
    object_name="my_object",
    match={
      "email": "jane@example.com",
    },
    create_or_update_if_empty={
        "email": "jane@example.com",
        "login_count": 12,
        "plan_tier": "pro",
    },
)

print(f"Record ID: {record.data.id}")
print(f"Email: {record.data.attributes['email']}")
5

Verify in Unify

The record should now exist in Unify. You can verify this by searching for the record in the UI or by retrieving it via API.
record = client.data.records.find_unique(
    object_name="my_object",
    match={
      "email": "jane@example.com",
    },
)

print(f"Record ID: {record.data.id}")
print(f"Email: {record.data.attributes['email']}")

What’s next

Import data from a CSV

Sync data from a CSV file or spreadsheet into Unify.

Send records from Clay sheet

Send records from a Clay sheet into Unify via webhook.

Data API reference

Explore the full Data API reference.