record_agreement

Record that terms were agreed independently of a job posting

All MCP toolsWrite

Record, on one of the organization's open chats, that the company and the candidate agreed on terms independent of any job posting. Records the FACT only — no terms, no message: one row, and the candidate receives one item in Decisions to answer (proceed or decline). actorPersonId is the employer-side human principal you act for — a participant of the chat, never a credential identity. Refuses thread_not_found / thread_closed / not_participant / already_recorded (a record already awaits the answer) / already_agreed (the chat's topic is already the agreed terms); every refusal writes nothing.

Input schema

{
  "type": "object",
  "properties": {
    "actorPersonId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "The recording employer-side person (persons.id) — the human principal the agent acts for, never derived from the credential. Must be the chat's employer participant."
    },
    "threadId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "The organization's chat with the candidate (threads.id)."
    }
  },
  "required": [
    "actorPersonId",
    "threadId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output schema

{
  "type": "object",
  "properties": {
    "agreementId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "The agreement record (agreements.id)."
    },
    "recordedAt": {
      "type": "string",
      "format": "date-time",
      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      "description": "When it was recorded (ISO 8601, UTC)."
    },
    "notificationsPublished": {
      "type": "boolean",
      "description": "False when the post-commit notification publish failed — the record stands (row-first); the counterpart may not have been notified."
    }
  },
  "required": [
    "agreementId",
    "recordedAt",
    "notificationsPublished"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

On this page