# Build outbound segments and draft a sequence for every person

> Narrow your lead database to the right people with live filter counts, save the segment, and let an agent write each person a personalized email sequence draft.

- Workflow type: app
- Services: General Input CRM, Internet Search
- Categories: Sales
- Published: 2026-08-22

## What it does

- Search the people and companies already in your CRM with stacked filters for job title, company, tags and your own custom fields, and watch the match counts update as you narrow, so a rep can feel out a segment before committing to it
- Save the segment you land on as a named list, and label everyone in it with a tag, in a single pass
- Open any person to see their full record alongside the other contacts at their employer, then hit Draft sequence to have a background agent research them and write a three step personalized email sequence
- Keep every draft a draft. The app shows who already has one so two reps never draft the same person, and sending stays in your CRM dashboard where it belongs

## What you'll need

- A General Input workspace with CRM access enabled, and people and companies already in your lead database
- A General Input API key for that workspace, which you create in settings in about a minute
- Optional but useful: custom fields already defined on your people records, since the app turns them into filters automatically
- Nothing else. The web research behind each drafted sequence is built in.

## Prompt

Build me a segment workbench my SDRs open whenever they are putting together an outbound push against our General Input CRM lead database. The job of this app is to let a rep narrow our existing people down to a segment worth contacting, save that segment, and produce a personalized email sequence draft for each person in it. One hard constraint shapes the whole design: this CRM's sequence API is draft only. It reads sequences and creates, edits and deletes drafts, but queueing, unqueueing and sending happen only in the CRM dashboard. The app must never imply it can send, and the handoff to the dashboard for sending is where this app's job ends.

The main screen is a faceted people search built on Search People, which does full text search over people with per column filter conditions, facets and keyset pagination. A rep types a query or starts from nothing, then stacks filter chips for job title, company, tags and custom field values. Every time a chip is added or removed, re-run Search People with the current filter conditions and re-render both the result rows and the facet counts from that same response. That live narrowing is the point of the screen: the rep should be able to see a segment shrink from 4,000 to 380 as they stack conditions and get a feel for it before committing. Use the keyset cursor for paging through results, passing the previous response's nextCursor as cursor and stopping when it comes back null. Never load the whole database into the browser.

Build the available filter chips from real data rather than hardcoding them. Call List Custom Fields for the person entity type on load to discover which custom field definitions exist in this workspace, and offer those as filterable chips alongside the standard ones. For open vocabulary fields like job title, use List Person Filter Options to populate the value picker with the distinct values and their counts, so a rep picks a real title from a list with counts beside it instead of guessing at spelling. If a workspace has no custom fields defined, the app should degrade quietly to the standard filters.

Add a companies view that backs the same segment building from an account first angle, using Search Companies, which has the same filter conditions, facets and keyset pagination. A rep should be able to narrow to a set of accounts, then click into one and pull up its people through List Company People to fold them into the people segment. Both views are working toward the same output, so let the rep move between them without losing the segment they are assembling.

When the segment looks right, the rep names and saves it. Use Create List to create the list, then Add List Members to add the matched people to it. Important: page through the full matched set with the keyset cursor when saving, so the saved list contains everyone who matched the filters rather than only the rows currently rendered on screen. Show the true match count on the save button so the rep knows what they are about to commit. Separately, let the rep label the whole segment using Create Tag and then Assign Tag across the members. Both Add List Members and Assign Tag accept arrays and apply each item independently, so one failure does not abort the rest. Report partial failures honestly rather than claiming a clean save.

Each row opens a person panel. Populate it with Get Person for the full record including company, contact points, employments, education and tags, plus Get Company for their employer and List Company People to show the other known contacts at that company, which is what tells a rep whether this is a single lead or a real account to work. The panel carries a Draft sequence button.

Draft sequence kicks off a background agent for that one person. The agent researches the person and their employer using Internet Search's Search the Web, looking for things worth referencing in a cold email: what the company does, recent news or funding, the person's role and how it maps to what we sell. It then writes a three step personalized email sequence and files it back with Create Sequence Draft against that person. The app should show the agent as running on that row and render the finished draft inline when it lands, so the rep watches work arrive rather than refreshing to look for it.

Render each drafted sequence inline in the person panel with all three steps visible and editable. Saving an edit calls Update Sequence Draft, which replaces the draft's steps and settings. A scrap button calls Delete Sequence. Use Get Sequence when the panel needs to reload one sequence with its steps, and List Person Sequences to show every sequence that person already has.

The double drafting problem matters, because two reps working the same segment will otherwise both draft the same person. Load the workspace's existing drafts with List Sequences filtered by draft status, build a set of the person ids that already have one, and mark those rows in the segment list with a clear badge. On a person who already has a draft, show the existing draft to edit rather than a button that creates a second one. Do this as one workspace level pass rather than a per row call for every person on screen.

Finally, be plain and repeated about the draft only constraint. Put a persistent line in the app that says nothing is queued or sent from here and that sending happens in the CRM dashboard. Label the buttons accordingly: Draft sequence, Save draft, Delete draft, never Send or Schedule or Launch. When a segment's drafts are done, show a clear closing state that says the drafts are ready and points the rep to the CRM dashboard to queue and send them. The rep should never be left wondering whether an email went out.

## How to customize

- Choose which filters show up as chips, including which of your own custom fields are worth segmenting on
- Set the tone, length and spacing of the drafted sequences, or ask for a different number of steps
- Point the research step at the sources you care about, such as recent company news, funding announcements or the company's own site
- Decide whether saving a segment should also tag everyone in it, or keep lists and tags as separate deliberate actions

## FAQ

### Can this send the emails for me?

No, and that is deliberate. This CRM's sequence feature is draft only outside the dashboard, so the app writes, edits and deletes drafts but never queues or sends anything. When a segment's drafts look right, you move over to the CRM dashboard to queue and send them. The app says so plainly on screen rather than hiding it.

### How do we stop two reps drafting the same person?

Every row in the segment shows whether that person already has a sequence draft, so a second rep sees it before they start. People who already have a draft are marked in the list, and opening them shows the existing draft to edit instead of a button to create a duplicate.

### Does it work if we have not set up any custom fields?

Yes. The app reads whatever custom field definitions exist on your people records and turns them into filters, so if you have none it simply falls back to the standard filters like job title, company and tags. Adding custom fields later makes them available as filters without any rework.

### Can I edit what the agent writes?

Yes. Each drafted sequence renders inline in the person panel, and you can rewrite any of the three steps and save your changes, or scrap the whole draft and start again. Nothing the agent produces is final until you have reviewed it.

### Will this change the lead data we already have?

It only adds. The app creates lists, applies tags you have named, and creates sequence drafts. It does not overwrite existing names, contact details or custom field values on your people and company records.

### How big a segment can I save at once?

The app pages through the full set of matches rather than only the rows currently on screen, so saving a segment captures everyone who matched your filters, not just the first page you were looking at.

Use this prompt in General Input: https://www.generalinput.com/prompts/build-outbound-segments-and-draft-a-sequence-for-every-person