Message data model

Updated:

View field support, webhooks, and list parameters for each integration on the Supported Integrations page.

FieldTypeRequiredDescription
idstringNo
created_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
updated_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
channelsMessagingReference[]NoRepresents all channels to which the message is sent. Identifies the channels where the message is posted. To send to the "Draft" channel/folder, use a channel ID "DRAFT".
channels[].idstringNo
channels[].namestringNo
parent_idstringNoRepresents the ID of the immediate predecessor message in the thread. Identifies a specific message to which the current message directly replies.
message_thread_identifierstringNothe opaque identifier for the first message in a thread
author_memberobjectNofor email systems, this field represents the From value
author_member.user_idstringNo(reference to HrisEmployee)
author_member.emailstringNo
author_member.namestringNo
author_member.image_urlstringNo
destination_membersMessagingMember[]Nofor email systems, this field represents the To value
destination_members[].user_idstringNo(reference to HrisEmployee)
destination_members[].emailstringNo
destination_members[].namestringNo
destination_members[].image_urlstringNo
hidden_membersMessagingMember[]Nofor email systems, this field represents the BCC value
hidden_members[].user_idstringNo(reference to HrisEmployee)
hidden_members[].emailstringNo
hidden_members[].namestringNo
hidden_members[].image_urlstringNo
mentioned_membersMessagingMember[]Nofor email systems, this field represents the CC value
mentioned_members[].user_idstringNo(reference to HrisEmployee)
mentioned_members[].emailstringNo
mentioned_members[].namestringNo
mentioned_members[].image_urlstringNo
reactionsMessagingReaction[]No
reactions[].reactionstringYes
reactions[].memberMessagingReaction_memberYes
reactions[].member.user_idstringNo(reference to HrisEmployee)
reactions[].member.emailstringNo
reactions[].member.namestringNo
reactions[].member.image_urlstringNo
subjectstringNo
messagestringNoThe message body as plain text
message_htmlstringNo
message_markdownstringNo
attachmentsMessagingAttachment[]No
attachments[].filenamestringNo
attachments[].sizenumberNo
attachments[].content_identifierstringNothe inline attachment's content_id
attachments[].content_typestringNo
attachments[].download_urlstringNo
attachments[].message_idstringNo
web_urlstringNo
referencestringNoeg. RFC822 MessageID
has_childrenbooleanNo
is_unreadbooleanNo
buttonsMessagingButton[]No
buttons[].idstringYes
buttons[].textstringNo
buttons[].iconstringNo
metadataMessagingMetadata[]No
metadata[].idstringNo
metadata[].slugstringNo
metadata[].valueobjectNo
metadata[].namespacestringNo
metadata[].formatenumNoValues: TEXT, NUMBER, DATE, BOOLEAN, FILE, TEXTAREA, SINGLE_SELECT, MULTIPLE_SELECT, MEASUREMENT, PRICE, YES_NO, CURRENCY, URL
metadata[].extra_dataobjectNo

TypeScript

TypeScript
export type MessagingMessage = {
	id?: string;
	created_at?: string-time; // (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	updated_at?: string-time; // (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	channels?: []; // Represents all channels to which the message is sent. Identifies the channels where the message is posted.  To send to the "Draft" channel/folder, use a channel ID "DRAFT".
	parent_id?: string; // Represents the ID of the immediate predecessor message in the thread. Identifies a specific message to which the current message directly replies.
	message_thread_identifier?: string; // the opaque identifier for the first message in a thread  
	author_member?: {
		user_id?: string; // (reference to HrisEmployee) 
		email?: string; 
		name?: string; 
		image_url?: string; 
	}; // for email systems, this field represents the From value
	destination_members?: []; // for email systems, this field represents the To value
	hidden_members?: []; // for email systems, this field represents the BCC value
	mentioned_members?: []; // for email systems, this field represents the CC value
	reactions?: [];
	subject?: string;
	message?: string; // The message body as plain text
	message_html?: string;
	message_markdown?: string;
	attachments?: [];
	web_url?: string;
	reference?: string; // eg. RFC822 MessageID
	has_children?: boolean;
	is_unread?: boolean;
	buttons?: [];
	metadata?: [];
	raw?: any;
} 

