How to Create Measurement Plans Private Beta

Define the tracking you want and let a background agent open pull requests that implement it.

A measurement plan captures what your team wants to track and carries it through a reviewed lifecycle — from a draft definition to instrumentation code proposed as pull requests. It is how you go from “we should be tracking this” to a concrete, reviewable change without writing the instrumentation by hand.

In the workspace sidebar, measurement plans appear under Plans.

A measurement plan with its events and properties

Create a plan

  1. Draft the plan: From chat, describe the tracking you want — the events and properties that should be captured. The agent saves and refines this as a measurement plan.
info
From chat, the agent can only save, update, and manage a plan — it can’t implement it.
  1. Review and approve: A person reviews the plan and approves it. Nothing is implemented until this human-gated step.
  2. Generate the pull requests: Approval alone doesn’t start implementation — a person clicks Generate PRs and confirms. This action launches the instrumentation agent and moves the plan to the implementation state.
  3. The instrumentation agent opens pull requests: Once started, a background agent works each repository linked to the plan, writes the code changes, and opens a pull request for each one.
  4. Review and merge: The pull requests sit in your normal code-review process. You can review and merge them like any other change.

The plan lifecycle

A measurement plan moves through clear states so you always know where it stands:

State
Meaning
DraftThe plan is being defined and refined
ApprovedA person has approved the plan. It is ready to implement, but the instrumentation agent doesn’t start until someone selects Generate PRs
ImplementingGenerate PRs has been triggered — the background agent is generating code and opening pull requests
ImplementedThe pull requests have been opened
Partial failureThe agent implemented some repositories but couldn’t complete others
VerifiedA person has marked the plan as verified after reviewing the merged pull requests. This is a manual step — merging a pull request doesn’t move the plan to verified on its own

Why it is split this way

The agent proposes, a human approves, and a background worker implements. This process keeps a person in the loop before any code reaches a repository.

  • From chat, the agent can only save and manage a plan — it can’t set one running.
  • Turning an approved plan into real code is a separate, human-gated step. Someone must explicitly select Generate PRs to start the instrumentation agent.
  • Every change lands as a pull request you review and merge, not a commit pushed straight to your main branch.

How Lookout finds the right repository

warning

A measurement plan needs a connected GitHub repository for the instrumentation agent to open pull requests against, and a source-to-repository mapping so Lookout knows which repository to use.

GitLab repositories are not supported currently for measurement plan PR generation.

To open a pull request, Lookout needs to know which repository instruments a given source. That comes from your source-to-repository mappings — each RudderStack source is mapped to the GitHub or GitLab repository (and subfolder) where its events are instrumented.

When you ask to capture a new event, Lookout identifies the source the event belongs to, looks up the repository mapped to it, and targets the instrumentation pull request at the right codebase — without you having to specify where the code lives.


Questions? We're here to help.

Join the RudderStack Slack community or email us for support