Run the conversation

Qualification that follows your logic. Not a script.

Configure your question set once. The AI works through it, handles deflections, follows branch instructions, and marks questions answered when the contact's reply genuinely addresses them — not just when they replied.

AI-drivenquestion progression — no hardcoded sequencing logic in code
Branch logicper question — end, jump, reach back out, or freeform instruction
answered_question_idstracked per turn — attribution always accurate
Multi-answerrecognition — contact answers two questions at once, AI marks both
How qualification works

The AI decides when a question is answered. Not the code.

Questions are configured in sequence with optional branch instructions. The AI works through them in order, using its judgment to determine when a question has been genuinely answered — even if the contact's reply is vague, partial, or addresses multiple questions at once. The code stores the result; the AI makes the call.

  • Question set configured with sequence number, question text, and optional branch value
  • AI marks question IDs as answered based on the full conversation — not keyword matching
  • Contact answering multiple questions in one reply — AI marks all relevant IDs
  • Vague or partial answers re-asked or clarified — not marked answered prematurely
  • Branch instructions fire when a contact gives a negative answer to a specific question
  • answered_question_ids stored per turn — learning engine uses these for drop-off analysis
Question progression
  1. 1
    Question 1 asked
    AI includes Q1 in first outbound message
  2. 2
    Contact replies
    AI reads reply in context of full conversation
  3. 3
    AI judgment
    Q1 answered? → mark ID, move to Q2. Partial? → re-ask.
  4. 4
    Branch check
    Negative answer? → apply branch instruction for Q1
  5. 5
    Q2 asked
    Next unanswered question included in response
  6. 6
    Qualification complete
    All questions answered → BOOKED or CONTINUE to outcome
Branch logic

Your qualification logic. Not ours.

Branch instructions are configured per question. When a contact gives a negative answer, the AI applies the branch — ending the conversation, jumping to a different question, or offering to follow up. The logic is yours to define.

Structured tokens

Branch values can be structured tokens: END (end the conversation), REACH_BACK_OUT (offer to follow up), BOOKED (confirm a booking), or a question number (jump to Q3). The platform translates these into plain English instructions for the AI.

How it works: Token translation is tested — 'end the conversation', 'continue to Q3', 'offer to follow up later' are all rendered correctly in the system prompt.

Freeform instructions

Branch values can also be freeform prose — 'suggest the starter plan instead' or 'ask about their timeline before offering a demo'. The AI reads these as plain English instructions and applies them as part of its judgment.

How it works: Freeform branch instructions are passed through verbatim — they appear as Instruction lines in the decision tree summary visible to operators.

Auto-generated tree summary

A structured plain-text summary of the full decision tree is auto-generated alongside the question list. Every question, its positive path, and its branch outcome are described in plain English — readable by any operator without interpreting database fields.

How it works: Summary updates automatically when questions or branch values change — always reflects the current config the AI will receive.

Campaign Tester validation

Before any contact receives a qualified or rejected outcome, you can test every branch path in the Campaign Tester. Walk positive paths, trigger branch instructions manually, and confirm the AI applies them correctly.

How it works: Branch shortcuts in the Campaign Tester let you jump to specific question paths without manually simulating the full conversation from Q1.

Want to configure your first
qualification campaign?

We'll set up your question set, configure branch logic, and test every path before any contact is messaged.