Track Input Params
Updated: October 6, 2026
Input Params are key-value context attached to a conversation, such as source, campaign, plan tier, or a CRM identifier. They appear in the Input tab on conversation cards and conversation details. APIs and exports call these values participant metadata.
Input Params can come from:
- 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.
Perspective stores custom URL parameters as Input Params. The agent can use them during the welcome message and interview, and they are available in results, analysis, structured output generation, and automation payloads.
Perspective currently has no application-specific limit on the number of custom URL parameters or the length of their keys. Total URL and request size limits still apply. The invite-context limits below apply only to invites.
URL parameter values are sanitized and truncated to 50 characters for agent prompts and MCP batch transcripts. Stored metadata, exports, and webhooks retain the decoded URL values without that sanitization or truncation. See Custom parameter limits for key naming and size details.
Do not put secrets or sensitive personal data in URLs.
For deeper examples, see Input Params.
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 Input Params. Avoid using these names for custom context:
inviteembedembed_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 Input Params.
email and name are not on this list. They are stored as Input Params, and a link that carries both also identifies the participant.
Use custom names such as plan_tier, user_role, campaign, source, or customer_segment instead.
Where Context Appears
Input Params are available in:
- The Input tab on conversation cards and conversation details
- Agent prompts during the welcome message and interview
- Structured output generation
- Analysis and interview search context
- Webhook payloads as
participant_metadata - Exported
conversation.jsonfiles asparticipant.metadata - MCP conversation reads as
participant_metadata - Automation agents and test data
Webhook and automation payloads flatten typed metadata to plain key-value strings for compatibility.
MCP single conversation reads expose participant_metadata as the same flat string map used by exports and webhooks. List and batch reads expose it when include_participant_metadata: true; they omit the field by default. The map retains stored values without prompt sanitization or truncation. Batch reads with include_transcripts: true also include sanitized metadata text inside conversations_xml. See Read Input Params through MCP for field locations.
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 values appear in the Input tab 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.
The agent sees a truncated metadata value → URL parameter values in agent prompts are capped at 50 characters for prompt safety. Move longer content into invite context. Stored values, exports, and webhooks retain the full URL values.
A key does not appear in Input Params → 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.