Skip to content

Conversation.reopened

Emitted each time a Conversation is reopened.

Conversation.reopen emits Conversation.reopened when it completes on a Conversation.

PropertyValue
Emitted byConversation.reopen
NounConversation
MovesConversation resolved to open
WakesNone.

Payload

Each delivery is an Event record. data holds what Conversation.reopen returns.

FieldTypeRequiredDescription
namestringrequiredConversation.reopened.
atdatetimerequiredWhen it happened.
seqintegerIts position in the namespace, one more than the Event before; any seq is a cursor into the history.
datajsonrequiredThe Thing as the Action left it.
data.conversationConversationrequiredThe Conversation, open again.
data.conversation.subjectstringWhat the Thread is about.
data.conversation.answeredAtdatetimeWhen a Worker last answered.
data.conversation.firstAnsweredAtdatetimeWhen a Worker first answered; set once, never overwritten. answeredAt keeps the last answer.
data.conversation.respondBydatetimeWhen the first answer is due: Setting support.firstResponseWithin per Offer, default 4 business hours.
data.conversation.statusstringOpen, waiting on the Customer, or resolved; computed from its answers, closes and reopens.
data.conversation.resolvedAtdatetimeWhen it was resolved; empty again when the resolution reverses.
data.conversation.resolutionstringHow it was resolved: the Customer said so, or 72 hours passed after an answer with no reply.

Example

JSON
{
  "$id": "https://api.sb/shiftnote.app/events/event_1",
  "$type": "Event",
  "name": "Conversation.reopened",
  "at": "2026-10-22T12:00:00Z",
  "data": {
    "conversation": {
      "$id": "https://api.sb/shiftnote.app/conversations/conversation_1",
      "$type": "Conversation",
      "subject": "Example subject",
      "answeredAt": "2026-10-22T12:00:00Z",
      "firstAnsweredAt": "2026-10-22T12:00:00Z",
      "respondBy": "2026-10-22T12:00:00Z",
      "status": "open",
      "resolvedAt": "2026-10-22T12:00:00Z",
      "resolution": "confirmed"
    }
  },
  "seq": 1
}