> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt. # Merge proposals ## Overview A merge proposal records a request to merge one [branch's](/docs/eleven-agents/operate/versioning#branches) changes into another and lets a teammate review the diff before that happens. Anyone with edit access to the agent can open a proposal, even into a branch they cannot merge into themselves. Merging the proposal still requires write access to the target branch, so a proposal is how a change reaches a protected branch without giving every contributor merge rights on it. > **Note** > > Merge proposals add an optional review step on top of [merging branches directly](/docs/eleven-agents/operate/versioning#merging-branches). Merge directly when you have > write access to the target branch and don't need a second opinion. Open a proposal when you want > one reviewed first, or when the target branch is protected and you don't have write access to it. ## Availability Merge proposals are in alpha. When several branches of an agent are in progress at once, it becomes hard to track which ones are ready and safe to merge. Merge proposals give a team one place to review and discuss a branch's changes, compare test pass rates between branches, and look at the branch's latest conversations. The alpha is a first step toward a CI/CD-style workflow for agents, similar to pull requests on GitHub. Planned additions over the coming weeks include: * Required tests that must pass before a proposal can be merged. * Requesting approvals from specific reviewers. * Configuring owners for different parts of an agent. ## Proposal lifecycle Every proposal has one of these statuses: | Status | Meaning | | ------ | ------------------------------------------------------------------------------------------------------------------ | | Open | Waiting for review or merge. | | Merged | The source branch's changes were merged into the target branch. | | Closed | Withdrawn by the author, rejected by someone else, or closed automatically because the source branch was archived. | While a proposal is open, reviewers leave one of these verdicts. A reviewer's latest verdict replaces any earlier one from that same reviewer: | Review state | Meaning | | ----------------- | ----------------------------------------------------------------- | | Approved | The reviewer is satisfied with the changes. | | Changes requested | The reviewer wants something addressed before this can be merged. | ## Opening a proposal Open a proposal from the branch whose changes you want reviewed: #### From the branch list In the agent's **Branches** tab, open the options menu on the source branch and select **Open merge proposal**. ![Open merge proposal option in a branch's options menu](/docs/_fern-img/5216047fc93408959d31bba118e0f0e8853129da106a9d75c00d57a2307e33e0.webp) #### From the Proposals tab In the agent's **Branches > Proposals** tab, select the source branch, then click **Create proposal**. ![Proposals tab on an agent's Branches page](/docs/_fern-img/bfdb23ad1edb31c89c2ff2a137fa3028bf3f9fbcf31e236de142e207b5d54cd0.webp) Give the proposal a title, an optional description, and pick a target branch from the agent's other non-archived branches. Opening a proposal does not change either branch; it only records the request. > **Note** > > A source and target branch pair can have at most one open proposal at a time. Close the existing > one before opening another between the same two branches. ## Reviewing a proposal A proposal's page has these tabs: #### Overview The description, review history, and a form for leaving a review. ![Overview tab of a merge proposal](/docs/_fern-img/44894b2d2cbb79aeff99813f83d5832ab4a9e6ff44796c772e3681c69120b04c.webp) #### Changes A diff between the source and target branch configurations. ![Changes tab of a merge proposal](/docs/_fern-img/968126763b1bb7e5bf57ad68ee334d5d5bc64b43a7ce3006184a462ce0c3d929.webp) #### Test runs The source branch's test history, so reviewers can check it still passes before approving. ![Test runs tab of a merge proposal](/docs/_fern-img/a39354598b070cef39720159b84da10414d7b17820c8c71780ed2bd5a66a47fc.webp) #### Conversations Recent conversations on the source branch. ![Conversations tab of a merge proposal](/docs/_fern-img/c37286e50107428225c57804a8bc8e09fe364b1ad6dc6cf582084dd8c52a6565.webp) Anyone with edit access to the agent, other than the proposal's own author, can leave a review with an optional comment. Comments support markdown. ## Merging a proposal Merging a proposal performs the same [branch merge](/docs/eleven-agents/operate/versioning#merging-branches) as merging directly, including [conflict resolution](/docs/eleven-agents/operate/versioning#resolving-merge-conflicts) and the option to archive the source branch afterward. Before it can be merged, a proposal must meet these requirements: * The merging user has write access to both the source and target branches. On a [protected branch](/docs/eleven-agents/operate/versioning), that means being a workspace admin. * No reviewer's latest verdict is "changes requested". A reviewer who requested changes must approve before the proposal can be merged. * The proposal has at least one approval from someone other than its author. Workspace admins can merge without this approval. Merging a proposal automatically closes any other open proposal for the same source branch, since its changes have now moved on. ## Closing a proposal A proposal can be closed without merging at any point while it's open. The author and reviewers can edit its title and description up until it's closed. * The author closing their own proposal records it as **withdrawn**. * Anyone else closing it records it as **rejected**. * Archiving the source branch closes any open proposal from or to it automatically, recorded as **branch\_archived**. ## Merge proposals and ElevenAgents Architect [Architect](/docs/eleven-agents/operate/architect) can open merge proposals for you. After it makes and tests a change on a branch, it reads the branch's commits and merge preview and opens a proposal with **Summary**, **Testing**, and **How to review** sections. It can also suggest reviewers for you to choose from. Because Architect acts as you, the proposal lists you as its author. Architect can't review, approve, merge, or close a proposal. Those steps are always done by people. See [Proposals and validation](/docs/eleven-agents/operate/architect/proposals) for the full flow. ## Next steps #### [Versioning](/docs/eleven-agents/operate/versioning) Branches, versions, and direct merging. #### [ElevenAgents Architect](/docs/eleven-agents/operate/architect) The assistant built into ElevenAgents for iterating on an agent. #### [Triage](/docs/eleven-agents/operate/triage) Review conversation issues flagged for follow-up. #### [Experiments](/docs/eleven-agents/operate/experiments) Run A/B tests using branches and traffic deployment. > ElevenLabs provides APIs and SDKs for text to speech, voice cloning, speech to text, sound effects, voice isolator, voice changer, and conversational AI agents. Build voice-enabled applications with lifelike audio generation.