partner skin · draft-only · DEMO
Partner desk · PREVIEW
Start from a partner skin or a custom client. Edit the journey, attach brand imagery, and wire a Sponsored Agent module — drafts-only, no fake live connections.
Client name and colour tokens. Imagery uploads sit in the journey builder.
Optional chips — rewrite title, job and boundaries freely.
Widget stub + journey + sponsored walkthrough. Demo-ready, not connected.
Drafts stay in this browser until you export or hand off to DO.
powered by assembl DO
Freeform brief and editable steps. Starter chips are optional — not a dropdown lock.
Assembl Sponsored Journeys — ASA “Sponsored” labelling, provider-neutral, DEMO honesty.
Demo skin only. No bp account link, scrape or live rewards API. Permit and action are DEMO — nothing redeems or charges.
Drivers can skip the sponsored path and still get a plain status note — unpaid help stays available.
Shareable demos can ask for interest / API-access first, then unlock the deeper walkthrough.
Lead stays in this browser only. Nothing is sent until you export or contact Assembl directly.
Ad/loyalty → branded agent → useful step → offer → Permit → action → receipt.
While the driver waits, a labelled loyalty moment appears: “Rewards while you wait.”
Demo skin only. No bp account link, scrape or live rewards API. Permit and action are DEMO — nothing redeems or charges.
Same portable AgentSpec shape — journey pack rides alongside for the Pursuit demo.
{
"agentSpec": {
"id": "180c19d2-25ec-414a-a1f2-63c84a0a6b58",
"name": "bp Road-Ready · Rewarded wait",
"watches": [
"maker brief",
"current page / provided material"
],
"looks_for": [
"wait reason",
"useful micro-task",
"draft receipt",
"next step"
],
"can_do_without_asking": [
"outline a short wait-time task",
"draft a local receipt the customer can review",
"list what still needs a human yes"
],
"must_ask_before": [
"send a notification off this device",
"claim or redeem any reward",
"post or submit anything externally",
"send, post, submit, pay, book, buy or sign"
],
"never": [
"scrape a partner website or app",
"claim a live rewards balance",
"connect a partner account without a real connector",
"send without an explicit human yes",
"claim a live partner API or connection that is not configured",
"act outside the stated job",
"buy, book, send, post, submit, pay, or sign without a human yes",
"claim completed for anything that was only drafted or proposed"
],
"primitive": "prepare",
"brief": "Turn waiting time into a short useful task, then show a draft receipt for review.\n\nMode: partner\nPartner context: bp Road-Ready\nPartner skin: bp\nPartner rail: Rewards while you wait\nVertical: fuel / convenience loyalty\nTask key: rewarded-wait\nBrand promise: Use the wait. Earn a little clarity — drafts only.\nInstructions: Guide one small task during a wait. Keep rewards symbolic and local to this demo. Draft only — never claim points, spend, or send without a human yes. Never scrape partner sites.",
"status": "needs_you",
"demo": true,
"createdAt": "2026-09-17T03:35:29.157Z",
"updatedAt": "2026-09-17T03:35:29.157Z",
"pendingApprovals": [],
"lastNote": "Task DO draft · bp Road-Ready · partner-facing skin · drafts-only. Not activated.",
"templateId": "rewarded-wait",
"connector": "hook-later"
},
"journey": {
"title": "BP Loyalty Moment Concierge",
"brief": "",
"steps": [
{
"id": "step_opportunity_opportunity",
"kind": "opportunity",
"label": "Opportunity",
"brief": "Driver is already in a loyalty / wait moment at the pump or in-app. Make that moment useful without inventing points balances.",
"enabled": true
},
{
"id": "step_ideas_ideas",
"kind": "ideas",
"label": "Ideas",
"brief": "Concierge that explains the reward moment, offers redemption choices, and keeps unpaid help available beside the sponsored path.",
"enabled": true
},
{
"id": "step_experience_experience",
"kind": "experience",
"label": "Experience",
"brief": "Ad/loyalty moment → branded Road-Ready agent → useful step → genuine offer → Permit (DEMO) → action → receipt.",
"enabled": true
},
{
"id": "step_pitch_pitch",
"kind": "pitch",
"label": "Pitch",
"brief": "Show Assembl Sponsored Journeys on a partner surface: labelled, permit-gated, receipt-backed — provider-neutral.",
"enabled": true
}
],
"sponsored": {
"enabled": true,
"asaLabel": "Sponsored",
"sponsorName": "bp Road-Ready",
"unpaidPathNote": "Drivers can skip the sponsored path and still get a plain status note — unpaid help stays available.",
"honesty": "Demo skin only. No bp account link, scrape or live rewards API. Permit and action are DEMO — nothing redeems or charges.",
"stages": [
{
"id": "ad_loyalty",
"label": "Ad / loyalty moment",
"copy": "While the driver waits, a labelled loyalty moment appears: “Rewards while you wait.”",
"showSponsoredLabel": true,
"demoOnly": false
},
{
"id": "branded_agent",
"label": "Branded agent",
"copy": "bp Road-Ready Concierge introduces itself with one job: help with this reward moment.",
"showSponsoredLabel": true,
"demoOnly": false
},
{
"id": "useful_step",
"label": "Useful step",
"copy": "Ask what the driver wants from this moment — status, redemption options, or a short checklist for the visit.",
"showSponsoredLabel": false,
"demoOnly": false
},
{
"id": "genuine_offer",
"label": "Genuine offer",
"copy": "Show a sample redemption choice (e.g. coffee vs car-wash voucher). Symbolic DEMO offer — not a live balance.",
"showSponsoredLabel": true,
"demoOnly": false
},
{
"id": "permit",
"label": "Permit",
"copy": "Human sign-off before commit. DEMO permit with a short TTL and single use.",
"showSponsoredLabel": false,
"demoOnly": true
},
{
"id": "action",
"label": "Action",
"copy": "On yes, prepare the redemption draft. Still DEMO — no live redeem.",
"showSponsoredLabel": false,
"demoOnly": true
},
{
"id": "receipt",
"label": "Receipt",
"copy": "Show a local receipt: what was chosen, who approved, that no live API was called.",
"showSponsoredLabel": false,
"demoOnly": true
}
]
},
"outreach": {
"enabled": true,
"headline": "Want the full Loyalty Concierge walkthrough?",
"body": "Share your work email if you want API access notes or a guided DEMO. We unlock the deeper interaction in this browser.",
"ctaLabel": "Request DEMO access",
"unlockNote": "Access unlocked for this browser. Still DEMO — no live bp connection.",
"honesty": "Lead stays in this browser only. Nothing is sent until you export or contact Assembl directly."
},
"assets": {
"imageryDataUrl": "",
"markDataUrl": ""
}
}
}