# Shuffll Engage campaign and personalization concepts

Shuffll Engage connects video campaign workflows to applications and compatible AI assistants through REST API and MCP. A campaign organizes a selected template, recipient records, generation, and video results. Audience selection, changes to the rendered media, and message delivery are separate parts of an integration.

## What does each term mean?

| Term | Meaning in an Engage integration | What to check |
|  --- | --- | --- |
| Workspace | The account context that owns resources and controls access | Use credentials and permissions for the intended workspace |
| Template | A reusable video source or definition selected for a campaign | Inspect the version and supported rendering inputs |
| Campaign | The resource that connects a selected template, campaign settings, recipients, and results | Retain its ID and current revision |
| Recipient | An audience record associated with a campaign | A stored name or contact field alone does not establish a change to the video |
| Segment | A group selected by business rules, interests, behavior, or other audience attributes | Establish where selection happens and which records enter the campaign |
| Personalization input | Data that the chosen rendering workflow actually uses to change media | Confirm supported fields, mappings, and representative output |
| Generation job | An asynchronous record of requested work | Poll the documented location and inspect its terminal state |
| Video result | Media and status returned for a generation attempt | Check that rendering succeeded and that the output matches the intended inputs |
| Delivery | Sending or making a video available through a configured customer channel | Confirm the separate delivery operation, access, and outcome |


## How is segmentation different from personalization?

**Segmentation chooses the audience. Personalization changes the media.** For example, a business could select an audience using purchase history and then choose different approved content for each segment. The integration must establish the supported data source, selection logic, template inputs, and rendering behavior. Segment membership is not itself evidence that video content changed.

This is a planning example, not a claim that a particular CRM connector or automatic behavior import is available. Check the operations and data inputs supported in the workspace you intend to use.

## How do template formats affect the workflow?

The documented legacy `flat-video-v1` workflow renders frozen clips from a published template version. Recipient names and contact details do not modify those clips. Those format-specific restrictions belong to the [legacy workflow](/engage/workflows); they do not define the scope of the entire Engage product.

For a personalized campaign, establish the actual supported rendering workflow and input contract before importing audience data. See [API scope and availability](/engage/release-status).

## Is a campaign the same as a Video Production project?

No. An Engage campaign organizes a campaign workflow and its recipients and results. A **Shuffll Video Production project** moves through creation, enhancement, and export using the separate Video Production API. The [API comparison](/choose-api) lists their endpoints and authentication. Use each API's own resource identifiers and lifecycle.

## Does successful generation mean delivery is complete?

No. Rendering a video and sending a message are separate outcomes. An integration should track both explicitly and inspect the status reported by each supported operation. A generated video does not establish customer delivery or engagement.

## Where should I start?

1. [Read workspace capabilities](/engage/quickstart).
2. [Plan the campaign data and workflow](/engage/integration-planning).
3. Use the [REST reference](/engage/openapi) or [connect an MCP client](/engage/mcp).
4. Follow [jobs, retries, and errors](/engage/errors) to inspect the outcome.


For short answers about endpoints, credentials, and supported scope, see the [API FAQ](/faq).