> ## Documentation Index
> Fetch the complete documentation index at: https://docs.retellai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Build and refine agents

> Build and refine agents with Retell AI Conductor. Describe an edit, compare the current and proposed settings, and accept changes before testing your agent.

Ask Conductor to change your agent’s prompts, settings, or conversation flow in plain language. It proposes edits for you to review before applying them.

Use it for a targeted change, such as shortening an appointment-booking greeting, or to improve an agent based on [unsuccessful calls or chats](/conductor/test-and-improve).

## Create or inspect an agent

To generate a first version from your requirements, follow [Create an agent with Conductor](/conductor/create-agent). For an existing agent, ask Conductor to explain its configuration, compare versions, or compare it with another agent attached through [Add context](/conductor/overview#give-conductor-context).

For example: "Compare these two appointment-booking agents and explain how they handle unavailable slots."

## Send your first message

<Steps>
  <Step title="Open Conductor">
    Click **Conductor** in the agent builder toolbar.
  </Step>

  <Step title="Describe the change">
    Type your request in the message box. [Attach a node, call, chat, or other resource](/conductor/overview#give-conductor-context) when the request concerns a specific item.
  </Step>

  <Step title="Send your request">
    Press **Enter** or click the send button.
  </Step>
</Steps>

Conductor explains what it is doing, then replies or proposes changes to your agent.

<Frame caption="Describe the change you want before sending your message.">
  <img src="https://mintcdn.com/retellai/hUHAB8rIIpPsqz8F/images/conductor/conductor-first-message.png?fit=max&auto=format&n=hUHAB8rIIpPsqz8F&q=85&s=e0cd5b6cddb258fa87be6b8af5f28938" alt="An unsent request to clarify the template patient-screening greeting, with the send button." style={{ maxHeight: 560 }} width="556" height="126" data-path="images/conductor/conductor-first-message.png" />
</Frame>

## Not sure where to start?

When you open a new conversation, Conductor shows **starter suggestions**. Click one to fill the message box, edit the request if needed, then send it:

* **Review this agent** — review the current agent configuration.
* **Improve using failures** — find improvements from unsuccessful interactions.
* **Suggest edge case tests** — identify scenarios to test.

<Frame caption="Starter suggestions in a new conversation with Patient Screening (from template).">
  <img src="https://mintcdn.com/retellai/hUHAB8rIIpPsqz8F/images/conductor/conductor-suggestions.png?fit=max&auto=format&n=hUHAB8rIIpPsqz8F&q=85&s=d298b2f320d47bd6af1181e3a969ffb2" alt="Conductor starter suggestions for the Patient Screening template agent: Review this agent, Improve using failures, and Suggest edge case tests." style={{ maxHeight: 560 }} width="466" height="250" data-path="images/conductor/conductor-suggestions.png" />
</Frame>

## Examples of what to ask

<AccordionGroup>
  <Accordion title="Editing how your agent talks">
    * "Make the greeting shorter and friendlier."
    * "Ask for the caller's full name before anything else."
    * "If the caller sounds upset, apologize and offer to transfer to a human."
  </Accordion>

  <Accordion title="Adding or changing steps">
    * "Add a step that collects the caller's email and confirms the spelling."
    * "After booking, ask if they'd like a text reminder."
    * "Add a path for callers who only want store hours."
  </Accordion>

  <Accordion title="Fixing problems">
    * "Callers say the agent talks over them — can you fix that?"
    * "The agent keeps repeating the menu. Help me stop that."
  </Accordion>
</AccordionGroup>

## Configure functions and tools

Ask Conductor to add or update the functions your agent uses, including their configuration and the instructions for when to call them. For a custom function, provide the endpoint details, expected inputs, and the response the agent should handle.

For example: "Add a check\_availability function that takes an appointment date. Ask for the date before calling it, and offer another date if no slots are available."

For conversation-flow agents, ask Conductor to connect the function to a [Function node](/build/conversation-flow/function-node) and define the transitions after it returns. For prompt agents, describe when to call the function and how to use its result in the response.

Review proposed function changes along with the agent’s other edits before submitting. If a function behaves unexpectedly, [attach a call or chat](/conductor/call-and-chat-history) and ask Conductor to inspect its arguments, result, and surrounding conversation.

See [Function calling](/build/add-function-calling) for supported functions and [Testing with Conductor](/test/testing-with-conductor) for mocking function responses in simulations.

## Tips for great results

* **Be specific.** "Ask for the appointment date and time" works better than "collect info."
* **One goal at a time.** Smaller requests are easier to review and get right.
* **Give context.** Mention the step, call, or chat you mean — or better, [attach it](/conductor/overview#give-conductor-context).
* **Iterate.** If a suggestion isn't quite right, tell Conductor what to adjust and it will revise.

## Stopping a response

If Conductor is working and you want to stop it, click the **Stop** button in the message box. You can then send a new message.

## Review and apply changes

Conductor lists its proposed agent edits in **Review changes** and previews them on the affected settings or nodes. Review each change before applying it.

<Frame caption="A greeting proposal in Patient Screening (from template), with the changed node in view.">
  <img src="https://mintcdn.com/retellai/hUHAB8rIIpPsqz8F/images/conductor/conductor-template-review.png?fit=max&auto=format&n=hUHAB8rIIpPsqz8F&q=85&s=687f75d892f91afb76a52a5188ba2bce" alt="Patient Screening (from template) open in the agent builder with a proposed Greetings node edit, inline reject and accept controls, and Conductor's Review changes panel. The changed node appears beside the review panel." style={{ maxHeight: 560 }} width="1800" height="878" data-path="images/conductor/conductor-template-review.png" />
</Frame>

### Compare the current and proposed values

Select a change in the review panel to find the affected setting or node. The inline preview shows the proposed edit in context. Where available, use **View original** and **View proposed** to switch between versions. Text diffs mark removed content with strikethrough and added content in green.

Click the change description, such as **Node updated**, to open its **JSON diff** and inspect the exact values.

<Frame caption="Open Node updated to inspect the greeting's JSON diff.">
  <img src="https://mintcdn.com/retellai/hUHAB8rIIpPsqz8F/images/conductor/conductor-template-review-diff.png?fit=max&auto=format&n=hUHAB8rIIpPsqz8F&q=85&s=d00c48c76d3173cca37374dc4664a1f9" alt="JSON diff for the template agent's Greetings node, showing the original greeting and the shorter proposed greeting above the Node updated control." style={{ maxHeight: 560 }} width="552" height="256" data-path="images/conductor/conductor-template-review-diff.png" />
</Frame>

### Choose what to apply

Use **Accept change** (✓) or **Reject change** (×) for each edit. For proposals with several edits, the bulk accept and reject controls let you decide on all remaining changes together. Use **Undo** to revise a decision before submitting.

Click **Submit** to apply the accepted changes and send your review back to Conductor. To request a revision, write feedback in **Anything I should do differently?** and submit. Any changes you have not accepted are rejected when you submit.

Finish the review before sending your next prompt. If a change fails to apply, check Conductor's response before continuing. After applying agent changes, [test the updated behavior](/conductor/test-and-improve).

### Review on the correct agent

If a proposal belongs to another agent or version, click **Open this agent** in the proposal before reviewing it. If the agent is already open on another tab within the builder, click **Switch to Agent tab**.
