Kit Skills overview
This section describes the requirements for adding a Kit Skill to your app, and describes how your app works together with the app extension definition and Shopify to support conversations between the merchant and Kit.
To get started adding a Kit Skill to your app, you need a development store and an app that you can extend using app extensions. You can use this development store for testing while you are working on your Kit Skill.
To add a Kit Skill to your app:
- Define the Kit Skill using a form in the Partner Dashboard.
- Host the required Kit Skills endpoints on your app's domain. Shopify uses REST calls and structured JSON to communicate with your app.
- Prompt the merchant to agree to the
write_kit_skillsAPI access scope.
- Use the merchant's shop data to trigger a conversation. Your app needs to know when to initiate a conversation with the merchant.
App extension architecture
This section describes how your app's endpoints interact with the app extension definition and with Kit to implement a Kit Skill.
You define the conversation by using the app extension's form builder in your Partner Dashboard. Each Kit Skill is uniquely identified by its UUID, which is used to trigger a conversation by calling the GraphQL Admin API. Your app is responsible for triggering a conversation based on the state of a merchant's shop data. Shopify then calls your app's execution endpoint to execute the task. Shopify also calls your app's feedback endpoint to report whether the merchant accepted or declined the action. To learn about how to build a Kit Skill conversation, see Define a Kit Skill.
Kit Skills interaction
This section describes how your app's endpoints interact with Kit and the merchant during a conversation.
The Kit Skills app extension is based on several endpoints:
- Your app sends a request to Shopify's Kit Skills endpoint. This request identifies the Kit Skill to use and optionally provides Liquid parameters to populate values in the defined conversation.
- Kit proposes an action and the merchant accepts or declines.
- If the merchant accepts, then Shopify calls your apps' execution endpoint to complete the task, as well as the feedback endpoint.
- If the merchant declines, then Shopify calls your app's feedback endpoint.