Defina o botão principal no rodapé fixo. O botão principal precisa ser um botão TextButtonStyle.FILLED. Se a cor de plano de fundo não estiver definida para o botão principal, ele usará a cor principal definida no manifest do complemento.
Defina o botão secundário no rodapé fixo. O botão secundário precisa ser TextButtonStyle.OUTLINED. Esse método não faz nada se setPrimaryButton(button) não for chamado para definir o botão principal.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-07-26 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,["FixedFooter\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\nMethods\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`set``Primary``Button(button)` \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\nParameters\n\n| Name | Type | Description |\n|----------|---------------------------------------------------------------|--------------------|\n| `button` | [TextButton](/apps-script/reference/card-service/text-button) | The button to add. |\n\nReturn\n\n\n[FixedFooter](#) --- This object, for chaining.\n\n*** ** * ** ***\n\n`set``Secondary``Button(button)` \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\nParameters\n\n| Name | Type | Description |\n|----------|---------------------------------------------------------------|--------------------|\n| `button` | [TextButton](/apps-script/reference/card-service/text-button) | The button to add. |\n\nReturn\n\n\n[FixedFooter](#) --- This object, for chaining."]]