Application ID from the Vana Developer Portal (app.vana.com/build). This identifies your app and its associated configuration.
OptionalclassOptionalfiltersJSONPath filters to apply to user data before sending to the operation. Maps schema IDs to JSONPath expressions for data filtering.
OptionaliframeOrigin URL of the Vana iframe application.
OptionaliframeOptional React ref to the underlying iframe element. Use this if you need direct DOM access to the iframe.
OptionalisControls visibility while keeping the iframe mounted for prefetching
Callback function invoked when user successfully authenticates with their wallet.
The authenticated user's wallet address
OptionalonOptional callback function invoked when user closes the widget. Useful for hiding or removing the iframe container.
Callback function invoked when an error occurs during the upload process.
Error message describing what went wrong
OptionalonFires after the iframe posts "ready" and the config is sent. Useful for coordinating animations; not a signal that app fetch is done.
Callback function invoked when data upload or agent operation completes successfully.
The structured result containing output and optional artifacts
OptionaloperationGeneric agent operation to execute on the user's personal server.
Important: This operation is executed on the user's trusted personal server instance (vana-personal-server). The personal server must be running and properly configured to support the requested operation type. The Vana SDK communicates with the user's personal server to execute the operation securely with access to their encrypted data.
Standard supported operations (vana-personal-server v1.0+):
llm_inference: Direct LLM text generation with user data context. Use with
operationParams: { prompt: string, response_format?: { type: 'json_object' } }prompt_gemini_agent: Gemini-based agentic task execution with tool use, web
search, and multi-step reasoning. Use with operationParams: { goal: string }prompt_qwen_agent: Qwen-based agentic task execution with shell command
capabilities. Use with operationParams: { goal: string }Custom operations may also be supported depending on the personal server configuration and installed agent plugins.
OptionaloperationParameters to pass to the agent operation. These will be sent to the personal server along with the operation.
OptionalpromptLLM inference prompt for the user's trusted server. This prompt will be used to process the uploaded data. Kept for backward compatibility - prefer using operation for new implementations.
OptionalschemaOptional schema ID to override the app's default schema. Each app has a configured schema, but you can specify a different one here.
OptionalthemeCustom theme configuration using CSS custom properties.
OptionalzOptional z-index for stacking order control. Useful when embedding alongside other overlays (modals, toasts, etc.).
Configuration properties for the VanaAppUploadWidget component.