Stay organized with collections
Save and categorize content based on your preferences.
The following table lists the Schema.org-defined query pattern types for Custom
Device Actions. The name of each type starts with $SchemaOrg. These types
correspond to the standard types defined in Schema.org.
Some of these types return structured data rather than a single value. These
types are indicated in the table. See structured data
for more information.
add $SchemaOrg_MusicRecording:song to my favorites.
add with or without you to my favorites.
No
$SchemaOrg_YesNo
$SchemaOrg_YesNo:yesno
Yes
No
$SchemaOrg_URL
Add $SchemaOrg_URL:url
Add google.com
No
$SchemaOrg_Email
Add $SchemaOrg_Email:email
Add john@google.com
No
$SchemaOrg_PhoneNumber
Add $SchemaOrg_PhoneNumber:phonenumber
Add (777) 777-7777
No
$SchemaOrg_Text
What's that song where they say $SchemaOrg_Text:text
What's that song where they say you are my sunshine?
No
Structured data
Some types support structured data being passed back instead of a single value.
In the deviceExecution section, add .structured to the parameter name
to receive structured data back for these types:
"my-param-name": "$parameter-name.structured"
where my-param-name is the user-defined name that is passed back in the
params and parameter-name identifies the parameter in the query pattern.
See the following example:
Place
Query
Write review for New York
Action package
..."intent":{"name":"com.example.intents.Review","parameters":[{"name":"place","type":"SchemaOrg_Place"}],"trigger":{"queryPatterns":["write review for $SchemaOrg_Place:place"]}},..."deviceExecution":{"command":"com.example.commands.Review","params":{"placeName":"$place.structured"}}...
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-09-18 UTC."],[[["\u003cp\u003eThis document lists Schema.org-defined query pattern types for Custom Device Actions, which enable users to interact with their devices using natural language.\u003c/p\u003e\n"],["\u003cp\u003eThese types, prefixed with \u003ccode\u003e$SchemaOrg\u003c/code\u003e, correspond to standard Schema.org types and can be used in developer patterns to capture user input.\u003c/p\u003e\n"],["\u003cp\u003eSome types, like \u003ccode\u003e$SchemaOrg_Date\u003c/code\u003e and \u003ccode\u003e$SchemaOrg_Place\u003c/code\u003e, support returning structured data instead of a single value by appending \u003ccode\u003e.structured\u003c/code\u003e to the parameter name in the \u003ccode\u003edeviceExecution\u003c/code\u003e section.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can use the provided table to identify the appropriate Schema.org type for their desired user query and action.\u003c/p\u003e\n"],["\u003cp\u003eRefer to the "Structured data" section for details on how to handle structured data returned for specific types like Date, Time, DateTime, and Place.\u003c/p\u003e\n"]]],[],null,["The following table lists the Schema.org-defined query pattern types for Custom\nDevice Actions. The name of each type starts with `$SchemaOrg`. These types\ncorrespond to the standard types defined in [Schema.org](http://schema.org/).\n\nSome of these types return structured data rather than a single value. These\ntypes are indicated in the table. See [structured data](#structured-data)\nfor more information.\n\nSupported Schema.org types\n\n| Type | Example Developer Pattern | Example User Query | Supports Structured Data |\n|-------------------------------------------------------------------|----------------------------------------------------------------------------------|--------------------------------------------------------|--------------------------|\n| [$SchemaOrg_Date](http://www.schema.org/Date) | read my sms from `$SchemaOrg_Date:my_date` on sms pro | *read my sms from april 1st on sms pro* | [Yes](#date) |\n| [$SchemaOrg_Number](http://www.schema.org/Number) | blink the flashlight `$SchemaOrg_Number:number` times | *blink the flashlight five times* | No |\n| [$SchemaOrg_Time](http://www.schema.org/Time) | read my sms from `$SchemaOrg_Time:my_time` on sms pro | *read my sms from 5 pm on sms pro* | [Yes](#time) |\n| [$SchemaOrg_DateTime](http://www.schema.org/DateTime) | read my sms from `$SchemaOrg_DateTime:my_time` on sms pro | *read my sms from yesterday noon on sms pro* | [Yes](#datetime) |\n| [$SchemaOrg_DayOfWeek](http://www.schema.org/DayOfWeek) | show me my meetings on `$SchemaOrg_DayOfWeek:day_of_week` | *show me my meetings on Tuesday* | No |\n| [$SchemaOrg_Color](http://www.schema.org/color) | turn on the `$SchemaOrg_Color:my_color` strobe light | *turn on the red strobe light* | No |\n| [$SchemaOrg_priceCurrency](http://www.schema.org/priceCurrency) | show conversion rate for `$SchemaOrg_priceCurrency:cur` on currency app | *show conversion rate for yen on currency app* | No |\n| [$SchemaOrg_Distance](http://www.schema.org/Distance) | show conversion chart for `$SchemaOrg_Distance:dist` | *show conversion chart for kilometer* | No |\n| [$SchemaOrg_Temperature](http://www.schema.org/QuantitativeValue) | set temperature to `$SchemaOrg_Number:num` degrees `$SchemaOrg_Temperature:temp` | *set temperature to 70 degrees fahrenheit* | No |\n| [$SchemaOrg_Organization](http://www.schema.org/Organization) | watch `$SchemaOrg_Organization:organization` highlights | *watch lakers highlights* | No |\n| [$SchemaOrg_Organization](http://www.schema.org/Organization) | show me stock price for `$SchemaOrg_Organization:organization` | *show me stock price for Google* | No |\n| [$SchemaOrg_Person](http://www.schema.org/Person) | show top 10 `$SchemaOrg_Person:musician` songs | *show top 10 bruno mars songs* | No |\n| [$SchemaOrg_Person](http://www.schema.org/Person) | show me news about `$SchemaOrg_Person:person` | *show me news about bill gates* | No |\n| [$SchemaOrg_Place](http://www.schema.org/Place) | write review for `$SchemaOrg_Place:place` | *write review for new york* | [Yes](#place) |\n| [$SchemaOrg_Place](http://www.schema.org/Place) | show traffic on `$SchemaOrg_Place:location` | *show traffic on mountain view* | [Yes](#place) |\n| [$SchemaOrg_Product](http://schema.org/Product) | write review for `$SchemaOrg_Product:product` | *write review for google glass* | No |\n| [$SchemaOrg_Book](http://schema.org/Book) | read `$SchemaOrg_Book:my_book` | *read great expectations* | No |\n| [$SchemaOrg_Movie](http://schema.org/Movie) | play the `$SchemaOrg_Movie:my_movie` movie | *review the casablanca movie* | No |\n| [$SchemaOrg_TVSeries](http://schema.org/TVSeries) | play next episode of `$SchemaOrg_TVSeries:tv_series` | *play next episode of friends* | No |\n| [$SchemaOrg_servesCuisine](http://schema.org/servesCuisine) | show `$SchemaOrg_servesCuisine:my_cuisine` restaurants | *show italian restaurants* | No |\n| [$SchemaOrg_MusicAlbum](http://schema.org/MusicAlbum) | add `$SchemaOrg_MusicAlbum:album` to my queue. | *add abbey road to my queue* | No |\n| [$SchemaOrg_MusicRecording](http://schema.org/MusicRecording) | add `$SchemaOrg_MusicRecording:song` to my favorites. | *add with or without you to my favorites.* | No |\n| $SchemaOrg_YesNo | `$SchemaOrg_YesNo:yesno` | *Yes* | No |\n| $SchemaOrg_URL | Add `$SchemaOrg_URL:url` | *Add google.com* | No |\n| $SchemaOrg_Email | Add `$SchemaOrg_Email:email` | *Add john@google.com* | No |\n| $SchemaOrg_PhoneNumber | Add `$SchemaOrg_PhoneNumber:phonenumber` | *Add (777) 777-7777* | No |\n| $SchemaOrg_Text | What's that song where they say `$SchemaOrg_Text:text` | *What's that song where they say you are my sunshine?* | No |\n\nStructured data\n\nSome types support structured data being passed back instead of a single value.\nIn the `deviceExecution` section, add `.structured` to the parameter name\nto receive structured data back for these types: \n\n```\n\"my-param-name\": \"$parameter-name.structured\"\n```\n\nwhere \u003cvar translate=\"no\"\u003emy-param-name\u003c/var\u003e is the user-defined name that is passed back in the\n`params` and \u003cvar translate=\"no\"\u003eparameter-name\u003c/var\u003e identifies the parameter in the query pattern.\n\nSee the following example:\n\nPlace\n\nQuery\n\n*Write review for New York*\n\nAction package \n\n ...\n\n \"intent\": {\n \"name\": \"com.example.intents.Review\",\n \"parameters\": [\n {\n \"name\": \"place\",\n \"type\": \"SchemaOrg_Place\"\n }\n ],\n \"trigger\": {\n \"queryPatterns\": [\n \"write review for $SchemaOrg_Place:place\"\n ]\n }\n },\n\n ...\n\n \"deviceExecution\": {\n \"command\": \"com.example.commands.Review\",\n \"params\": {\n \"placeName\": \"$place.structured\"\n }\n }\n\n ...\n\nReturned params\n\nSee [LatLng](/assistant/conversational/webhook/reference/rest/Shared.Types/Location#LatLng) for more information. \n\n \"placeName\": {\n \"latitude\": 40.7128,\n \"longitude\": 74.0060\n }\n\n| **Note:** `placeName` would contain `New York` if `.structured` was not added.\n\nDate\n\nSee [Date](/assistant/conversational/webhook/reference/rest/Shared.Types/Argument#date) for more information.\n\nReturned params: \n\n {\n \"year\": 2018,\n \"month\": 12,\n \"day\": 2\n }\n\nTime\n\nSee [TimeOfDay](/assistant/conversational/webhook/reference/rest/Shared.Types/Argument#timeofday) for more information.\n\nReturned params: \n\n {\n \"hours\": 12,\n \"minutes\": 0,\n \"seconds\": 0,\n \"nanos\": 0\n }\n\nDateTime\n\nSee [DateTime](/assistant/conversational/webhook/reference/rest/Shared.Types/Argument#datetime) for more information.\n\nReturned params: \n\n {\n \"date\": {\n \"year\": 2018,\n \"month\": 11,\n \"day\": 30\n },\n \"time\": {\n \"hours\": 12,\n \"minutes\": 0,\n \"seconds\": 0,\n \"nanos\": 0\n }\n }"]]