The Live TV channel integration allows users to use voice commands to watch and switch TV channels on any device that supports the Google Assistant, such as Google Home, Android, Android TV, and more.

Service providers can use the BroadcastService
, CableOrSatelliteService
, TelevisionChannel
, and Organization
markup objects to provide the details of broadcast services in Media Actions feeds. The TV channel and broadcast service information from the feeds allow Google to support the following user queries:
- “Hey Google, play ExampleTV.”
- “Hey Google, tune to ExampleTV-HD.”
- “Hey Google, switch to channel 7.”
- “Hey Google, ExampleTV-Drama.”
Live TV channel entity types
BroadcastService
, CableOrSatelliteService
, TelevisionChannel
, and Organization
describe the following entities:
Organization
describes a TV network or a TV operator.- TV network - An organization that produces and distributes TV programming.
- TV operator - Also known as TV service provider, an organization that delivers a bundle of TV programming to subscribers.
BroadcastService
describes a broadcast service (a.k.a “TV station”) that is affiliated with a TV network (Organization
).CableOrSatelliteService
identifies a regional cable, satellite, or Internet TV service provided by a TV operator (Organization
).TelevisionChannel
identifies the channel ID (that is, a string or number) of a TV station (BroadcastService
) on a regional cable, satellite, or Internet TV service (CableOrSatelliteService
).

