Skip to main content

ChatConversation

One back-and-forth chat thread. Polymorphic via (subject_type, subject_id) so it can attach to an AI session, an approval, a future website chat-bot conversation, etc.

type ChatConversation {
id: ID!
subject_type: String
subject_id: ID
external_session_id: String
title: String
created_at: DateTime!
updated_at: DateTime
messages: [ChatMessage!]!
participants: [ChatParticipant!]!
agent_plan: AgentPlan
agent_plans: [AgentPlan!]!
}

Fields

ChatConversation.id ● ID! non-null scalar

ChatConversation.subject_type ● String scalar

ChatConversation.subject_id ● ID scalar

ChatConversation.external_session_id ● String scalar

ChatConversation.title ● String scalar

ChatConversation.created_at ● DateTime! non-null scalar

ChatConversation.updated_at ● DateTime scalar

ChatConversation.messages ● [ChatMessage!]! non-null object

ChatConversation.participants ● [ChatParticipant!]! non-null object

ChatConversation.agent_plan ● AgentPlan union

The conversation's top-level AgentPlan (parent_plan_id IS NULL). Returns null when no agent has begun building a plan for this thread. Sub-plans are reachable via Query.agentPlan(id) using the *_plan_id pointers nested inside slot values, or — for batch inspection — via the full agent_plans list.

ChatConversation.agent_plans ● [AgentPlan!]! non-null union

Every AgentPlan owned by this conversation, top-level + sub-plans.

Returned By

chatConversation query ● chatConversationByExternalSessionId query

Product

PricingFAQPaminga vs. MarketoMarketo to Paminga TranslatorMarketo Alternative
Paminga Logo
LinkedInFacebookXYouTube
ISO 27001 CompliantSOC 2 Compliant

Built with pride in Denver, Colorado, USA

Copyright © Paminga, Inc. 2026
All rights reserved. Various trademarks held by their respective owners.