> For the complete documentation index, see [llms.txt](https://codemash.gitbook.io/codemash/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://codemash.gitbook.io/codemash/cloud/emails/footers/editor.md).

# Create or edit a footer

Create or edit an email footer — a name and an MJML block per language.

**Where:** Email → Footers → **Create Footer** · `/projects/<project>/emails/footers/new` — or press an id · `/projects/<project>/emails/footers/<footerId>/edit`

## Before you start

* The project languages ([Project → Settings → Languages](/codemash/cloud/project/settings/languages.md)) — give the footer a translation for each one; a missing translation renders as nothing.
* Permission `email:create` (create and update).

## Steps

1. Press **Create Footer**. **Add New Email Footer** opens with one translation in the project default language and a default MJML block.

   <figure><img src="https://712692422-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHy372bqsaex2cqS3ikhL%2Fuploads%2Fgit-blob-8e5ac79154636e8ce88bcdd799e0215c0ff67856%2Ffooters-create-1.png?alt=media" alt="Add New Email Footer: Footer name field, Translations EN (default) and DE, Language English, Footer code editor with the default block"><figcaption><p>The empty form.</p></figcaption></figure>
2. Fill the form:

   | Field                 | Required | What it does                                                                                                                                                                                      | Example              |
   | --------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- |
   | Footer name           | yes      | The name in the list and in token pickers.                                                                                                                                                        | `Partner footer`     |
   | Translations          | yes      | Language tags; each picked language adds a block.                                                                                                                                                 | `EN (default)`, `DE` |
   | Footer (per language) | yes      | The MJML block — only the inner elements (`<mj-text>`, `<mj-section>`), not a whole email. Use the code editor or **Edit in Visual Builder →**. Tokens such as `@Model.Project.Name` work inside. | the default block    |

   <figure><img src="https://712692422-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHy372bqsaex2cqS3ikhL%2Fuploads%2Fgit-blob-4f0e0bce5f4005b31969f108f8ec3a7ad9bf29d4%2Ffooters-create-2.png?alt=media" alt="Footer name Partner footer, tags EN (default) and DE both picked, the English block below"><figcaption><p>Name filled and German added.</p></figcaption></figure>
3. Press **Create** (new) or **Update** (existing).

## Result

You are back on the list and the footer is there, with its id and languages.

<figure><img src="https://712692422-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHy372bqsaex2cqS3ikhL%2Fuploads%2Fgit-blob-c17ad1fcb6fff2f9bd58eeaca04190662bb0d68f%2Ffooters-create-3.png?alt=media" alt="Email Footers list with Partner footer added, translations en, de"><figcaption><p>The new footer in the list.</p></figcaption></figure>

Open it to edit it: the id is shown as a copy button, and the next sends render the new version.

<figure><img src="https://712692422-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHy372bqsaex2cqS3ikhL%2Fuploads%2Fgit-blob-dbc14327a843c6dc8d5de3c524d08e4f2d5a1f84%2Ffooters-edit-1.png?alt=media" alt="Edit Email Footer Partner footer: id copy button, Footer name, Translations, the code editor"><figcaption><p>An existing footer in the editor.</p></figcaption></figure>

## Change or remove it later

* **Edit** — change the name or a block and press **Update**.
* **Delete** — **Actions → Delete**: [Delete a footer](/codemash/cloud/emails/footers/delete.md). **Actions → See documentation** opens this page.

## Do it from code

```ts
const { id } = await norbix.hub.notifications.saveEmailFooter({
  displayName: 'Billing footer',
  translations: [
    { language: 'en', content: '<mj-section><mj-column><mj-text>Acme Ltd · Billing</mj-text></mj-column></mj-section>' },
    { language: 'de', content: '<mj-section><mj-column><mj-text>Acme Ltd · Buchhaltung</mj-text></mj-column></mj-section>' },
  ],
});
console.log(id); // emlftr_6xGUsPqgZ6xvDM0AFMR2LP
```

```sh
norbix hub notifications email footer get --id emlftr_3xxahehZsa7l8kj90ytaxX
```

`saveEmailFooter` with a `viewId` updates an existing footer.

API: [Save Email Footer](/codemash/api-reference/notifications/email/save-email-footer.md) · [Get Email Footer](/codemash/api-reference/notifications/email/get-email-footer.md)
