App tools
Create extensions with the admin.app.tools.data target to expose your app's data to Sidekick. These extensions execute headlessly to provide data that Sidekick uses to answer merchant questions and search your app.
We're selecting developer partners to get limited early access and provide feedback on Sidekick app extensions. Submit your interest and we'll reach out if you're selected.
We're selecting developer partners to get limited early access and provide feedback on Sidekick app extensions. Submit your interest and we'll reach out if you're selected.
Anchor to Use casesUse cases
- Search app data: Allow Sidekick to search your app's data, such as email campaigns, marketing activities, or custom resources, by exposing search capabilities through your extension.
- Retrieve app statistics: Provide Sidekick with access to app-specific metrics and statistics that merchants can query in natural language.
- Answer app-specific questions: Help Sidekick answer merchant questions about your app's data by registering tools that retrieve relevant information from your app's backend.
- Enable app data discovery: Make your app's data accessible to merchants through Sidekick's conversational interface, keeping them in their flow while working with your app's information.
Anchor to App tools targetApp tools target
Configure an extension with the admin.app.tools.data target to register tools that Sidekick can invoke to retrieve data from your app.
Anchor to App tools data runnable ,[object Object]App tools data runnable target
admin.app.tools.data
A runnable target that enables your app to expose data to Sidekick. This target executes headlessly and returns data without presenting any UI. Configure this target in your shopify.extension.toml file to register tools that Sidekick can invoke to search your app's data and answer questions.
Your extension exports a default function that registers one or more tools using shopify.tools.register(). Each tool is an async function that receives parameters and returns data from your app's backend. Sidekick invokes these tools programmatically when answering merchant questions.
Unlike action or block targets that render UI at specific page locations, this target provides configuration data that enables Sidekick to query your app's backend for information.
Supported components
Available APIs
Supported components
Available APIs
Anchor to Best practicesBest practices
- Return data quickly: Your extension should return data to Sidekick as quickly as possible to keep conversations feeling responsive. Aim for responses within a few hundred milliseconds.
- Use Resource Links format: Return data in Model Context Protocol's Resource Links format to enable Sidekick to invoke your app's actions on the returned data.
- Provide clear tool descriptions: In your tools JSON schema, include detailed descriptions for each tool and its parameters so Sidekick understands when and how to use your tools.
- Include instructions: Add an
instructions.mdfile to provide context and guidance to Sidekick about how to use your app extension effectively.
Anchor to LimitationsLimitations
- Single target per module: Each
[[extensions.targeting]]entry in your TOML configuration maps one target to one module file. - Data retrieval only: This target should only be used for retrieving data from your app. To perform actions in your app, use an app action extension instead.
- Headless execution: Extensions with this target execute without presenting any UI. All interaction happens through Sidekick's conversational interface.
- Requires tools schema: You must define a tools JSON schema file that declares the tools your extension registers, including their input parameters and descriptions.
- Extension deployment required: Your extension only becomes available to Sidekick after you deploy it using
shopify app deploy. Sidekick discovers your tools by scanning the deployed extension configuration for theadmin.app.tools.datatarget.