BroadcastService
BroadcastService
allows you to describe the details that are specific to Media Actions; for instance, you can use an Action markup object in BroadcastService
to provide the deep links and access requirements of a broadcast service.
You need to provide a separate BroadcastService
for the following cases:
- A broadcast service has its own TV channel.
- For instance, a TV network has channels in different definitions (for example, "HD" and "SD").
- A broadcast service consists of different TV programming.
- For instance, a TV network distributes different TV programming based on regions (for example, New York and California).
BroadcastService
lets you restrict access to a TV channel based on the user's current device location with the eligibleRegion
and ineligibleRegion
properties. (See the Entitlements use cases - Live TV section for details.)
Channel switch
With the Live TV channel integration, users can ask Google to switch channels using voice commands. Google uses Natural Language Processing (NLP) to extract parameters from user queries and identify which channel the users want to watch. Google then handles the channel switch in one of the following ways:
- Fulfilled by Google - Google performs the channel switch using a deep link provided in a Media Action feed. The information from the feed allows Google to look up the deep link of the channel that the user wants to watch. Google then takes the user directly to the content on the service provider's app or platform.
- Fulfilled by TV service provider - Google sends a request to the service provider. The service provider then performs the channel switch.
The type of information needed in a Media Action feed depends on how the service provider wants Google to handle the channel switch.
Fulfilled by Google
In this approach, Google uses the deep links provided in BroadcastService
to take users directly to the content on the service provider's app or platform.
Users indicate which channel they want to watch in two different ways:
- Using a channel name - “Hey Google, play ExampleTV.”
- Using a channel number - “Hey Google, switch to channel 7.”
Switch by channel name
When a user query contains a channel name, Google does the following:
- The user says, “Hey Google, play ExampleTV.”
- Google matches the user query with the channel switch intent of Google's NLP.
- Google extracts the parameter (in this case, ExampleTV) from the user query.
- Google uses the channel name to identify
BroadcastService
. - Google retrieves the deep link from
BroadcastService
. - Google uses the deep link to initiate playback of the new TV channel.
This approach requires the following information from the feed:
Organization
- Provides the information of the TV network or TV operator.BroadcastService
(with an Action markup object) - Provides deep links for the TV station; you need to provide a deep link for each platform that you support (for example, Desktop, Android, AndroidTV).
Switch by channel number
When a user query contains a channel number, Google does the following:
- The user says, “Hey Google, switch to channel 7.”
- Google matches the user query with the channel switch intent.
- Google extracts the parameter (in this case, channel 7) from the user query.
- Google uses the user's location to identify the regional TV service (
CableOrSatelliteService
). - Google uses the channel number and
CableOrSatelliteService
to identify the correspondingTelevisionChannel.
- Google identifies the
BroadcastService
that is linked toTelevisionChannel
. - Google retrieves the deep link from
BroadcastService
. - Google uses the deep link to initiate playback of the new TV channel.
In addition to Organization
and BroadcastService
, this approach requires the following extra information:
TelevisionChannel
- Provides the channel ID (a number or string) of the TV station on the TV service provider.CableOrSatelliteService
- Specifies the region of the TV service provider.
Fulfilled by TV service provider
When Google passes control to the TV service provider to perform the channel switch, Google extracts the channel information (a channel ID or a name) from the user query and includes this information (and optionally the _PARTNER_ID_
identifier) as a parameter in the request to the service provider.
With this approach, it's optional to provide deep links and access requirements in BroadcastService
(see Fulfilled by TV service provider example).
Because this approach requires the service provider to establish end-to-end communication with Google, the service provider needs to perform extended integration with Google's other platforms outside of Media Actions. Contact Google for more information.
Live TV examples
The following examples demonstrate the common scenarios in the Live TV channel integration:
- Broadcast TV (with channel switch fulfilled by Google).
- Internet Protocol Television (IPTV) (with channel switch fulfilled by Google).
- IPTV with channel switch fulfilled by TV service provider.
Broadcast TV example
Organization
A fictional TV service provider, Example Cable TV Company (Organization
), provides Live TV service over a cable network in two regions: New York and San Francisco. The service contains two channels: ExampleTV (Organization
) and ExampleTV2 (Organization
):
{
"@context":"http://schema.org",
"@type":"Organization",
"@id": "http://example.com/example_cable_tv_company",
"name": "Example Cable TV Company",
"sameAs": "https://en.wikipedia.org/wiki/example_cable_company"
},
{
"@context":"http://schema.org",
"@type":"Organization",
"@id":"http://example.com/exampletv",
"name":"ExampleTV Network",
"sameAs": "https://en.wikipedia.org/wiki/exampletv"
},
{
"@context":"http://schema.org",
"@type":"Organization",
"@id":"http://example.com/exampletv2",
"name":"ExampleTV2 Network",
"sameAs": "https://en.wikipedia.org/wiki/exampletv2"
}
BroadcastService
These BroadcastService
entities provide the details of deep links and access requirement for the ExampleTV channel in HD and ExampleTV2 channel:
{
"@context":"http://schema.org",
"@type":"BroadcastService",
"@id":"https://www.example.com/exampletv/broadcast/hd",
"name": "ExampleTV HD",
"alternateName": [
"Example Television HD",
"Example TV HD"
],
"description": "A fictional TV broadcast service in HD",
"broadcastDisplayName":"ExampleTV-HD",
"broadcastAffiliateOf":{
"@type":"Organization",
"@id":"http://www.example.com/exampletv"
},
"potentialAction": {
"@type": "WatchAction",
"target": [
{
"@type": "EntryPoint",
"urlTemplate": "http://www.example.com/exampletv/broadcast/hd?autoplay=true",
"inLanguage": "en",
"actionPlatform": [
"http://schema.org/DesktopWebPlatform",
"http://schema.org/MobileWebPlatform",
"http://schema.org/AndroidPlatform",
"http://schema.org/IOSPlatform"
]
},
{
"@type": "EntryPoint",
"urlTemplate": "http://www.example.com/exampletv/broadcast/androidtv/hd?autoplay=true",
"inLanguage": "en",
"actionPlatform": [
"http://schema.googleapis.com/GoogleVideoCast"
]
}
],
"actionAccessibilityRequirement": {
"@type": "ActionAccessSpecification",
"category": "subscription",
"requiresSubscription": {
"@type": "MediaSubscription",
"@id": "http://www.example.com/exampletv/basic_subscription",
"name": "Basic subscription",
"identifier": "example.com:basic"
},
"eligibleRegion": [
{
"@type": "Country",
"name": "US"
}
]
}
},
"identifier": [
{
"@type": "PropertyValue",
"propertyID": "TMS_ID",
"value": "102610"
},
{
"@type": "PropertyValue",
"propertyID": "_PARTNER_ID_",
"value": "exampletv-12345"
}
]
},
{
"@context":"http://schema.org",
"@type":"BroadcastService",
"@id":"https://www.example.com/exampletv2/broadcast",
"name": "ExampleTV2",
"alternateName": [
"Example Television 2",
"Example TV 2"
],
"description": "A fictional TV broadcast service ExampleTV 2",
"broadcastDisplayName":"ExampleTV2",
"broadcastAffiliateOf":{
"@type":"Organization",
"@id":"http://www.example.com/exampletv2"
},
"potentialAction": {
"@type": "WatchAction",
"target": [
{
"@type": "EntryPoint",
"urlTemplate": "http://www.example.com/exampletv2/broadcast/?autoplay=true",
"inLanguage": "en",
"actionPlatform": [
"http://schema.org/DesktopWebPlatform",
"http://schema.org/MobileWebPlatform",
"http://schema.org/AndroidPlatform",
"http://schema.org/IOSPlatform"
]
},
{
"@type": "EntryPoint",
"urlTemplate": "http://www.example.com/exampletv2/broadcast/androidtv/?autoplay=true",
"inLanguage": "en",
"actionPlatform": [
"http://schema.googleapis.com/GoogleVideoCast"
]
}
],
"actionAccessibilityRequirement": {
"@type": "ActionAccessSpecification",
"category": "subscription",
"requiresSubscription": {
"@type": "MediaSubscription",
"@id": "http://www.example.com/exampletv/basic_subscription",
"name": "Basic subscription",
"identifier": "example.com:basic"
},
"eligibleRegion": [
{
"@type": "Country",
"name": "US"
}
]
}
},
"identifier": [
{
"@type": "PropertyValue",
"propertyID": "TMS_ID",
"value": "333339"
},
{
"@type": "PropertyValue",
"propertyID": "_PARTNER_ID_",
"value": "exampletv2-11115"
}
]
}
CableOrSatelliteService
These CableOrSatelliteService
entities describe the cable TV services in New York (DMA_ID=501
) and the San Francisco Bay Area (DMA_ID=807
), which are provided by the nationwide TV service provider Example Cable TV Company (Organization
):
{
"@context":"http://schema.org",
"@type":"CableOrSatelliteService",
"@id":"http://example.com/example_cable_tv_company_new_york",
"name":"Example Cable TV Company - New York",
"provider": {
"@type": "Organization",
"@id": "http://example.com/example_cable_tv_company",
"name": "Example Cable TV Company"
},
"areaServed":[
{
"@type": "GeoShape",
"@id": "http://example.com/newyork_01",
"identifier": [
{
"@type": "PropertyValue",
"propertyID": "DMA_ID",
"value": "501"
}
]
}
]
},
{
"@context":"http://schema.org",
"@type":"CableOrSatelliteService",
"@id":"http://example.com/example_cable_tv_company_san_francisco_bay",
"name":"Example Cable TV Company - San Francisco Bay",
"provider": {
"@type": "Organization",
"@id": "http://example.com/example_cable_tv_company",
"name": "Example Cable TV Company"
},
"areaServed":[
{
"@type": "GeoShape",
"@id": "http://example.com/bayarea_01",
"identifier": [
{
"@type": "PropertyValue",
"propertyID": "DMA_ID",
"value": "807"
}
]
}
]
}
TelevisionChannel
These TelevisionChannel
entities indicate that the regional TV service provider Example Cable TV Company - San Francisco Bay has ExampleTV-HD on channel 7 and ExampleTV2 on channel 11, and the regional TV service provider Example Cable TV Company - New York has ExampleTV-HD on channel 12 and ExampleTV2 on channel 4:
{
"@context":"http://schema.org",
"@type":"TelevisionChannel",
"@id":"http://example.com/example_cable_tv_company_san_francisco/exampletv",
"broadcastChannelId":"7",
"broadcastServiceTier":"Basic",
"inBroadcastLineup":{
"@type":"CableOrSatelliteService",
"@id":"http://example.com/example_cable_tv_company_san_francisco"
},
"providesBroadcastService":{
"@type":"BroadcastService",
"@id":"https://www.example.com/exampletv/broadcast/hd"
}
},
{
"@context":"http://schema.org",
"@type":"TelevisionChannel",
"@id":"http://example.com/example_cable_tv_company_san_francisco/exampletv2",
"broadcastChannelId":"11",
"broadcastServiceTier":"Basic",
"inBroadcastLineup":{
"@type":"CableOrSatelliteService",
"@id":"http://example.com/example_cable_tv_company_san_francisco"
},
"providesBroadcastService":{
"@type":"BroadcastService",
"@id":"https://www.example.com/exampletv2/broadcast"
}
},
{
"@context":"http://schema.org",
"@type":"TelevisionChannel",
"@id":"http://example.com/example_cable_tv_company_new_york/exampletv",
"broadcastChannelId":"12",
"broadcastServiceTier":"Basic",
"inBroadcastLineup":{
"@type":"CableOrSatelliteService",
"@id":"http://example.com/example_cable_tv_company_new_york"
},
"providesBroadcastService":{
"@type":"BroadcastService",
"@id":"https://www.example.com/exampletv/broadcast/hd"
}
},
{
"@context":"http://schema.org",
"@type":"TelevisionChannel",
"@id":"http://example.com/example_cable_tv_company_new_york/exampletv2",
"broadcastChannelId":"4",
"broadcastServiceTier":"Basic",
"inBroadcastLineup":{
"@type":"CableOrSatelliteService",
"@id":"http://example.com/example_cable_tv_company_new_york"
},
"providesBroadcastService":{
"@type":"BroadcastService",
"@id":"https://www.example.com/exampletv2/broadcast"
}
}
Internet Protocol TV example
Organization
A fictional Internet Protocol Television service provider, ExampleTV Digital Service (Organization
), provides Live TV service on the Internet, which contains the following two channels: ExampleTV-Movie (Organization
) and ExampleTV-Comedy (Organization
):
{
"@context":"http://schema.org",
"@type":"Organization",
"@id":"http://example.com/exampletv/digital",
"name":"ExampleTV Digital Service",
"sameAs": "https://en.wikipedia.org/wiki/exampletv_digital_service"
},
{
"@context":"http://schema.org",
"@type":"Organization",
"@id":"http://example.com/exampletv/movie",
"name":"ExampleTV Movie",
"sameAs": "https://en.wikipedia.org/wiki/exampletv_movie"
},
{
"@context":"http://schema.org",
"@type":"Organization",
"@id":"http://example.com/exampletv/comedy",
"name":"ExampleTV Comedy",
"sameAs": "https://en.wikipedia.org/wiki/exampletv_comedy"
}
BroadcastService
These two BroadcastService
entities provide the details of deep links and access requirement for the fictional channels ExampleTV-Movie and ExampleTV-Comedy:
{
"@context":"http://schema.org",
"@type":"BroadcastService",
"@id":"https://www.example.com/exampletv/broadcast/movie",
"name": "ExampleTV-Movie",
"alternateName": [
"Example Television Movie",
"Example TV Movie"
],
"description": "A fictional Internet Protocol TV movie channel.",
"broadcastDisplayName":"ExampleTV-Movie",
"broadcastAffiliateOf":{
"@type":"Organization",
"@id":"http://www.example.com/exampletv/movie"
},
"potentialAction": {
"@type": "WatchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "http://www.example.com/exampletv/broadcast/movie?autoplay=true",
"inLanguage": "en",
"actionPlatform": [
"http://schema.org/DesktopWebPlatform",
"http://schema.org/MobileWebPlatform",
"http://schema.org/AndroidPlatform",
"http://schema.org/IOSPlatform",
"http://schema.googleapis.com/GoogleVideoCast"
]
},
"actionAccessibilityRequirement": {
"@type": "ActionAccessSpecification",
"category": "subscription",
"requiresSubscription": {
"@type": "MediaSubscription",
"@id": "http://www.example.com/exampletv/basic_subscription",
"name": "Basic subscription",
"identifier": "example.com:basic"
},
"eligibleRegion": [
{
"@type": "Country",
"name": "US"
}
]
}
},
"identifier": [
{
"@type": "PropertyValue",
"propertyID": "TMS_ID",
"value": "12345"
},
{
"@type": "PropertyValue",
"propertyID": "_PARTNER_ID_",
"value": "exampletv-movie-33345"
}
]
},
{
"@context":"http://schema.org",
"@type":"BroadcastService",
"@id":"https://www.example.com/exampletv/broadcast/comedy",
"name": "ExampleTV-Comedy",
"alternateName": [
"Example Television Comedy",
"Example TV Comedy"
],
"description": "A fictional Internet Protocol TV comedy channel.",
"broadcastDisplayName":"ExampleTV-Comedy",
"broadcastAffiliateOf":{
"@type":"Organization",
"@id":"http://www.example.com/exampletv/comedy"
},
"potentialAction": {
"@type": "WatchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "http://www.example.com/exampletv/broadcast/comedy?autoplay=true",
"inLanguage": "en",
"actionPlatform": [
"http://schema.org/DesktopWebPlatform",
"http://schema.org/MobileWebPlatform",
"http://schema.org/AndroidPlatform",
"http://schema.org/IOSPlatform",
"http://schema.googleapis.com/GoogleVideoCast"
]
},
"actionAccessibilityRequirement": {
"@type": "ActionAccessSpecification",
"category": "subscription",
"requiresSubscription": {
"@type": "MediaSubscription",
"@id": "http://www.example.com/exampletv/basic_subscription",
"name": "Basic subscription",
"identifier": "example.com:basic"
},
"eligibleRegion": [
{
"@type": "Country",
"name": "US"
}
]
}
},
"identifier": [
{
"@type": "PropertyValue",
"propertyID": "TMS_ID",
"value": "15555"
},
{
"@type": "PropertyValue",
"propertyID": "_PARTNER_ID_",
"value": "exampletv-comedy-12323"
}
]
}
CableOrSatelliteService
This CableOrSatelliteService
describes the service provider ExampleTV Digital Service that has national coverage:
{
"@context":"http://schema.org",
"@type":"CableOrSatelliteService",
"@id":"http://example.com/example_iptv/us",
"name":"Example TV Digital Service - US",
"provider": {
"@type": "Organization",
"@id": "http://example.com/exampletv/digital",
"name": "ExampleTV Digital Service"
},
"areaServed":[
{
"@type":"Country",
"name": "US",
}
]
}
TelevisionChannel
These TelevisionChannel
entities indicate that ExampleTV Digital Service IPTV has the ExampleTV Movie programming on channel ExTV-Movie
and the ExampleTV Comedy programming on channel ExTV-Comedy
:
{
"@context":"http://schema.org",
"@type":"TelevisionChannel",
"@id":"http://example.com/exampletv/extv-movie",
"broadcastChannelId":"ExTV-Movie",
"broadcastServiceTier":"Basic",
"inBroadcastLineup":{
"@type":"CableOrSatelliteService",
"@id":"http://example.com/example_iptv/us"
},
"providesBroadcastService":{
"@type":"BroadcastService",
"@id":"https://www.example.com/exampletv/broadcast/movie"
}
},
{
"@context":"http://schema.org",
"@type":"TelevisionChannel",
"@id":"http://example.com/exampletv/extv-comedy",
"broadcastChannelId":"ExTV-Comedy",
"broadcastServiceTier":"Basic",
"inBroadcastLineup":{
"@type":"CableOrSatelliteService",
"@id":"http://example.com/example_iptv/us"
},
"providesBroadcastService":{
"@type":"BroadcastService",
"@id":"https://www.example.com/exampletv/broadcast/comedy"
}
}
Fulfilled by TV service provider example
Organization
Fictional IPTV channels ExampleTV-Sports (Organization
) and ExampleTV-Drama (Organization
):
{
"@context":"http://schema.org",
"@type":"Organization",
"@id":"http://example.com/exampletv/sports",
"name":"ExampleTV Sports",
"sameAs": "https://en.wikipedia.org/wiki/exampletv_sports"
},
{
"@context":"http://schema.org",
"@type":"Organization",
"@id":"http://example.com/exampletv/drama",
"name":"ExampleTV Drama",
"sameAs": "https://en.wikipedia.org/wiki/exampletv_drama"
}
BroadcastService
These two BroadcastService
entities describe the ExampleTV-Sports and ExampleTV-Drama channels (deep links are optional):
{
"@context":"http://schema.org",
"@type":"BroadcastService",
"@id":"https://www.example.com/exampletv/sports/broadcast",
"name": "ExampleTV-Sports",
"alternateName": [
"Example Television Sports",
"Example TV Digital Sports"
],
"description": "A fictional Internet Protocol TV service that streams live sports events",
"broadcastDisplayName":"ExampleTV-Sports",
"broadcastAffiliateOf":{
"@type":"Organization",
"@id":"http://www.example.com/exampletv/sports"
},
"identifier": [
{
"@type": "PropertyValue",
"propertyID": "_PARTNER_ID_",
"value": "exampletv-sports-11123"
}
]
},
{
"@context":"http://schema.org",
"@type":"BroadcastService",
"@id":"https://www.example.com/exampletv/drama/broadcast",
"name": "ExampleTV-Drama",
"alternateName": [
"Example Television Drama",
"Example TV Digital Drama"
],
"description": "A fictional Internet Protocol TV service that streams TV drama shows",
"broadcastDisplayName":"ExampleTV-Drama",
"broadcastAffiliateOf":{
"@type":"Organization",
"@id":"http://www.example.com/exampletv/drama"
},
"identifier": [
{
"@type": "PropertyValue",
"propertyID": "_PARTNER_ID_",
"value": "exampletv-drama-11500"
}
]
}