Tracking Participant Context
Updated: May 8, 2026
Participant context tells Perspective what you already know about the person or channel that started a conversation. It helps the agent personalize questions, lets you compare response quality by source, and gives downstream automations useful metadata.
Perspective supports three participant metadata sources:
- URL parameters – Lightweight values appended to public links or embed params.
- Invite context – Trusted, server-side values attached to a specific participant invite through the participant invite MCP tooling.
- Slack profile metadata – Context captured when a participant starts a conversation in Slack.
Outline knowledge is separate. Use Knowledge & Resources for facts that apply to every participant, and participant context for values that vary by participant or channel.
URL Parameters
Use URL parameters when you are distributing a public link through a campaign, product surface, or external recruiting tool.
Custom URL parameters are stored on the conversation as participant metadata. The agent can use them during the welcome message and interview, and they are available in results, analysis, structured output generation, and automation payloads.
URL parameter values are strictly sanitized for prompt safety and limited to 50 characters. Do not put secrets or sensitive personal data in URLs.
For deeper examples, see URL Parameters.
Embed Parameters
Embeds can pass the same context through SDK parameters.
For script embeds:
For React or TypeScript SDK embeds, pass the same values through the params object. See Embed Interviews and Embed API.
Invite Context
Invite context is for participant-specific information you do not want exposed in the URL, such as:
- CRM attributes
- Account health
- Entitlement flags
- Renewal timing
- A short summary of prior contact
- A support case or sales stage
Invite context is attached when creating participant invites through the participant invite MCP tooling. Each invite can include up to 20 context keys. Keys are limited to 50 characters, and each value can be up to 2000 characters.
If invite context and URL parameters use the same key, invite context wins because it is trusted server-side data.
Example context:
The dashboard email composer personalizes invite messages and creates participant-specific invite links, but it does not expose a field for arbitrary invite context. Use MCP-created invites when you need trusted context values.
Reserved Parameters
Some parameters control the interview experience and are not stored as participant metadata. Avoid using these names for custom context:
nameemailinviteembedembed_typethememodevoicescrollreturnUrlhideProgresshideGreetinghideBrandingenableFullScreendefaultInteraction
The SDK also reserves brand.* color tokens (e.g. brand.primary, brand.dark.bg) for theming. Custom brand colors are passed through data-perspective-brand data attributes, not as participant metadata.
Use custom names such as plan_tier, user_role, campaign, source, or customer_segment instead.
Where Context Appears
Participant metadata is available in:
- The conversation details panel
- Agent prompts during the welcome message and interview
- Structured output generation
- Analysis and interview search context
- Webhook payloads as
participant_metadata - Automation agents and test data
Webhook and automation payloads flatten typed metadata to plain key-value strings for compatibility.
Best Practices
Use URL parameters for attribution. Source, campaign, placement, variant, and segment are good URL parameters.
Use invite context for trusted values. If the participant should not see or edit it, do not put it in the URL.
Keep keys stable. Use the same key names across campaigns so analysis and automations stay simple.
Avoid sensitive data in URLs. URLs can appear in browser history, analytics tools, and referrer headers.
Prefer short URL values. Longer values should be invite context, outline knowledge, or a linked resource.
Test before launch. Open a test link with realistic parameters and confirm the metadata appears on the resulting conversation.
Common Pitfalls & Fixes
The agent ignores context → Add instructions in the outline about how the agent should use the specific keys.
A metadata value is truncated → URL parameter values are capped for prompt safety. Move longer content into invite context.
A key does not appear in metadata → Check whether it is a reserved system parameter.
URL and invite context disagree → Invite context overrides URL parameters. Pick one source of truth for each key.
A webhook payload is missing context → Confirm the context was present when the conversation was created. Metadata is captured from the initial URL/invite context, not inferred later.