Contacts represent individuals associated with an account in the Thena platform. They serve as the key points of communication and relationship management between your organization and your customers.

Understanding contacts

Core purpose

Contacts provide a structured way to manage relationships with individuals within customer organizations. Each contact can have specific roles, responsibilities, and preferences that help in personalizing interactions.

Contact roles

Primary roles

• Primary contact: Main decision maker
• Billing contact: Financial matters
• Technical contact: Implementation and support
• Executive sponsor: Strategic relationship

Supporting roles

• Department heads
• Team managers
• Project leads
• Subject matter experts

Standard fields

Required fields

NameTypeOptionsComments
Organization IDstringRequiredOrganization the contact belongs to
First NamestringRequiredContact’s first name
EmailstringRequired, Unique per organizationPrimary email address
Contact TypestringRequired, Values: [PRIMARY (default), BILLING, LEGAL, EXECUTIVE, OTHER]Type of contact relationship
Is Marketing ContactbooleanRequired, Default: falseMarketing communication preference
Is ActivebooleanRequired, Default: trueContact’s active status

Optional fields

NameTypeOptionsComments
Last NamestringOptionalContact’s last name
Phone NumberstringOptionalPhone number with country code
Avatar URLstringOptionalProfile picture URL
MetadatajsonbOptionalAdditional metadata
Customer User IDstringOptional, UniqueAssociated user reference

System-managed fields

NameTypeOptionsComments
Contact IDbigserialAuto-generatedPrimary key
UIDtextAuto-generatedUnique identifier (ULID)
Created AttimestampAuto-populatedCreation timestamp with timezone
Updated AttimestampAuto-populatedLast update timestamp with timezone
Deleted AttimestampOptionalSoft delete timestamp with timezone

Database types:

  • Organization ID and Customer User ID are stored as bigint in the database
  • First Name, Last Name, Email, Phone Number are stored as text
  • Metadata is stored as jsonb
  • System fields use their respective database types (bigserial, text, boolean, timestamp with time zone)

Best practices

1

Contact information management

  • Maintain up-to-date contact details
  • Verify email addresses periodically
  • Document communication preferences
  • Track role changes
2

Role assignment

  • Clearly define primary contacts
  • Maintain backup contacts
  • Document role transitions
  • Update access permissions
3

Communication

  • Respect time zones
  • Follow language preferences
  • Maintain communication history
  • Track engagement levels

API endpoints

Sample contact

{
  "firstName": "John",
  "lastName": "Doe",
  "email": "john.doe@acme.com",
  "phone": "+1-555-123-4567",
  "type": "PRIMARY",
  "isMarketingContact": false,
  "isActive": true,
  "metadata": {
    "department": "Engineering",
    "title": "CTO",
    "timezone": "America/Los_Angeles"
  }
}

When creating a contact, the system will add additional fields in the response such as uid, createdAt, updatedAt, and accountId.

Available operations