- Action ID
actions.intent.CREATE_REVIEW
- Description
- Create a review or leave a rating on products, locations, content, or other things. Determine
which item to review by name and brand using the
review.itemReviewed.name
andreview.itemReviewed.brand.name
intent parameters. Populate the review content and rating with thereview.reviewRating.ratingValue
andreview.reviewBody
parameters. If a single item to review cannot be identified using those parameters, ask the user to determine the item to review.
Locale support
Functionality | Locales |
---|---|
Preview creation using App Actions test tool | en-US |
User invocation from Google Assistant | en-US |
Example queries
Recommended fields
The following fields represent essential information that users often provide in queries that trigger this built-in intent:
review.itemReviewed.brand.name
review.itemReviewed.description
review.reviewBody
review.reviewRating.ratingValue
Other supported fields
The following fields represent information that users often provide to disambiguate their needs or otherwise improve their results:
review.@type
review.itemReviewed.@type
review.itemReviewed.brand.@type
review.itemReviewed.name
review.reviewAspect
review.reviewRating.@type
Supported text values by field
Inventory availability by field
Sample actions.xml
For information about the actions schema, read Create actions.xml.
Handle intent parameters as URL parameters
<?xml version="1.0" encoding="utf-8"?>
<!-- This is a sample actions.xml -->
<actions>
<action intentName="actions.intent.CREATE_REVIEW">
<fulfillment urlTemplate="myapp://custom-deeplink{?reviewBody,name,ratingValue}">
<!-- Eg. reviewBody = "example review body" -->
<!-- (Optional) Require a field eg.reviewBody for fulfillment with required="true" -->
<parameter-mapping urlParameter="reviewBody" intentParameter="review.reviewBody" required="true" />
<!-- Eg. name = "Grinder" -->
<parameter-mapping urlParameter="name" intentParameter="review.itemReviewed.name" />
<!-- Eg. ratingValue = "3" -->
<parameter-mapping urlParameter="ratingValue" intentParameter="review.reviewRating.ratingValue" />
</fulfillment>
<!-- Provide a fallback fulfillment with no required parameters. For example, to your app search or router deeplink -->
<fulfillment urlTemplate="myapp://deeplink" />
</action>
</actions>
JSON-LD sample
The following JSON-LD sample provides some example values that you can use in the App Actions test tool:
{ "@context": "http://schema.org", "@type": "Review", "itemReviewed": { "@type": "Thing", "name": "Grinder" }, "reviewBody": "example review body", "reviewRating": { "@type": "Rating", "ratingValue": "3" } } { "@context": "http://schema.org", "@type": "Review", "itemReviewed": { "@type": "Product", "brand": { "@type": "Brand", "name": "Brand name" }, "description": "Review of the item" } } { "@context": "http://schema.org", "@type": "Review", "itemReviewed": { "@type": "Place", "name": "example place name" }, "reviewAspect": "meal", "reviewRating": { "@type": "Rating", "ratingValue": "3" } }