Custom Attributes

Standard contact fields don't cover every business need. Custom attributes let you store additional data on contacts and use it to personalize call experiences.

What custom attributes do

Custom attributes extend contacts with your own fields:

  • Store business-specific data (account balances, subscription status)

  • Personalize call flows (play different messages based on values)

  • Segment contacts (use attributes in conditions)

  • Track additional information (preferences, history)

Attribute types

Type
Description
Example

text

Free-form text

Customer notes

number

Numeric values

Account balance

boolean

True/false

Is premium customer

date

Date values

Contract expiry

phone_number

Phone format

Alternate phone

email

Email format

Billing email

url

URL format

Customer portal link

Creating attributes

Define an attribute at the organization level:

Response:

Note: The name field is auto-generated as a slug from displayName.

Listing attributes

View all defined attributes:

Getting a specific attribute

Updating attributes

Modify the description (type cannot be changed):

Deleting attributes

Remove an attribute:

This doesn't delete the values on contacts, but they become inaccessible.

Setting values on contacts

When creating or updating contacts, include custom attributes:

Use the name (slug) as the key, not displayName.

Reading values from contacts

When you fetch a contact with /contact/:id, custom attributes are included:

Using attributes in flows

In Play nodes (dynamic content)

In Condition nodes (branching)

Complex conditions

Bulk updates

Update attributes on multiple contacts using upsert:

Contacts are matched by phone number and attributes are updated.

Common use cases

Payment reminders

Subscription management

Customer service

Best practices

  1. Define before importing - Create attributes before bulk importing contacts

  2. Use descriptive names - Clear display names help everyone

  3. Choose appropriate types - Enables validation and proper handling

  4. Document in descriptions - Explain what each attribute means

  5. Keep it focused - Don't create attributes you won't use

  6. Consider privacy - Only store what you need

Limitations

  • Attribute names must be unique within an organization

  • Type cannot be changed after creation

  • Values must match the attribute type

  • Maximum 100 custom attributes per organization (varies by plan)

Last updated