Before you start
Use an authorized workspace and a small file with stable source IDs. Have source access and your team’s acceptance policy available. This guide describes customer-authored logic, not an automatically enabled product policy.1. Understand the decision
Personalization connects a supported observation to a relevant question. An observed event does not establish budget, pain, or purchase intent. Test this fictional sample before calling providers:2. Inspect supported operations
deepline describe <returned-id> --json.
Compare required identifiers, outputs, access mode, and price.
A similar title does not establish that a contract fits.
3. Implement the bounded workflow
Ask your agent to authoroutbound-personalization-workflow.play.ts using Write Plays.
Have it declare the CSV input and preserve source IDs.
Reuse existing contracts when they fit the transformation.
Implement these rules explicitly:
- Resolve the recipient and gather evidence relevant to the stated offer.
- Retain source links and observation dates for message claims.
- Draft from confirmed facts. Keep internal hypotheses separate from customer-facing assertions.
- Return the draft and review reasons without activating campaigns or sending messages.
4. Check and pilot
Preparepilot.csv using CSV-safe selection.
Then check the source:
5. Verify the outcome
Open each supporting source. Remove unsupported claims and confirm recipient eligibility before a separate activation step.Every source ID has a result or explicit exception. The fictional cases follow
the stated policy, and actual results retain their evidence.