EmailThread
One conversation between a mailbox and a contact.
type EmailThread {
id: ID!
contact: Contact
mailbox: SequenceMailbox!
sequence: Workflow
subject: String!
last_message_at: DateTime!
last_inbound_at: DateTime
last_outbound_at: DateTime
last_message_preview: String
last_message_direction: EmailDirection
unread_count: Int!
needs_reply: Boolean!
last_reply_kind: InboundMessageKind
opt_out_pending: Boolean!
sequence_status: String
status: EmailThreadStatus!
can_reply: Boolean!
cannot_reply_reason: String
messages: [EmailThreadMessage!]!
}
Fields
EmailThread.id ● ID! non-null scalar
EmailThread.contact ● Contact object
Null when the contact has since been removed; the conversation is still kept.
EmailThread.mailbox ● SequenceMailbox! non-null object
EmailThread.sequence ● Workflow object
The sequence the conversation started in, when it started in one.
EmailThread.subject ● String! non-null scalar
EmailThread.last_message_at ● DateTime! non-null scalar
EmailThread.last_inbound_at ● DateTime scalar
EmailThread.last_outbound_at ● DateTime scalar
EmailThread.last_message_preview ● String scalar
The newest message's opening text, cut to about 140 characters. Null when the thread has no message.
EmailThread.last_message_direction ● EmailDirection enum
Which side sent the newest message. Null when the thread has no message.
EmailThread.unread_count ● Int! non-null scalar
EmailThread.needs_reply ● Boolean! non-null scalar
True when the contact wrote last and nobody has answered.
EmailThread.last_reply_kind ● InboundMessageKind enum
What the newest inbound message was.
EmailThread.opt_out_pending ● Boolean! non-null scalar
True when the newest message reads as a request to stop and the contact is not yet unsubscribed.
EmailThread.sequence_status ● String scalar
Where the contact stands in the thread's sequence, as a short phrase for the header: "in sequence", "finished", "exited on reply", "exited on bounce", or "exited (meeting booked)" and the like for any other exit. Null when the thread has no sequence.
EmailThread.status ● EmailThreadStatus! non-null enum
EmailThread.can_reply ● Boolean! non-null scalar
True when the signed-in user can reply from this thread's mailbox right now.
EmailThread.cannot_reply_reason ● String scalar
Why a reply is not possible, when it is not.
EmailThread.messages ● [EmailThreadMessage!]! non-null object
Every message in the conversation, oldest first.
Returned By
archiveEmailThread mutation ● confirmOptOut mutation ● dismissOptOut mutation ● emailThread query ● markEmailThreadRead mutation ● unarchiveEmailThread mutation
Member Of
EmailThreadsResponse object ● WorkflowQualification object


