1// Copyright 2020 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15syntax = "proto3"; 16 17package google.actions.sdk.v2; 18 19option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; 20option java_multiple_files = true; 21option java_outer_classname = "ActionProto"; 22option java_package = "com.google.actions.sdk.v2"; 23 24// Represents the list of Actions defined in a project. 25message Actions { 26 // Defines the engagement mechanisms associated with this action. This 27 // allows end users to subscribe to push notification and daily update. 28 message Engagement { 29 // Defines push notification settings that this engagement supports. 30 message PushNotification { 31 32 } 33 34 // Defines daily update settings that this engagement supports. 35 message DailyUpdate { 36 37 } 38 39 // Indicates whether sharing links is enabled for this action and the 40 // corresponding settings. Action links are used to deep link a user into a 41 // specific action. 42 // ActionLink is deprecated. Use AssistantLink instead. 43 message ActionLink { 44 option deprecated = true; 45 46 // User friendly display title for the link. 47 string title = 1; 48 } 49 50 // Indicates whether sharing links is enabled for this action and the 51 // corresponding settings. Assistant links are used to deep link a user into 52 // a specific action. 53 message AssistantLink { 54 // User friendly display title for the link. 55 string title = 1; 56 } 57 58 // The title of the engagement that will be sent to end users asking for 59 // their permission to receive updates. The prompt sent to end users for 60 // daily updates will look like "What time would you like me to send your 61 // daily {title}" and for push notifications will look like 62 // "Is it ok if I send push notifications for {title}". 63 // **This field is localizable.** 64 string title = 1; 65 66 // Push notification settings that this engagement supports. 67 PushNotification push_notification = 2; 68 69 // Recurring update settings that this engagement supports. 70 oneof recurring_update { 71 // Daily update settings that this engagement supports. 72 DailyUpdate daily_update = 3; 73 } 74 75 // Link config for an action which determines whether sharing links is 76 // enabled for the action and if so, contains the user friendly display name 77 // for the link. 78 // ActionLink is deprecated. Use AssistantLink instead. 79 ActionLink action_link = 4 [deprecated = true]; 80 81 // Link config for an action which determines whether sharing links is 82 // enabled for the action and if so, contains the user friendly display name 83 // for the link. 84 AssistantLink assistant_link = 6; 85 } 86 87 // Details regarding a custom action. 88 message CustomAction { 89 // Engagement mechanisms associated with the action to help end users 90 // subscribe to push notifications and daily updates. 91 // Note that the intent name specified in daily updates/push notifications 92 // slot config needs to match the intent corresponding to this action for 93 // end users to subscribe to these updates. 94 Engagement engagement = 2; 95 } 96 97 // Map from intents to custom Actions to configure invocation for the project. 98 // The invocation intents could either be system or custom intents defined 99 // in the "custom/intents/" package. All intents defined here (system 100 // intents & custom intents) must have a corresponding intent file in the 101 // "custom/global/" package. 102 map<string, CustomAction> custom = 3; 103} 104