{
"id": 5498,
"text": "Never open a message with \"Hello\".",
"categories": [
"personalizedMessage"
],
"source": "manual",
"scope": "user",
"sequenceIds": [],
"isEnabled": true,
"createdAt": "2026-09-02T09:14:07Z",
"updatedAt": "2026-09-11T16:41:55Z",
"ownerUserId": 1234,
"isOwn": true,
"conflictState": "takesPrecedence",
"conflicts": [
{
"otherLearningId": 5512,
"otherText": "Always open with a short greeting.",
"categories": [
"personalizedMessage"
],
"state": "takesPrecedence",
"reason": "One learning forbids a greeting the other requires."
}
]
}AI Learning
A standing rule that shapes how the AI writes, together with the learnings it contradicts.
A standing rule that shapes how the AI writes, together with the learnings it contradicts.
Unique identifier of the learning
The standing rule the AI follows
Where the rule applies
Where a learning applies. personalizedMessage shapes outbound message drafting, replyHandling
shapes answers to incoming mail. A learning can carry both.
personalizedMessage, replyHandling Whether the AI derived the learning or a person wrote it
aiGenerated, manual Who the learning binds
organization, workspace, user, sequence Sequences the learning is limited to. Empty unless scope is sequence.
Whether the learning is switched on
When the learning was created (UTC)
When the learning was last changed (UTC). null if it has never been changed.
User ID of the learning's owner. null when the owner is no longer a Reply user.
Whether the learning is yours. false for a learning a team or organization admin set for everyone.
How the learning stands against the learnings it contradicts. An unresolved learning is not applied.
none, overridden, takesPrecedence, unresolved Every other learning this one contradicts. Empty when conflictState is none.
Show child attributes
Show child attributes