Integration Specifications

This article will help you learn about how Daasity replicates data from Thankful, limitations to the data we can extract and where the data is stored in the Thankful schema

Integration Overview

Thankful is an A.I.-powered customer service software for retail and e-commerce businesses, using Natural Language Processing (NLP) to understand what customers want and deliver the service they need.

This document provides context on what kind of data is being gathered through this extractor, which endpoints that data is coming from, and how the extracted tables relate to each other.

Integration Availability

This integration is available for:

  • Enterprise

API Endpoints

The Daasity Thankful extractor is built based on this Thankful API Documentation. The following endpoints are used by Daasity to replicate data from Thankful:

Entity Relationship Diagram (ERD)

Click here to view the ERD for the Daasity Thankful integration illustrating the different tables and keys to join across tables.

Thankful Schema

The Daasity Thankful extractor creates these tables using the endpoints and replication methods listed. The data is mapped from source API endpoint to the table based on the mapping logic outlined in each table.

Action Names

  • Endpoint: Actions

  • Update Method: UPSERT

  • Table Name: [thankful.action_names]

JSON ElementDatabase Column

id

action_id

name

action_name

Daasity: current timestamp

created_at

Daasity: account_id

_account_id

Daasity: MD5(id)

__sync_key

Daasity: timestamp when loaded into DB

loaded_at

Top Actions

  • Endpoint: Tickets

  • Update Method: UPSERT

  • Table Name: [thankful.top_actions]

JSON ElementDatabase Column

MD5(TopActions::ID + 1.days.ago.utc)

top_action_id

TopActions::ID

action_id

TopActions::Capture

capture_count

TopActions::Resolve

resolve_count

TopActions::Pending

pending_count

TopActions::Transfer

transfer_count

TopActions::Handoff

handoff_count

TopActions::Skip

skip_count

TopActions::Enabled

is_active

Daasity: 1.days.ago.utc

created_at

Daasity: account_id

_account_id

Daasity: MD5(TopActions::ID + 1.days.ago.utc)

__sync_key

Daasity: timestamp when loaded into DB

loaded_at

Handoff Metrics

  • Endpoint: Handoffs

  • Update Method: UPSERT

  • Table Name: [thankful.handoff_metrics]

JSON ElementDatabase Column

MD5(ActionID + type::ID + 1.days.ago.utc)

transfer_handoff_metric_id

ActionID

action_id

type::ID

type_id

type::Cause

handoff_cause

type::ActionHandoffCount

handoff_count

Daasity: 1.days.ago.utc

created_at

Daasity: account_id

_account_id

Daasity: MD5(ActionID + type::ID + 1.days.ago.utc)

__sync_key

Daasity: timestamp when loaded into DB

__synced_at

Recommendations

  • Endpoint: Tickets

  • Update Method: UPSERT

  • Table Name: [thankful.recommendations]

JSON ElementDatabase Column

MD5(Recommendations::ActionID + 1.days.ago.utc)

recommendation_id

Recommendations::ActionID

action_id

Recommendations::Impact

recommendation

Daasity: 1.days.ago.utc

created_at

Daasity: account_id

_account_id

Daasity: MD5(Recommendations::ActionID + 1.days.ago.utc)

__sync_key

Daasity: timestamp when loaded into DB

__synced_at

Savings

  • Endpoint: Savings

  • Update Method: UPSERT

  • Table Name: [thankful.savings]

JSON ElementDatabase Column

savings::Hours

hours_saved

Daasity: 1.days.ago.utc

created_at

Daasity: account_id

_account_id

Daasity: MD5(1.days.ago.utc)

__sync_key

Daasity: timestamp when loaded into DB

__synced_at

Ticket Metrics

  • Endpoint: Tickets

  • Update Method: UPSERT

  • Table Name: [thankful.ticket_metrics]

JSON ElementDatabase Column

TicketsOverTime::ReceivedTotal

received_count

TicketsOverTime::CapturedTotal

captured_count

TicketsOverTime::TransferredTotal

transferred_count

TicketsOverTime::ResolvedTotal

resolved_count

Daasity: 1.days.ago.utc

created_at

Daasity: account_id

_account_id

Daasity: MD5(1.days.ago.utc)

__sync_key

Daasity: timestamp when loaded into DB

__synced_at

Last updated