← All articles

How to Organize Personalized Video Outreach by Recipient

By BHuman Editorial TeamPublished

Plan recipient data, match each field to a video variable, and choose a CSV or API workflow. Use this guide and planning template to prepare a small, reviewable batch.

On this page7 sections

Plan one row per recipient

Organize your outreach so each recipient has one row of values for the personalized parts of a shared video template. Start by deciding what should change for each person, then use clear, consistent field names and check a few rows before generating a batch.

Make a recipient-list planning template

Use this as a planning aid, not as a required BHuman file format. Keep only fields you need for the video and its next step; the exact columns depend on your template.

  • Recipient identifier: a name or internal reference to help you review each row.
  • first_name: the recipient’s name, if the template says it.
  • company: the recipient’s organization, if the template says it.
  • product_name: the offer or product name, if it changes by recipient.
  • cta_url: the destination link for that recipient’s next step.
  • background_url: a row-specific media or website value, only if your video uses it.

Define the personalized parts in the video

In AI Studio, mark the spoken phrase or media slot that should change, then give it a stable, readable variable name. The variable name is the link between the template and the recipient data. Use names such as first_name or booking_url, and keep names consistent once a campaign or automation is live.

  • Personalize only what needs to vary. Fixed words around a spoken variable stay in the template, so do not repeat them in the recipient’s cell.
  • Use separate variables for different meanings, such as booking_url and product_url.
  • Keep spoken replacements concise and review timing, pronunciation, and subtitles in test rows.

Choose CSV for a manual batch or API for a connected workflow

For a manual batch, BHuman campaigns accept CSV or Excel data. Headers become mapping options, and you map each template variable to its matching source column. For a product, CRM, backend, or form handler that needs direct control over generation, the documented API path can send campaign data.

  • CSV or Excel: a practical choice for a one-off batch, test rows, or manual preparation.
  • API: a fit when another system needs to supply values and trigger generation directly.
  • Other documented routes include Zapier, Pabbly, and Leadr; choose based on how your data reaches BHuman.

Map fields and validate before generating

Start a campaign from a ready template with a source video and at least one variable. Select a data source, preview the rows, and map every required template variable to a column or payload field. Exact header matches may be selected automatically when possible.

  • Check that every row has a value for each mapped variable; a missing mapped column or blank mapping stops generation before the render request.
  • Generate a few rows first. Verify the replacement wording, pronunciation, timing, subtitles, and any row-specific background assets.
  • For Mini mode, make sure every personalized moment has background coverage. Account quota and other campaign checks can also affect whether generation is available.

Review generated results without assuming delivery tracking

Campaign generation is asynchronous. BHuman’s generated videos page can show queued, preparing, processing, succeeded, failed, and needs-review results. Generated outputs can include a status and, when available, a hosted video or download link.

  • Keep your recipient reference in your planning process so you can identify which row you are reviewing.
  • Do not treat the recipient list as proof of delivery or engagement: the documented campaign workflow describes generation and generated outputs, not recipient response tracking.

Use the workflow that matches your team

For example, imagine a sales team preparing a small batch of introduction videos. It could use a shared template with first_name and company variables, prepare those values in separate columns, and test a few rows before generating more. If another system needs to trigger video generation, the team could instead send those values through the API.