Zod

Zod
import { z } from 'zod';

export const ZodMessagingMessage = z.object({
	id: z.string().optional(),
	created_at: z.string-time().optional().describe("(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	updated_at: z.string-time().optional().describe("(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	channels: z.array().optional().describe("Represents all channels to which the message is sent. Identifies the channels where the message is posted.  To send to the "Draft" channel/folder, use a channel ID "DRAFT"."),
	parent_id: z.string().optional().describe("Represents the ID of the immediate predecessor message in the thread. Identifies a specific message to which the current message directly replies."),
	message_thread_identifier: z.string().optional().describe("the opaque identifier for the first message in a thread  "),
	author_member: z.object({
			user_id: z.string().optional().describe("(reference to HrisEmployee)"),
			email: z.string().optional(),
			name: z.string().optional(),
			image_url: z.string().optional()
}).optional().describe("for email systems, this field represents the From value"),
	destination_members: z.array().optional().describe("for email systems, this field represents the To value"),
	hidden_members: z.array().optional().describe("for email systems, this field represents the BCC value"),
	mentioned_members: z.array().optional().describe("for email systems, this field represents the CC value"),
	reactions: z.array().optional(),
	subject: z.string().optional(),
	message: z.string().optional().describe("The message body as plain text"),
	message_html: z.string().optional(),
	message_markdown: z.string().optional(),
	attachments: z.array().optional(),
	web_url: z.string().optional(),
	reference: z.string().optional().describe("eg. RFC822 MessageID"),
	has_children: z.boolean().optional(),
	is_unread: z.boolean().optional(),
	buttons: z.array().optional(),
	metadata: z.array().optional(),

});

Python

Python
import dataclasses

@dataclasses.dataclass
class PropertyMessagingMessageAuthor_member:
	"""(reference to HrisEmployee)"""
	user_id: Optional[str]
	email: Optional[str]
	name: Optional[str]
	image_url: Optional[str]

@dataclasses.dataclass
class MessagingMessage:
	id: Optional[str]
	"""(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	created_at: Optional[str]
	"""(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	updated_at: Optional[str]
	"""Represents all channels to which the message is sent. Identifies the channels where the message is posted.  To send to the "Draft" channel/folder, use a channel ID "DRAFT"."""
	channels: Optional[PropertyMessagingMessageChannels]
	"""Represents the ID of the immediate predecessor message in the thread. Identifies a specific message to which the current message directly replies."""
	parent_id: Optional[str]
	"""the opaque identifier for the first message in a thread  """
	message_thread_identifier: Optional[str]
	"""for email systems, this field represents the From value"""
	author_member: Optional[PropertyMessagingMessageAuthor_member]
	"""for email systems, this field represents the To value"""
	destination_members: Optional[PropertyMessagingMessageDestination_members]
	"""for email systems, this field represents the BCC value"""
	hidden_members: Optional[PropertyMessagingMessageHidden_members]
	"""for email systems, this field represents the CC value"""
	mentioned_members: Optional[PropertyMessagingMessageMentioned_members]
	reactions: Optional[PropertyMessagingMessageReactions]
	subject: Optional[str]
	"""The message body as plain text"""
	message: Optional[str]
	message_html: Optional[str]
	message_markdown: Optional[str]
	attachments: Optional[PropertyMessagingMessageAttachments]
	web_url: Optional[str]
	"""eg. RFC822 MessageID"""
	reference: Optional[str]
	has_children: Optional[bool]
	is_unread: Optional[bool]
	buttons: Optional[PropertyMessagingMessageButtons]
	metadata: Optional[PropertyMessagingMessageMetadata]
Are we missing anything? Let us know
Was this page helpful?