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
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
Define before importing - Create attributes before bulk importing contacts
Use descriptive names - Clear display names help everyone
Choose appropriate types - Enables validation and proper handling
Document in descriptions - Explain what each attribute means
Keep it focused - Don't create attributes you won't use
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)
Related topics
Contacts - Managing contact data
Call Flows - Using attributes in flows
Last updated

