Skip to main content
Activities capture all interactions and engagements with customer accounts in the Thena platform, providing a comprehensive timeline of customer relationships.

Understanding activities

Core purpose

Activities provide a structured way to track, manage, and analyze all customer interactions. They help maintain a complete history of engagements and ensure proper follow-up on customer communications.

Activity types

Communication activities

• Meetings: In-person or virtual
• Calls: Phone conversations
• Emails: Email threads
• Chat: Instant messaging

Business activities

• Site visits: On-premise meetings
• Reviews: Performance discussions
• Presentations: Product demos
• Training: Customer education

Standard fields

Required fields

NameTypeOptionsComments
Account IDstringRequiredAssociated account identifier
Activity TimestamptimestampRequiredWhen the activity occurred
DurationintegerRequiredLength of activity in minutes
LocationstringRequiredPhysical or virtual location

Optional fields

NameTypeOptionsComments
TypestringOptional, Values: [CALL (default), EMAIL, MEETING, SITE_VISIT]Activity type reference
StatusstringOptional, Values: [PENDING (default), COMPLETED, CANCELLED]Activity status reference
ParticipantsjsonbOptional, Default: []List of participants
Attachment URLsarrayOptionalList of attachment URLs

System-managed fields

NameTypeOptionsComments
Activity IDbigserialAuto-generatedPrimary key
UIDtextAuto-generatedUnique identifier (ULID)
Is ActivebooleanDefault: trueActivity’s active status
Created BybigintAuto-populatedReferences user table
Created AttimestampAuto-populatedCreation timestamp with timezone
Updated AttimestampAuto-populatedLast update timestamp with timezone
Deleted AttimestampOptionalSoft delete timestamp with timezone
Database types:
  • Account ID and Created By are stored as bigint in the database
  • Location is stored as text
  • Duration is stored as integer
  • Participants is stored as jsonb
  • System fields use their respective database types (bigserial, text, boolean, timestamp with time zone)

Activity tracking

1

Planning

  • Schedule activities
  • Set clear objectives
  • Identify participants
  • Prepare required materials
2

Execution

  • Record attendance
  • Document key points
  • Track action items
  • Note decisions made
3

Follow-up

  • Update activity status
  • Create follow-up tasks
  • Share meeting notes
  • Schedule next steps

Best practices

Documentation

• Record activities promptly
• Include all relevant details
• Link to related records
• Maintain consistent format

Organization

• Use clear subject lines
• Categorize properly
• Tag all participants
• Set appropriate privacy

API endpoints

Sample activity

{
  "accountId": "ACC123",
  "title": "Quarterly Business Review",
  "type": "MEETING",
  "typeId": "T123",
  "typeConfiguration": {
    "icon": "video",
    "color": "#4CAF50"
  },
  "status": "SCHEDULED",
  "statusId": "S123",
  "statusConfiguration": {
    "icon": "calendar",
    "color": "#2196F3"
  },
  "activityTimestamp": "2024-03-20T14:00:00Z",
  "duration": 60,
  "location": "https://meet.google.com/abc-defg-hij",
  "participants": ["USER123", "USER456"],
  "attachmentUrls": [
    "https://storage.thena.ai/documents/agenda.pdf",
    "https://storage.thena.ai/documents/presentation.pdf"
  ],
  "metadata": {
    "agenda": "1. Q3 Review\n2. Q4 Goals\n3. Action Items",
    "meetingType": "QBR",
    "requiredPreparation": "Please review Q3 metrics before the meeting"
  }
}
When creating an activity, the system will add additional fields in the response such as:
  • id: Unique identifier for the activity
  • account: Name of the associated account
  • creator: Name of the activity creator
  • creatorId: ID of the creator
  • creatorEmail: Email of the creator
  • createdAt: Creation timestamp
  • updatedAt: Last update timestamp

Available operations

# List account activities
GET /v1/accounts/{accountId}/activities

# Create account activity
POST /v1/accounts/{accountId}/activities
Content-Type: application/json

# Get activity by ID
GET /v1/accounts/{accountId}/activities/{activityId}

# Update activity
PATCH /v1/accounts/{accountId}/activities/{activityId}
Content-Type: application/json

# Delete activity
DELETE /v1/accounts/{accountId}/activities/{activityId}
All endpoints require authentication with Bearer token, API key, and Organization ID in the headers.
For detailed API specifications, see Activity Management

Accounts overview

Learn about account management

Contacts

Manage customer contacts