One row is
one message
Delivery
Daily delta on
etl_updated_atColumns
19
Where it lands
etl_date= partition to reconstruct the table. One of them is
etl_date=__initial__, the first load, holding everything that preceded the
earliest daily partition. Check for _SUCCESS before reading a partition, as
described in bucket layout.
Columns
bigint
Internal warehouse key. Not stable between deliveries — join on
message_id instead.varchar(510)
Project the conversation belongs to.
varchar(256)
Id of the tenant.
NULL for rows with no tenant mapping.varchar(256)
Name of the tenant.
NULL for rows with no tenant mapping.varchar(510)
Join key. Unique id of the message.
varchar(510)
Join key. Conversation the message belongs to. Matches
cloudchat_id on claudia_conversation.varchar(50)
Who sent the message:
USER for the customer, AGENT for the agent or the person who took over.varchar(65535)
Message body as sent. Truncated at the column length for unusually long messages.
timestamp
When the message was sent. Order by this column within a conversation to reconstruct the transcript.
boolean
Whether the message was an internal note rather than something the customer saw. Exclude these when you rebuild a transcript.
varchar(50)
How the message was produced:
STATIC for a fixed text, FLOW for a step in a controlled flow, OTHER for everything else.varchar(65535)
The answer the agent built this message from.
NULL on customer messages.varchar(65535)
The action the agent decided to take alongside sending the message.
boolean
Whether the message was sent because the agent ran out of clarifying questions.
varchar(65535)
The customer question this message answers, as the agent understood it. This is the interpreted query, not necessarily the customer’s literal words.
varchar(128)
Which response strategy produced the message. The value is a fully-qualified internal class name and its exact string is not part of the delivery contract: read the trailing segment, for example
LowConfidenceResponse, ClarificationResponse or N2SectionResponse.varchar(128)
Medium of the message, in the same fully-qualified form as
originated_from_class. The trailing segment is the useful part: TextMessage, ImageMessage, AudioMessage or FileMessage.timestamp
When the datamart last wrote this row. This is the cursor for the daily delta: a partition holds the rows whose
etl_updated_at fell on that day, so a message edited later reappears in a later partition.varchar
Partition column. The day whose rows this file holds, in
YYYY-MM-DD. Not a date type, because the initial load carries the literal __initial__ instead of a day.