Sets a flag to indicate that this action changed the existing data state. For example, if the
action created a task or updated contact information. When this flag is set to true, services
such as Gmail can attempt to clear any cached state data associated with this action.
Parameters
Name
Type
Description
stateChanged
Boolean
Whether this action has changed the existing state data. Defaults to false.
[[["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-12-02 UTC."],[[["\u003cp\u003e\u003ccode\u003eActionResponseBuilder\u003c/code\u003e helps create responses for actions within Google Apps Script cards.\u003c/p\u003e\n"],["\u003cp\u003eIt provides methods to define navigation, notifications, open links, and signal state changes when an action is performed.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003ebuild()\u003c/code\u003e method finalizes the response and ensures its validity before execution.\u003c/p\u003e\n"],["\u003cp\u003eMethods like \u003ccode\u003esetNavigation()\u003c/code\u003e, \u003ccode\u003esetNotification()\u003c/code\u003e, \u003ccode\u003esetOpenLink()\u003c/code\u003e, and \u003ccode\u003esetStateChanged()\u003c/code\u003e allow customization of the action's outcome.\u003c/p\u003e\n"],["\u003cp\u003eUsing an \u003ccode\u003eActionResponseBuilder\u003c/code\u003e streamlines the process of defining how user interactions within a card trigger specific application behaviors.\u003c/p\u003e\n"]]],["The `ActionResponseBuilder` constructs `ActionResponse` objects. Key actions include: `build()`, which creates and validates the response; `setNavigation()`, which sets a navigation action; `setNotification()`, which sets a notification to display; `setOpenLink()`, which sets a URL for navigation; and `setStateChanged()`, which flags if the action modifies existing data. Each setter method allows for chaining and accepts specific object types like `Navigation`, `Notification`, or `OpenLink` to define the response.\n"],null,["ActionResponseBuilder\n\nA builder for [ActionResponse](/apps-script/reference/card-service/action-response) objects. \n\nMethods\n\n| Method | Return type | Brief description |\n|-----------------------------------------------------------------|-----------------------------------------------------------------------|---------------------------------------------------------------------------------------------|\n| [build()](#build()) | [ActionResponse](/apps-script/reference/card-service/action-response) | Builds the current action response and validates it. |\n| [setNavigation(navigation)](#setNavigation(Navigation)) | [ActionResponseBuilder](#) | Sets the response to a [Navigation](/apps-script/reference/card-service/navigation) action. |\n| [setNotification(notification)](#setNotification(Notification)) | [ActionResponseBuilder](#) | Sets the notification to display when the action is activated. |\n| [setOpenLink(openLink)](#setOpenLink(OpenLink)) | [ActionResponseBuilder](#) | Sets the URL to navigate to when the action is activated. |\n| [setStateChanged(stateChanged)](#setStateChanged(Boolean)) | [ActionResponseBuilder](#) | Sets a flag to indicate that this action changed the existing data state. |\n\nDetailed documentation \n\n`build()` \nBuilds the current action response and validates it.\n\nReturn\n\n\n[ActionResponse](/apps-script/reference/card-service/action-response) --- A validated ActionResponse.\n\nThrows\n\n\n[`Error`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error) --- if the constructed action response isn't valid.\n\n*** ** * ** ***\n\n`set``Navigation(navigation)` \nSets the response to a [Navigation](/apps-script/reference/card-service/navigation) action.\n\nParameters\n\n| Name | Type | Description |\n|--------------|--------------------------------------------------------------|--------------------------------------------------------------------------|\n| `navigation` | [Navigation](/apps-script/reference/card-service/navigation) | The [Navigation](/apps-script/reference/card-service/navigation) to use. |\n\nReturn\n\n\n[ActionResponseBuilder](#) --- This object, for chaining.\n\n*** ** * ** ***\n\n`set``Notification(notification)` \nSets the notification to display when the action is activated.\n\nParameters\n\n| Name | Type | Description |\n|----------------|------------------------------------------------------------------|------------------------------------------------------------------------------|\n| `notification` | [Notification](/apps-script/reference/card-service/notification) | The [Notification](/apps-script/reference/card-service/notification) to use. |\n\nReturn\n\n\n[ActionResponseBuilder](#) --- This object, for chaining.\n\n*** ** * ** ***\n\n`set``Open``Link(openLink)` \nSets the URL to navigate to when the action is activated.\n\nParameters\n\n| Name | Type | Description |\n|--------------|-----------------------------------------------------------|-----------------------------------------------------------------------|\n| `open``Link` | [OpenLink](/apps-script/reference/card-service/open-link) | The [OpenLink](/apps-script/reference/card-service/open-link) to use. |\n\nReturn\n\n\n[ActionResponseBuilder](#) --- This object, for chaining.\n\n*** ** * ** ***\n\n`set``State``Changed(stateChanged)` \nSets a flag to indicate that this action changed the existing data state. For example, if the\naction created a task or updated contact information. When this flag is set to true, services\nsuch as Gmail can attempt to clear any cached state data associated with this action.\n\nParameters\n\n| Name | Type | Description |\n|------------------|-----------|-----------------------------------------------------------------------------|\n| `state``Changed` | `Boolean` | Whether this action has changed the existing state data. Defaults to false. |\n\nReturn\n\n\n[ActionResponseBuilder](#) --- This object, for chaining."]]