Set the primary button in the fixed footer. The primary button must be aTextButtonStyle.FILLEDbutton. If the background color is unset for the primary button, the
button uses the primary color defined in the add-onmanifest.
Set the secondary button in the fixed footer. The secondary button must be aTextButtonStyle.OUTLINEDbutton. This method does nothing ifsetPrimaryButton(button)isn't called to set the primary button.
[[["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 2025-01-30 UTC."],[[["\u003cp\u003eA FixedFooter is displayed at the bottom of a Card in Google Workspace Add-ons and Google Chat apps.\u003c/p\u003e\n"],["\u003cp\u003eIt can contain a primary button (required) and an optional secondary button for user interaction.\u003c/p\u003e\n"],["\u003cp\u003ePrimary buttons have a filled style while secondary buttons have an outlined style.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can customize button actions, such as opening a link, using the \u003ccode\u003esetPrimaryButton\u003c/code\u003e and \u003ccode\u003esetSecondaryButton\u003c/code\u003e methods.\u003c/p\u003e\n"]]],["The `FixedFooter` feature, available in Google Workspace add-ons and Google Chat apps, allows setting buttons at the bottom of a card. You can set a `primaryButton` using `setPrimaryButton()`, which requires a `TextButtonStyle.FILLED` button. Optionally, a `secondaryButton` can be added via `setSecondaryButton()`, using a `TextButtonStyle.OUTLINED` button. Setting a secondary button is only effective if a primary button is set first. Both methods return the `FixedFooter` object for chaining.\n"],null,["# Class FixedFooter\n\nFixedFooter\n\nThe fixed footer shown at the bottom of a [Card](/apps-script/reference/card-service/card).\n\nAvailable for Google Workspace add-ons and Google Chat apps.\n\n```javascript\nconst fixedFooter = CardService.newFixedFooter().setPrimaryButton(\n CardService.newTextButton().setText('help').setOpenLink(\n CardService.newOpenLink().setUrl('http://www.google.com')),\n);\n``` \n\n### Methods\n\n| Method | Return type | Brief description |\n|---------------------------------------------------------------|------------------|-----------------------------------------------|\n| [setPrimaryButton(button)](#setPrimaryButton(TextButton)) | [FixedFooter](#) | Set the primary button in the fixed footer. |\n| [setSecondaryButton(button)](#setSecondaryButton(TextButton)) | [FixedFooter](#) | Set the secondary button in the fixed footer. |\n\nDetailed documentation\n----------------------\n\n### `set``Primary``Button(button)`\n\nSet the primary button in the fixed footer. The primary button must be a [TextButtonStyle.FILLED](/apps-script/reference/card-service/text-button-style#FILLED) button. If the background color is unset for the primary button, the\nbutton uses the primary color defined in the add-on [manifest](/gmail/add-ons/concepts/manifests#manifest_structure_for_gmail_add-ons).\n\n#### Parameters\n\n| Name | Type | Description |\n|----------|---------------------------------------------------------------|--------------------|\n| `button` | [TextButton](/apps-script/reference/card-service/text-button) | The button to add. |\n\n#### Return\n\n\n[FixedFooter](#) --- This object, for chaining.\n\n*** ** * ** ***\n\n### `set``Secondary``Button(button)`\n\nSet the secondary button in the fixed footer. The secondary button must be a [TextButtonStyle.OUTLINED](/apps-script/reference/card-service/text-button-style#OUTLINED) button. This method does nothing if [setPrimaryButton(button)](#setPrimaryButton(TextButton)) isn't called to set the primary button.\n\n#### Parameters\n\n| Name | Type | Description |\n|----------|---------------------------------------------------------------|--------------------|\n| `button` | [TextButton](/apps-script/reference/card-service/text-button) | The button to add. |\n\n#### Return\n\n\n[FixedFooter](#) --- This object, for chaining."]]