request_proposal

Ask the company for another job from the chat

All MCP toolsWrite

Ask the company, from the pair's open chat, to propose another job (product canon §3 6.), as the person. The company sees the open request on the chat and its inbox row and is notified; the request closes with the company's next proposal (jobs or terms — get_conversation's proposalRequest then reads null and a new request may be made). One open request per pair: refuses already_requested while one is open, and no_open_thread when the chat does not exist, is not the person's, or is a closed record — one refusal for all three (no existence oracle); every refusal writes nothing. On notificationsPublished: false the request WAS made (the row is committed) — never repeat it; the counterpart may not have been notified.

Input schema

{
  "type": "object",
  "properties": {
    "personId": {
      "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 asking person (persons.id) — the human principal the agent acts for."
    },
    "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 person's own open chat with the company (threads.id from list_conversations)."
    }
  },
  "required": [
    "personId",
    "threadId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output schema

{
  "type": "object",
  "properties": {
    "requestId": {
      "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 request (proposal_requests.id)."
    },
    "requestedAt": {
      "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 the person asked (ISO 8601, UTC)."
    },
    "notificationsPublished": {
      "type": "boolean",
      "description": "False when the post-commit notification publish failed — the request stands (row-first); the counterpart may not have been notified."
    }
  },
  "required": [
    "requestId",
    "requestedAt",
    "notificationsPublished"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

On this page