Using Kinro
Conversations
How a conversation with Kinro works: conversation IDs, statuses, messages, timing and relaying the user faithfully.
A conversation with Kinro is one insurance request for one business. Your agent talks to Kinro through one tool, ask_kinro: with a message, it sends the user's words; without one, it checks for anything new. Kinro's messages come from Leo, Kinro's AI advisor, who says openly that it is an AI.
The loop
- Call
ask_kinrowith the user's message. Omitconversation_idon the first message. - Show the user every message in the result, in order.
- Read what Kinro says will happen next. When Kinro asks the user something, ask the user and send their answer with
ask_kinro. - When Kinro says it is still working, for example pricing a quote, call
ask_kinrowithout a message to check for its next messages. Check back when Kinro says to expect news.
Kinro does not report its progress in separate fields. Its messages say what it is doing and when to expect the next step, in words written for the user and the agent alike.
Checking for new messages
Call ask_kinro with no message (or an empty one) to check for news:
- It sends nothing to Kinro and starts no reply.
- It returns Kinro's new messages as soon as one arrives. Otherwise it waits briefly, about 25 seconds (60 in Codex), then returns the note
No new messages from Kinro yet. - Call it again when Kinro has said more is coming, or when the user asks for an update. When Kinro is waiting for the user, ask the user instead of checking again.
Conversation IDs
The first ask_kinro call with a message opens a conversation and returns a conversation_id, both in structuredContent and as a final text line (conversation_id: …), for clients that drop structured results.
- Pass the same
conversation_idon every laterask_kinrocall in that conversation, including checks without a message. - Keep it with the conversation, including after your client reconnects or restarts.
- Omitting it on a call with a message starts a new insurance request. Start a new one only when the user is asking about a different business.
- Never invent an ID or reuse another user's. An unknown ID never opens a conversation; the call answers that there is no conversation.
The ID is a handle, not a password or an identity check. Treat it as private to the user.
ChatGPT and Codex keep their conversations together through their own conversation metadata, so in those clients the result does not include a conversation_id.
Messages
Each result's messages lists Kinro's messages as text, oldest first. Show each one to the user as written; messages can contain links the user needs, such as the link to a quote. A message Kinro also sent by email or text appears here too. When there is nothing new, messages holds a single note that says so.
Messages are delivered once: a later call does not repeat them. Keep calls sequential and save each result before making another call. If the connection drops after Kinro delivered messages, calling again may not recover them.
Updating an existing connection
Refresh your client's tool list and schemas, or reconnect the Kinro app, before using an existing connection:
- Use
ask_kinrowithout a message wherever your integration calledcheck_kinro_updates. That tool is no longer available. - Read
messagesas an array of strings. Results no longer includestatus,lastMessage, orquotePending; messages no longer havekindorchannelfields. - Show quote links from the messages.
show_kinro_quoteand its quote card are no longer available.
A client with a cached output schema can reject a valid result after Kinro has already received your message. Do not resend it because of a schema error. Refresh the schemas, then use ask_kinro without a message to check for new replies. As with a dropped connection, previously delivered messages may not be returned again.
Timing
ask_kinrowith a message returns within about 30 seconds. If Leo needs longer, the result says Kinro is still working on the message. The message has been received; do not send it again. Callask_kinrowithout a message to get the reply.- Quotes usually arrive within a few minutes of Kinro saying it is pricing one.
- Set your client's tool timeout to at least 60 seconds, or 320 seconds in Codex to allow its longer checks.
One message at a time
Each ask_kinro call with a message sends a new message. Kinro answers the messages in a conversation one at a time:
- Do not retry a call to resend a message. If a call fails or times out, call
ask_kinrowithout a message to see whether Kinro received it, before you ask the user whether to send it again. - Wait for the reply before sending the next message. A message sent while Kinro is still answering is refused with a note to wait.
Relaying the user faithfully
Kinro gives advice as a licensed broker, so it needs the user's own account of their business:
- Send the user's words, quoted, in
message. Add only facts the user already gave in this chat that Kinro has not seen. - Do not add your own assumptions, interpretations or instructions to Kinro. Kinro asks its own clarifying questions.
- Show Kinro's questions to the user rather than answering them yourself.
- Never send a Social Security number, driver's license number, payment card number or password, even if the user offers one. Kinro collects anything sensitive it needs outside the chat.
Contact outside the chat
Kinro may email or text the user, for example to send a quote or follow up, but only at contact details the user shares in the conversation and agrees to be contacted at. Kinro asks for that agreement in the conversation before it first emails or texts. Messages Kinro sends that way also reach your agent through ask_kinro.
A licensed Kinro team member may also follow up with the user when a request needs one.