

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Erstellen von Nachrichtenvorlagen
<a name="create-message-templates1"></a>

Wenn Sie häufig eine bestimmte Art von Nachricht entwerfen und versenden, z. B. eine wöchentliche E-Mail- oder Terminerinnerung, können Sie diese als Nachrichtenvorlage erstellen und speichern. Sie können die Vorlage dann jedes Mal als Ausgangspunkt verwenden, wenn Sie diese Art von Nachricht erstellen müssen, anstatt die Nachricht erneut zu entwerfen und zu schreiben.

Dieses Thema richtet sich an Administratoren und Contact-Center-Manager, die Nachrichtenvorlagen über die Amazon Connect Admin-Website erstellen möchten. 

**Tipp**  
Obwohl Nachrichtenvorlagen die Connect AI-Agenten verwenden APIs, führen Nachrichtenvorlagen nicht zu einer zusätzlichen Abrechnung. Sie zahlen nur die Kosten für die Chat- oder E-Mail-Nachricht. Weitere Informationen finden Sie unter [Amazon Connect – Preise](https://aws.amazon.com/connect/pricing/).

## Was sind Nachrichtenvorlagen?
<a name="what-message-templates"></a>

Eine *Nachrichtenvorlage* ist eine Gruppe von Inhalten und Einstellungen, die Sie in von Ihnen gesendeten Nachrichten erstellen, speichern und dann wiederverwenden können. In einigen Unternehmen werden sie als *E-Mail-Vorlagen* und *SMS-Vorlagen* bezeichnet. Beim Erstellen einer Nachrichtenvorlage geben Sie den Inhalt an, den Sie in verschiedenen Komponenten von Nachrichten wiederverwenden möchten, die auf der Vorlage basieren.

Wenn Sie eine Nachricht erstellen, können Sie eine Vorlage für die Nachricht auswählen. Wenn Sie eine Vorlage auswählen, füllt Amazon Connect die Nachricht mit den Inhalten und Einstellungen in der Vorlage.

Sie können in Amazon Connect die folgenden Arten von Nachrichtenvorlagen erstellen:
+ **E-Mail-Vorlagen** für E-Mail-Nachrichten, die Sie als Antwort auf Kunden-E-Mails an Ihren gesendeten Kontakt senden oder die Kundendienstmitarbeiter für häufig gestellte Fragen verwenden können. E-Mail-Vorlagen können die Struktur der E-Mail für den Kundendienstmitarbeiter definieren, z. B. für eine Signatur, oder sie können als eine vollständige Antwort dienen.
+ **SMS-Vorlagen** für SMS-Textnachrichten, die Sie von Kampagnen oder an eine begrenzte Zielgruppe als Direkt- oder Testnachrichten senden.
+ **WhatsApp Vorlagen** für WhatsApp Nachrichten, die Sie im Rahmen von Kampagnen oder als Direkt- oder Testnachrichten an eine begrenzte Zielgruppe senden.

Sie können Vorlagen mit den folgenden Features erstellen: 
+ Rich-Text-Formatierung (fett, kursiv, unterstrichen, durchgestrichen, hochgestellt, tiefgestellt), Rich-Text-Schriftstil (Farbe, Markierung, Größe, Überschrift, Schriftartfamilie, Blockzitat, Codeblock), Sonderzeichen, Emojis, Listen (Aufzählung, nummerierte Liste), Ausrichtung und Einrückungen, Tabellen, Hyperlinks und eingebettete Bilder
+ Attribute in der E-Mail-Vorlage zur Definition personalisierter Details wie Kundenname, Kunden-E-Mail, Kundenkontonummer, Kundentelefonnummer, Kundenadresse und Name des Kundendienstmitarbeiters
+ Dateianlagen bis zu 1 MB. Eine Liste der unterstützten Anlagentypen finden Sie unter [Amazon Connect Spezifikationen der Funktionen](feature-limits.md).

Wenn Sie eine E-Mail-Nachricht erstellen, die auf einer Vorlage basiert, füllt Amazon Connect die Nachricht mit dem Inhalt und den Einstellungen auf, die Sie in der Vorlage definiert haben. 

## So erstellen Sie Nachrichtenvorlagen
<a name="howto-message-templates"></a>

1. Melden Sie sich auf der Amazon Connect Admin-Website mit einem Administratorkonto oder einem Benutzerkonto an, dessen Sicherheitsprofil **Content Management** — **Nachrichtenvorlagen** — **Erstellen** enthält. 

1. Wählen Sie im Navigationsbereich **Nachrichtenvorlagen** aus.

1. Wenn Sie zum ersten Mal Vorlagen erstellen, werden Sie aufgefordert, eine Wissensdatenbank anzulegen, in der die Vorlagen gespeichert werden.

   Ihr Unternehmen kann über mehrere Wissensdatenbanken verfügen, von denen jedoch nur eine mit Vorlagen verknüpft werden kann. 

1. Wählen Sie **Create template (Vorlage erstellen)** aus.

1. Wählen Sie unter **Kanal** einen Kanal aus.

1. Geben Sie unter **Name** einen Namen für die Vorlage ein. Der Name muss mit einem Buchstaben oder einer Zahl beginnen. Er darf bis zu 128 Zeichen lang sein. 

1. Geben Sie unter **Beschreibung – *optional*** eine kurze Beschreibung der Vorlage ein. Die Beschreibung kann bis zu 255 Zeichen enthalten.

1. Geben Sie unter **Weiterleitungsprofile – *optional*** die Weiterleitungsprofile für Kundendienstmitarbeiter ein, damit sie diese Vorlage im Kundendienstmitarbeiter-Workspace verwenden können.

1. Je nachdem, ob Sie eine **E-Mail**, eine **SMS** oder eine **WhatsApp**Vorlage erstellen, gehen Sie wie folgt vor:

   Für E-Mail-Vorlagen:

   1. Verwenden Sie unter **Email details (E-Mail-Details)** die folgenden Optionen, um den Inhalt für Nachrichten anzugeben, die die Vorlage verwenden:
      + Geben Sie **Subject (Betreff)** den Text ein, der in der Betreffzeile der Nachricht angezeigt werden soll.
      + Geben Sie unter **Text** den Inhalt ein, der im Textteil der Nachricht angezeigt werden soll.
        + **Editor**: Verwenden Sie den Rich-Text-Editor, um den Inhalt einzugeben. Verwenden Sie die Formatsymbolleiste, um Formatierungen anzuwenden und der Nachricht Links und andere Inhalte hinzuzufügen. Um Anlagen hinzuzufügen, muss Ihr IT-Administrator die Anlagenfunktion für diese Option aktivieren.
        + **Code**: Sie können HTML-Inhalte manuell eingeben, einschließlich Formatierungen, Links und anderen Features, die Sie in die Nachricht aufnehmen möchten.

        Sie können auch mithilfe von Attributen personalisierte Inhalte in den Betreff und den Textkörper der Vorlage einfügen. Fügen Sie hierzu Nachrichtenvariablen hinzu, die auf bestimmte Attribute verweisen, die von Ihnen oder Amazon Connect erstellt wurden, z. B. ein Attribut zum Speichern des Vornamens eines Benutzers. Mithilfe von Nachrichtenvariablen können Sie für die einzelnen Empfänger einer Nachricht, die die Vorlage verwendet, unterschiedliche Inhalte anzeigen. 

        Um eine Nachrichtenvariable zu verwenden, wählen Sie den Namen eines vorhandenen Attributs aus der **Attributsuche** aus. Amazon Connect fügt dieses in Ihre Nachricht ein. Sie können es kopieren und an der gewünschten Stelle einfügen. Weitere Informationen finden Sie unter [Hinzufügen von personalisierten Inhalten zu Nachrichtenvorlagen](personalize-templates.md).  
![\[Der Attributsucher auf der Seite „Nachrichtenvorlagen“.\]](http://docs.aws.amazon.com/de_de/connect/latest/adminguide/images/message-template-attribute-finder.png)

   1. Sie können unter **Header – *optional*** zwei statische Header zur E-Mail-Nachricht hinzufügen. Um beispielsweise einer Werbe-E-Mail einen Link hinzuzufügen, mit dem Sie das Abonnement mit nur einem Klick abbestellen können, geben Sie die folgenden zwei Header ein:
      + **List-Unsubscribe**: Dieser Header ist auf den Abbestelllink Ihres Unternehmens festgelegt. Der Link muss HTTP-POST-Anforderungen unterstützen, um die Abbestellanforderung des Empfängers verarbeiten zu können.
      + **List-Unsubscribe-Post**: Ist auf `List-Unsubscribe=One-Click` festgelegt.

      Es hat sich bewährt, einen Link zum Abbestellen in Ihre E-Mail aufzunehmen. In einigen Ländern ist dies sogar gesetzlich vorgeschrieben. Wenn Ihre Vorlage einen Link mit diesem Attribut enthält, muss Ihr System in der Lage sein, Abmeldeanforderungen zu verarbeiten.

   1. Wenn Sie die Eingabe von Inhalten und Einstellungen für die Vorlage abgeschlossen haben, wählen Sie **Speichern** aus.

   1. Bevor Sie die Vorlage Benutzern zur Verfügung stellen, empfehlen wir Ihnen, eine Test-E-Mail-Nachricht zu senden, um sich zu vergewissern, dass die Vorlage wie vorgesehen funktioniert.

   1. Wenn Sie bereit sind, die Vorlage in Abläufen und Kampagnen sowie für Kundendienstmitarbeiter, die den Kundendienstmitarbeiter-Workspace verwenden, zur Verfügung zu stellen, führen Sie die Schritte aus, um sie zu [aktivieren](#create-message-templates1). 

**Für SMS-Vorlagen:**

1. Geben Sie im **Text** unter **SMS-Details** die Nachricht ein. Verwenden Sie die obigen Anleitungen, um die Nachricht zu personalisieren, indem Sie nach Bedarf Attribute hinzufügen.

1. Wenn Sie mit der Eingabe von Inhalten und Einstellungen für die Vorlage fertig sind, wählen Sie **Erstellen** aus.

1. Bevor Sie die Vorlage Benutzern zur Verfügung stellen, empfehlen wir Ihnen, eine Test-Nachricht zu senden, um sich zu vergewissern, dass die Vorlage wie vorgesehen funktioniert.

1. Wenn Sie bereit sind, die SMS-Vorlage im Block **Nachricht senden** oder die E-Mail-Vorlage für E-Mail-Kampagnen zur Verfügung zu stellen, führen Sie die Schritte aus, um sie zu [aktivieren](#create-message-templates1). 

**Für WhatsApp Vorlagen:**

1. Wählen Sie unter **WhatsApp Details** die Vorlage aus der Dropdownliste aus. Bitte beachten Sie, dass nur von Meta zugelassene Vorlagen zum Erstellen von Nachrichtenvorlagen verwendet werden können. Stellen Sie sicher, dass Ihre importierten Vorlagen in Meta Business WhatsApp Manager genehmigt wurden, bevor Sie fortfahren.

1. Definieren Sie einen Namen für die Vorlage und fügen Sie bei Bedarf Beschreibungen hinzu.

1. Sobald Sie die von Meta Approved Template ausgewählt haben, werden die Details im Format **Body** und **Template Metadata (JSON)** angezeigt.

1. **Attributzuweisung:** Um die personalisierte Nachrichtenzustellung in Amazon Connect zu ermöglichen, müssen Sie Ihre importierten Metaattribute dem benutzerdefinierten Text zuordnen. Indem Sie Ihre vorhandenen Connect-Attribute mit Klartext kombinieren, können Sie maßgeschneiderte Nachrichten für Ihre Kunden erstellen. Beispielsweise könnten Sie Hello \$1\$11\$1\$1 im **Text** sehen, und Sie können `Attributes.Customer.FirstName` aus der Connect-Attributliste auswählen, ob ein Treffer gefunden werden soll.

1. Es gibt eine Vielzahl von Schaltflächentypen, die zu einer Inhaltsvorlage hinzugefügt werden können. Wenn Ihre gewählte Vorlage Schaltflächen enthält, z. B. eine Website-URL, die Attribute enthält, können Sie entweder Connect-Attribute für die Zuordnung auswählen oder statischen Text eingeben.

1. Wenn Sie die Zuordnung der Attribute abgeschlossen haben, wählen Sie **Speichern**.

1. Bevor Sie die Vorlage Benutzern zur Verfügung stellen, empfehlen wir Ihnen, eine Test-Nachricht zu senden, um sich zu vergewissern, dass die Vorlage wie vorgesehen funktioniert.

# Aktivieren einer Nachrichtenvorlage
<a name="activate-message-templates"></a>

Damit Sie die Entwicklung und Verwendung einzelner Nachrichtenvorlagen verwalten können, unterstützt Amazon Connect die Versionsverwaltung für alle Arten von Nachrichtenvorlagen. Die Versionsverwaltung bietet Ihnen die Möglichkeit, einen Verlauf der Änderungen an einer Vorlage zu erstellen. Jede Version ist ein Snapshot einer Vorlage zu einem bestimmten Zeitpunkt. Mit der Versionierung können Sie auch den Inhalt und die Einstellungen von Nachrichten steuern, die eine Vorlage verwenden.

Sie können nur Nachrichtenvorlagen aktivieren, die **als neue Version gespeichert** wurden. Dies soll verhindern, dass versehentlich Vorlagen aktiviert werden, bei denen es sich um Entwürfe handelt.

Wenn eine Vorlagenversion **aktiviert** wird, kann sie dem [Flow-Block in Amazon Connect: Nachricht senden](send-message.md) hinzugefügt und den Kundendienstmitarbeitern im Kundendienstmitarbeiter-Workspace zur Verfügung gestellt werden.

**So aktivieren Sie eine Messaging-Vorlage**

Melden Sie sich auf der Amazon Connect Admin-Website mit einem Administratorkonto oder einem Benutzerkonto an, dessen Sicherheitsprofil **Content Management** — **Nachrichtenvorlagen** — **Erstellen** enthält. 

1. Wählen Sie im linken Navigationsmenü die Option **Nachrichtenvorlagen** aus.

1. Speichern Sie die Vorlage auf der Seite **Nachrichtenvorlagen** mit der Option **Als neue Version speichern**.

1. Öffnen Sie auf der Seite **Nachrichtenvorlagen** erneut die Vorlage, die Sie soeben gespeichert haben.

1. Wählen Sie im Dropdown-Menü die Version der zu aktivierenden Vorlage aus.  
![\[Die Versionsnummer einer Vorlage.\]](http://docs.aws.amazon.com/de_de/connect/latest/adminguide/images/message-template-version.png)

1. Wählen Sie **Aktivieren**.  
![\[Die Schaltfläche „Aktivieren“ auf der Seite „Nachrichtenvorlage“.\]](http://docs.aws.amazon.com/de_de/connect/latest/adminguide/images/message-template-version-activate.png)

# Informationen zur Versionsverwaltung von Nachrichtenvorlagen
<a name="about-version-message-templates"></a>

Jedes Mal, wenn Sie eine Vorlage ändern, können Sie angeben, ob Sie die Änderungen als neuen Entwurf der Vorlage oder als Aktualisierung des neuesten, vorhandenen Entwurfs der Vorlage speichern möchten. Während Sie eine Vorlage entwerfen, entwickeln und verfeinern, dient jede dieser Versionen als Snapshot, mit dem Sie den Fortschritt und den Status der Vorlage nachverfolgen können. Das heißt, Sie können die Versionierung verwenden, um eine Vorlage zu speichern, nachzuverfolgen und zu verwalten, wenn sie sich im Laufe der Zeit ändert. Sie können:
+ Verfolgen des Verlaufs einer Vorlage: Für jede Vorlage wird in Amazon Connect eine Liste mit den Versionen der Vorlage angezeigt. In dieser Liste werden die Namen der jeweiligen Versionen angezeigt. Die Liste wird in absteigender chronologischer Reihenfolge sortiert, wobei die neueste Version zuerst aufgeführt ist.
+ Anzeigen und Vergleichen von Versionen einer Vorlage: Mithilfe der Versionsliste können Sie frühere Versionen einer Vorlage durchsuchen. Wenn Sie eine Version aus der Liste auswählen, werden in Amazon Connect die Inhalte und Einstellungen angezeigt, die in dieser Version gespeichert sind.
+ Wiederherstellen einer früheren Version einer Vorlage: Wenn Probleme in der neuesten Version einer Vorlage auftreten, können Sie eine frühere Version wiederherstellen, die die Probleme nicht enthält. Anschließend können Sie diese vorherige Version als neue Version der Vorlage speichern. Die neue Version wird dann die neueste Version der Vorlage.

Sie können mit der Versionierung auch steuern, welche Version einer Vorlage in Nachrichten verwendet werden kann. Dazu legen Sie eine bestimmte Version als aktive Version einer Vorlage fest. Die aktive Version ist abhängig vom Workflow Ihrer Organisation zum Entwickeln und Verwalten von Vorlagen in der Regel die Version, die zuletzt überprüft und für die Verwendung in Nachrichten genehmigt wurde.

Wenn Sie eine Version als aktive Version festlegen, aktivieren Sie diese Version für die Verwendung in Nachrichten. Wenn sich eine Vorlage im Laufe der Zeit ändert, können Sie eine andere Version als aktive Version festlegen. Es ist möglich, diese Bezeichnung mehrmals zu ändern.

# Hinzufügen von personalisierten Inhalten zu Nachrichtenvorlagen
<a name="personalize-templates"></a>

Fügen Sie der Nachrichtenvorlage *Nachrichtenvariablen* hinzu, um dynamische, personalisierte Inhalte in Nachrichten bereitzustellen, die eine Vorlage verwenden. Eine *Nachrichtenvariable* ist ein Platzhalter, der sich auf ein bestimmtes Attribut bezieht, das Sie oder Amazon Connect zum Speichern von Informationen über Ihre Benutzer erstellt haben. Jedes Attribut entspricht typischerweise einem Merkmal eines Benutzers, z. B. dem Vornamen eines Benutzers oder dem Ort, in dem er wohnt. Durch Hinzufügen von Nachrichtenvariablen zu Vorlagen können Sie diese Attribute verwenden, um jedem Empfänger einer Nachricht, für die eine Vorlage verwendet wird, benutzerdefinierte Inhalte bereitzustellen.

Wenn eine Vorlage Nachrichtenvariablen enthält, wird in Amazon Connect die jeweilige Variable durch den aktuellen, entsprechenden Wert des Attributs für den jeweiligen Empfänger ersetzt. Dies geschieht jedes Mal, wenn es eine Nachricht sendet, die die Vorlage verwendet. Dies bedeutet, dass Sie personalisierte Inhalte an jeden Empfänger senden können, ohne mehrere benutzerdefinierte Versionen einer Nachrichten- oder Nachrichtenvorlage zu erstellen. Sie können auch sicher sein, dass die Nachricht die neuesten Informationen enthält, die Sie für einen Empfänger haben.

Wenn Ihr Projekt beispielsweise eine Fitnessanwendung für Läufer ist und Attribute für den Vornamen, die bevorzugte Aktivität und den persönlichen Rekord jedes Benutzers enthält, können Sie die folgenden Text- und Nachrichtenvariablen in einer Vorlage verwenden:

`Hi {{Attributes.Customer.FirstName}}, attached is information about the insurance plans we discussed.`

Wenn Sie eine Nachricht senden, die die Vorlage verwendet, werden in Amazon Connect die Variablen durch den aktuellen Wert jedes Attributs für den jeweiligen Empfänger ersetzt. In den nachstehenden Beispielen wird dies veranschaulicht.

**Beispiel 1**  
`Hi Sofia, attached is information about the insurance plans we discussed.`

**Beispiel 2**  
`Hi Alejandro, attached is information about the insurance plans we discussed.`

## Hinzufügen von Nachrichtenvariablen
<a name="message-templates-add-variables"></a>

Sie können Nachrichtenattribute zu einer neuen Vorlage, die Sie erstellen, oder zu einer vorhandenen Vorlage hinzufügen. Wenn Sie einer vorhandenen Vorlage Variablen hinzufügen, wendet Amazon Connect die Änderungen nicht unbedingt auf die Nachrichten an, die die Vorlage verwenden und noch nicht gesendet wurden. Dies hängt von der Version der Vorlage ab, der Sie Variablen hinzufügen, und von der Konfiguration der Nachrichten, die die Vorlage verwenden. 

**So fügen Sie einer Nachrichtenvorlage eine Nachrichtenvariable hinzu:**

1. Wählen Sie im Navigationsbereich **Nachrichtenvorlagen** aus.

1. Führen Sie auf der Seite **Message templates (Nachrichtenvorlagen)** eine der folgenden Aktionen aus: 
   + Um eine neue Vorlage zu erstellen und ihr eine Nachrichtenvariable hinzuzufügen, wählen Sie **Create template (Vorlage erstellen)** aus. Geben Sie dann auf der Vorlagenseite einen Namen für die Vorlage und optional eine Beschreibung der Vorlage ein.
   + Um einer vorhandenen Vorlage eine Nachrichtenvariable hinzuzufügen, wählen Sie die Vorlage aus, der Sie eine Variable hinzufügen möchten. Wählen Sie dann auf der Vorlagenseite **Edit (Bearbeiten)** aus. Wählen Sie unter **Template details (Vorlagendetails)** die Version der Vorlage aus, die Sie als Ausgangspunkt verwenden möchten. Wenn Sie die neueste Version auswählen, können Sie die Änderungen direkt in dieser Version der Vorlage speichern. Andernfalls können Sie Ihre Änderungen als neue Version der Vorlage speichern.

1. Legen Sie im Abschnitt „Message details (Nachrichtendetails)“ fest, wo Sie eine Nachrichtenvariable hinzufügen möchten. Bei E-Mail-Vorlagen können Sie dem Betreff oder dem Text der Nachricht Variablen hinzufügen. Bei SMS-Vorlagen können Sie dem Text Variablen hinzufügen. 

1. Platzieren Sie den Cursor an der Stelle, an der sich das Attribut in der Nachricht befinden soll. Klicken oder tippen Sie auf **Attributsucher** und scrollen Sie dann zum Attributtyp, für den Sie eine Nachrichtenvariable hinzufügen möchten.   
![\[Der Attributsucher auf der Seite „Nachrichtenvorlagen“.\]](http://docs.aws.amazon.com/de_de/connect/latest/adminguide/images/message-template-attribute-finder.png)

   Sie können unter den folgenden Attributtypen auswählen:
   + **Systemattribute**:
     + **CustomerEndpointAddress**: Die E-Mail-Adresse des Kunden, der den Kontakt initiiert hat.
     + **SystemEmailAddress**: Die E-Mail-Adresse, an die der Kunde die E-Mail gesendet hat.
     + **Name**: Der Anzeigename in der E-Mail, die der Kunde an Ihren Contact Center gesendet hat. 
   + **Kundendienstmitarbeiter-Attribute**:
     + **FirstName**
     + **LastName**
   + **Kundenprofilattribute**. Eine vollständige Liste und Beschreibungen finden Sie unter [Customer-Profiles-Attribute](connect-attrib-list.md#customer-profiles-attributes).
     + **Empfehlungsattribute**: Wenn Sie Predictive Insights mit ausgehenden Kampagnen verwenden, können Sie personalisierte Produktempfehlungen in Ihre Nachrichtenvorlagen aufnehmen. Diese Attribute sind verfügbar, wenn Sie Empfehlungen in einer ereignisgesteuerten Kampagne konfigurieren.

       Auf jede Empfehlung wird über einen Index zugegriffen, z. B. `{{Attributes.Customer.Recommendations.[0].CatalogItem.Name}}` für die erste Empfehlung, `{{Attributes.Customer.Recommendations.[1].CatalogItem.Name}}` für die zweite usw.  
![\[E-Mail-Vorlageneditor, der Empfehlungsattribute im Attributfinder und personalisierte Produktempfehlungen im Nachrichtentext anzeigt.\]](http://docs.aws.amazon.com/de_de/connect/latest/adminguide/images/RecommendationAttributesInTemplate.png)

       Weitere Informationen zur Konfiguration von Empfehlungen in Kampagnen finden Sie unter[Erstellen einer ausgehenden Kampagne mit Ereignisauslösern](how-to-create-campaigns-using-event-triggers.md).

1. Wenn Sie im Attributsucher auf ein Attribut klicken, wird es automatisch in Ihrer Nachricht platziert. Sie können das Attribut kopieren und an einer anderen Stelle einfügen.

   Nachdem Sie das Attribut eingefügt haben, wird es in Amazon Connect in je zwei geschweiften Klammern eingeschlossen angezeigt, zum Beispiel `{{Attributes.Agent.FirstName}}`. In der folgenden Abbildung ist eine E-Mail-Nachricht mit drei Attributen dargestellt: dem Vor- und Nachnamen des Kunden und dem Vornamen des Kundendienstmitarbeiters.  
![\[Eine E-Mail-Nachricht mit Nachrichtenattributen.\]](http://docs.aws.amazon.com/de_de/connect/latest/adminguide/images/message-template-email-attributes.png)

1. Führen Sie nach Abschluss einen der folgenden Schritte aus:
   + Wenn Sie einer neuen Vorlage Nachrichtenvariablen hinzugefügt haben, wählen Sie **Speichern** aus.
   + Wenn Sie einer vorhandenen Vorlage Nachrichtenvariablen hinzugefügt haben und Ihre Änderungen als neue Version der Vorlage speichern möchten, wählen Sie **Save as new version (Als neue Version speichern)** aus.
   + Wenn Sie einer vorhandenen Vorlage Nachrichtenvariablen hinzugefügt haben und Ihre Änderungen als Aktualisierung des neuesten Entwurfs der Vorlage speichern möchten, wählen Sie **Speichern** aus. Wenn Sie den Entwurf aktualisieren und anhand des Entwurfs eine neue Version erstellen möchten, wählen Sie **Als neue Version speichern** aus.

# Verwenden von Helferobjekten für Nachrichtenvorlagen
<a name="message-template-helpers"></a>

Mit Amazon-Connect-Nachrichtenvorlagen können Kunden wiederverwendbare Nachrichtenvorlagen erstellen, die auf der Sprache „Handlebars.js“ basieren. Helferobjekte bietet eine Vielzahl von Features, z. B. die Formatierung eines Preises in der Währung einer bestimmten Region oder das Hinzufügen eines Standorts, der auf einer Zeitzone basiert. Ein Helferobjekt kann eine bestimmte Zeichenfolge oder Ganzzahl für den Wert oder eine bestimmte Amazon-Connect-Nachrichtenvariable verwenden.

Dies sind die Kategorien von Helferobjekten, die in den folgenden Abschnitten beschrieben werden:

## Standard-Helferobjekte
<a name="defaulthelpers"></a>

In diesem Abschnitt werden die **integrierten** Helferobjekte beschrieben, die von Handlebars bereitgestellt werden. 

**Wichtig**  
Das von Handlebars bereitgestellte integrierte Helferobjekt `with` wird nicht unterstützt. Alle anderen Handlebars-Helferobjekte werden jedoch vollständig unterstützt. Eine vollständige Liste finden Sie unter [Built-in Helpers](https://handlebarsjs.com/guide/builtin-helpers.html) auf [handlebarsjs.com](https://handlebarsjs.com). 

 Dies sind die integrierten Helferobjekte:
+ `each`: Iteriert eine Liste.
**Anmerkung**  
Die maximale Listengröße beträgt 15 Elemente.
+ `if`: Wertet eine Aussage aus.

*each*  
Iteriert eine Liste. Dieses Helferobjekt verwendet nur eine Blockanweisung. Sie können optional:   
+ `@index` in die Anforderung übergeben, um auf den aktuellen Loop-Index zu verweisen.
+ Verwenden Sie das `this`-Helferobjekt, um auf das aktuelle Element zu verweisen, das gerade iteriert wird.
+ Gibt die Antwort des Helferobjekts mithilfe des `<li>`-Tags in einer Liste zurück.
**Usage**  
`{{#each value}}`  
Der Wert an der Position `{{@index}}` ist `{{this}}`.  
`{{else}}`  
Zustand ist „false“.  
`{{/each}}`  
`each` muss ein Pfundzeichen (`#`) vorangestellt werden und muss mit einem schließenden `{{/each}}` in der Blockanweisung enden.  
**Beispiel**  
In diesem Beispiel wird `each` verwendet, um eine Liste der Lieblingsfarben eines Benutzers zurückzugeben. Für ein `false` wird eine `else`-Anweisung zurückgegeben. Wenn die Anfrage wie folgt lautet:  
`{{#each User.UserAttributes.FavoriteColors}}`  
`<li>{{this}}</li>`  
`{{else}}`  
*You have no favorite colors.*  
Folgendes wird zurückgegeben: `{{/each}}`  
+ *red*
+ *blue*
+ *yellow*
für eine „true“-Aussage lautet.

*if*  
Prüft, ob etwas wahr ist, und gibt auf der Grundlage der Bewertung eine Antwort zurück.   
**Usage**  
`{{#if value}}`  
Der Wert ist nicht undefiniert  
`{{else}}`  
Der Wert ist undefiniert  
`{{/if}}`  
`if` muss ein Pfundzeichen (`#`) vorangestellt werden und muss mit einem schließenden `{{/if}}` in der Blockanweisung enden.  
**Beispiel**  
In diesem Beispiel wird das `if`-Helferobjekt verwendet, um auszuwerten, ob es der Vorname eines Benutzers ist. Wenn der Name gefunden wird, wird eine Begrüßung zurückgegeben, die den Vornamen des Benutzers in der Antwort enthält. Andernfalls gibt die `else`-Anweisung eine alternative Begrüßung zurück.  
`{{#if User.UserAttributes.FirstName.[0]}}`  
`Hello {{User.UserAttributes.FirstName.[0]}},`  
`{{else}}`  
*Hello,*  
`{{/if}}`  
gibt zurück*Hello, Jane*, ob der `if` Helper wahr ist.

## Bedingte Helferobjekte
<a name="conditionhelpers"></a>

In diesem Abschnitt werden die **bedingten** Helferobjekte beschrieben. 

Bedingte Helferobjekte können entweder in einer einzelnen Zeile oder in einer Blockanweisung verwendet werden. Sie können die Antwort unabhängig davon anpassen, welche Hilfsmethode Sie verwenden. Sie können zusätzliche bedingte Helferobjekte sowohl in einzeiligen als auch in Blockanweisungen übergeben. Die folgenden bedingten Helferobjekte zeigen die Verwendung zuerst für eine einzelne Zeile und dann für eine Blockanweisung mit einer optionalen `else`-Klausel. Dies sind die bedingten Helferobjekte:
+ `and`: Vergleicht, ob alle übergebenen Elemente gleich sind.
+ `eq`: Prüft, ob zwei Elemente gleich sind.
+ `gt`: Prüft, ob ein Element größer als ein anderes ist.
+ `gte`: Prüft, ob ein Element größer als oder gleich ein anderes ist.
+ `if`: Prüft, ob etwas wahr ist.
+ `lt`: Prüft, ob ein Element kleiner als ein anderes ist.
+ `lte`: Prüft, ob ein Element kleiner als oder gleich ein anderes ist.
+ `neq`: Prüft, ob zwei Elemente nicht gleich sind.
+ `not`: Kehrt die Antwort einer booleschen Operation um.
+ `or`: Vergleicht, ob eines der Elemente im Argument gleich ist.

*und*  
Vergleicht, ob *alle* in einem Argument übergebenen Elemente gleich sind, und gibt dann die Antwort auf der Grundlage des Ergebnisses zurück. Dieses Helferobjekt kann für nichtboolesche Werte verwendet werden. Sie müssen mindestens zwei Elemente für die Bedingung übergeben.  
**Usage**  
+ `{{and valuea valueb valuec valued yes='y' no='n'}}`

  Sie können *y* und *n* je nach Bedingung durch andere Werte ersetzen*no*, z. B. *yes* und, oder durch eine beliebige andere Zeichenfolge, die Sie zurückgeben möchten.
+ `{{#and valuea valueb}}`

  Die Bedingung ist „true“.

  `{{else}}`

  Die Bedingung ist „false“.

  `{{/and}}`

  `and` muss ein Pfundzeichen (`#`) vorangestellt werden und muss mit einem schließenden `{{/and}}` in der Blockanweisung enden.
**Beispiel**  
In diesem Beispiel wird `eq` innerhalb der `and`-Block-Anweisung verwendet, um festzustellen, ob beide für die Attribute `Location.City ` und `Location.Country` übergebenen Zeichenfolgen wahr sind. Wenn beide Bedingungen gleich sind, wird eine „true“-Anweisung zurückgegeben. Wenn eines dieser Attribute falsch ist, wird eine `else`-Aussage zurückgegeben.  
`{{#and (eq Location.City "Los Angeles") (eq Location.Country "US")}}`  
*You live in Los Angeles and the US.*  
`{{else}}`  
*You don’t live in Los Angeles and the US.*  
`{{/and}}`

*eq*  
Testet, ob zwei Elemente gleich sind oder ob der Wert eines Elements einer übergebenen Zeichenfolge entspricht.  
**Usage**  
+ `{{eq valuea valueb yes='y' no='n'}}`

  Sie können *y* und *n* je nach Bedingung durch andere Werte ersetzen*no*, z. B. *yes* und, oder durch eine beliebige andere Zeichenfolge, die Sie zurückgeben möchten.
+ `{{#eq valuea valueb}}`

  Die Bedingung ist „true“.

  `{{else}}`

  Die Bedingung ist „false“.

  `{{/eq}}`

  `eq` muss ein Pfundzeichen (`#`) vorangestellt werden und muss mit einem schließenden `{{/eq}}` in der Blockanweisung enden.
**Beispiel**  
In diesem Beispiel `eq` wird verwendet, um zu bewerten, ob der Wert von `User.UserAttributes.FavoriteColors.[0]` ist*Red*. Wenn die Antwort `true` lautet, wird eine „true“-Aussage zurückgegeben. Wenn die Antwort `false` lautet, wird eine `else`-Aussage zurückgegeben.  
`{{#eq User.UserAttributes.FavoriteColors.[0] "red"}}`  
*Your favorite color is red.*  
`{{else}}`  
*You don't like red.*  
`{{/eq}}`

*gt*  
Prüft, ob der Wert eines Elements größer als ein anderer ist.   
**Usage**  
+ `{{gt valuea valueb yes='y' no='n'}}`

  Je nach Bedingung können Sie *y* und *n* durch andere Werte, z. B. *yes* und*no*, oder eine beliebige andere Zeichenfolge, die Sie zurückgeben möchten, ersetzen.
+ `{{#gt valuea valueb}}`

  Die Bedingung ist „true“.

  `{{else}}`

  Die Bedingung ist „false“.

  `{{/gt}}`

  `gt` muss ein Pfundzeichen (`#`) vorangestellt werden und muss mit einem schließenden `{{/gt}}` in der Blockanweisung enden.
**Beispiel**  
In diesem Beispiel vergleicht der Helper den Wert eines `User.UserAttributes.UserAge.[0]` Attributs mit einer Zeichenfolge*17*, um zu überprüfen, ob das Alter des Benutzers älter als 17 ist. Wenn die Antwort `true` lautet, wird eine „true“-Aussage zurückgegeben. Wenn die Antwort `false` lautet, wird eine `else`-Aussage zurückgegeben.  
`{{#gt User.UserAttributes.UserAge.[0] "17"}}`  
*You are old enough to rent a car.*  
`{{else}}`  
*You are not old enough to rent a car.*  
`{{/gt}}`

*gte*  
Prüft, ob der Wert eines Elements größer als oder gleich ein anderer ist.  
`Usage`  
+ `{{gte valuea valueb yes='y' no='n'}}`

  Sie können *y* und je nach Bedingung *n* durch andere Werte wie *yes* und *no* oder eine beliebige andere Zeichenfolge ersetzen, die Sie zurückgeben möchten.
+ `{{#gte valuea valueb}}`

  Die Bedingung ist „true“.

  `{{else}}`

  Die Bedingung ist „false“.

  `{{/gte}}`

  `get` muss ein Pfundzeichen (`#`) vorangestellt werden und muss mit einem schließenden `{{/gte}}` in der Blockanweisung enden.
**Beispiel**  
In diesem Beispiel vergleicht der Helper das `User.UserAttributes.UserAge.[0]` Attribut mit einer Zeichenfolge*18*, um zu überprüfen, ob das Alter des Benutzers mindestens 18 Jahre beträgt. Wenn die Antwort `true` lautet, wird eine „true“-Aussage zurückgegeben. Wenn die Antwort `false` lautet, wird eine `else`-Aussage zurückgegeben.  
`{{#gte User.UserAttributes.UserAge.[0] "18"}}`  
*You are old enough to rent a car.*  
`{{else}}`  
*You are not old enough to rent a car.*  
`{{/gte}}`

*if*  
Prüft, ob etwas wahr ist, und gibt auf der Grundlage der Bewertung eine Antwort zurück.  
**Usage**  
+ `{{#if value}}`

  Sie können *y* und je nach Bedingung *n* durch andere Werte wie *yes* und *no* oder eine beliebige andere Zeichenfolge ersetzen, die Sie zurückgeben möchten.
+ `{{#if value}}`

  Die Bedingung ist „true“.

  `{{else}}`

  Die Bedingung ist „false“.

  `{{/if}}`

  `if` muss ein Pfundzeichen (`#`) vorangestellt werden und muss mit einem schließenden `{{/if}}` in der Blockanweisung enden.
**Beispiel**  
In diesem Beispiel wird das -Helferobjekt verwendet, um auszuwerten, ob es der Vorname eines Benutzers ist. Wenn der Name gefunden wird, wird eine Begrüßung zurückgegeben, die den Vornamen des Benutzers in der Antwort enthält. Andernfalls gibt die „else“-Anweisung eine alternative Begrüßung zurück.  
`{{#if User.UserAttributes.FirstName.[0]}}`  
*Hello* `{{User.UserAttributes.FirstName.[0]}}`*,*  
`{{else}}`  
*Hello,*  
`{{/if}}`  
gibt zurück*Hello Jane,*, ob der Helper wahr ist.

*lt*  
Prüft, ob der Wert eines Elements kleiner als der Wert eines anderen ist.  
**Usage**  
+ `{{lt valuea valueb yes='y' no='n'}}`

  Sie können *y* und *n* je nach Bedingung durch andere Werte ersetzen*no*, z. B. *yes* und, oder durch eine beliebige andere Zeichenfolge, die Sie zurückgeben möchten.
+ `{{#lt valuea valueb}}`

  Die Bedingung ist „true“.

  `{{else}}`

  Die Bedingung ist „false“.

  `{{/lt}}`

  `lt` muss ein Pfundzeichen (`#`) vorangestellt werden und muss mit einem schließenden `{{/lt}}` in der Blockanweisung enden.
**Beispiel**  
In diesem Beispiel vergleicht der Helper das `User.UserAttributes.UserAge.[0]` Attribut mit einer Zeichenfolge*18*, um zu überprüfen, ob der Benutzer jünger als 18 Jahre ist. Wenn die Antwort `true` lautet, wird eine „true“-Aussage zurückgegeben. Wenn die Antwort `false` lautet, wird eine `else`-Aussage zurückgegeben.  
`{{#lt User.UserAttributes.UserAge.[0] "18"}}`  
*You are not old enough to rent a car.*  
`{{else}}`  
*You are old enough to rent a car.*  
`{{/lt}}`

*lte*  
Prüft, ob der Wert eines Elements kleiner als oder gleich ein anderer ist.  
**Usage**  
+ `{{lte valuea valueb yes='y' no='n'}}`

  Sie können *y* und *n* je nach Bedingung durch andere Werte ersetzen*no*, z. B. *yes* und, oder durch eine beliebige andere Zeichenfolge, die Sie zurückgeben möchten.
+ `{{#lte valuea valueb}}`

  Die Bedingung ist „true“.

  `{{else}}`

  Die Bedingung ist „false“.

  `{{/lte}}`

  `lte` muss ein Pfundzeichen (`#`) vorangestellt werden und muss mit einem schließenden `{{/lte}}` in der Blockanweisung enden.
**Beispiel**  
In dieser Blockanweisung vergleicht der Helper das `User.UserAttributes.UserAge.[0]` Attribut mit einer Zeichenfolge*17*, um zu überprüfen, ob das Alter des Benutzers 17 Jahre oder jünger ist. Wenn die Antwort `true` lautet, wird eine „true“-Aussage zurückgegeben. Wenn die Antwort `false` lautet, wird eine `else`-Aussage zurückgegeben.  
`{{#lte User.UserAttributes.Age.[0] "17"}}`  
*You are not old enough to rent a car.*  
`{{else}}`  
*You are old enough to rent a car.*  
`{{/lte}}`

*neq*  
Prüft, ob zwei Elemente *nicht* gleich sind.  
**Usage**  
+ `{{neq valuea valueb yes='y' no='n'}}`

  Sie können *y* und je nach Bedingung *n* durch andere Werte wie *yes* und *no* oder eine beliebige andere Zeichenfolge ersetzen, die Sie zurückgeben möchten.
+ `{{#neq valuea valueb}}`

  Die Bedingung ist „true“.

  `{{else}}`

  Die Bedingung ist „false“.

  `{{/neq}}`

  `neq` muss ein Pfundzeichen (`#`) vorangestellt werden und muss mit einem schließenden `{{/neq}}` in der Blockanweisung enden.
**Beispiel**  
In dieser Blockanweisung wird das Attribut `User.UserAttributes.FavoriteColors.[0]` anhand der Zeichenfolge `Red` geprüft. Wenn die Antwort `true` lautet, wird eine „true“-Aussage zurückgegeben. Wenn die Antwort `false` lautet, wird eine `else`-Aussage zurückgegeben.  
`{{#neq User.UserAttributes.Favorite.Colors.[0] "red"}}`  
*You do not like red.*  
`{{else}}`  
*You like red.*  
`{{/neq}}`

*not*  
Kehrt die Antwort einer booleschen Operation um, sodass eine `true`-Aussage zurückgegeben wird, wenn `not` ein positiver Vergleich ist. Wenn die Antwort „false“ lautet, wird eine „else“-Aussage zurückgegeben.   
**Usage**  
+ `{{not value yes='y' no='n'}}`

  Sie können *y* und *n* je nach Bedingung durch andere Werte ersetzen*no*, z. B. *yes* und, oder durch eine beliebige andere Zeichenfolge, die Sie zurückgeben möchten.
+ `{{#not value}}`

  Die Bedingung ist „true“.

  `{{else}}`

  Die Bedingung ist „false“.

  `{{/not}}`

  `not` muss ein Pfundzeichen (`#`) vorangestellt werden und muss mit einem schließenden `{{/not}}` in der Blockanweisung enden.
**Beispiel**  
In dieser Blockanweisung wird das `User.UerAttributes.FavoriteColors.[0]` Attribut mithilfe des `eq` Helpers mit einer Zeichenfolge *red* verglichen. Das `not`-Helferobjekt gibt dann das Gegenteil des `eq`-Helferobjekt zurück. Wenn die Antwort eine andere Farbe als zurückgibt*red*, wird `true` eine A-Anweisung zurückgegeben. Wenn die Antwort zurückkehrt*red*, wird eine `else` Aussage zurückgegeben, die auf eine falsche Aussage hinweist.  
`{{#not (eq User.UserAttributes.Favorite.Colors.[0] "red")}}`  
*You do not like red.*  
`{{else}}`  
*You like red.*  
`{{/not}}`  
**Beispiel**  
In diesem Beispiel:   
`{{not (eq User.UserAttributes.FavoriteColors.[0] "red")}}`  
gibt false zurück, wenn `User.UserAttributes.FavoriteColors.[0]` ja*red*.

*oder*  
Vergleicht, ob *beliebige* in einem Argument übergebenen Elemente gleich sind, und gibt dann eine Antwort auf der Grundlage des Ergebnisses zurück. Dieses Helferobjekt kann für nichtboolesche Werte verwendet werden.  
**Usage**  
+ `{{or valuea valueb valuec valued yes='y' no='n'}}`

  Sie können *y* und *n* je nach Bedingung durch andere Werte ersetzen*no*, z. B. *yes* und, oder durch eine beliebige andere Zeichenfolge, die Sie zurückgeben möchten. Sie müssen mindestens zwei Elemente für die Bedingung übergeben.
+ `{{#or valuea valueb}}`

  Die Bedingung ist „true“.

  `{{else}}`

  Die Bedingung ist „false“.

  `{{/or}}`

  `or` muss ein Pfundzeichen (`#`) vorangestellt werden und muss mit einem schließenden `{{/or}}` in der Blockanweisung enden.
**Beispiel**  
In dieser `or`-Blockanweisung werden zwei Zeichenketten für das `Location.City`-Attribut zusätzlich mithilfe des `eq`-Helferobjekts verglichen. Wenn eines dieser Attribute `true` lautet, wird eine „true“-Aussage zurückgegeben. Wenn eine oder mehrere Antworten `false` lauten, wird eine `else`-Aussage zurückgegeben.  
`{{#or (eq Location.City "Los Angeles") (eq Location.City "Seattle")}}`  
*You live on the West Coast of the United States.*  
`{{else}}`  
*You do not live on the West Coast of the United States.*  
`{{/or}}`

## Zeichenfolgen-Helferobjekte
<a name="stringhelpers"></a>

In diesem Abschnitt werden die folgenden **Zeichenfolgen-Helferobjekte** beschrieben:
+ `abbreviate`: Kürzt einen Wert.
+ `capitalize`: Schreibt jedes Wort zwischen Leerzeichen groß.
+ `capitalizeFirst`: Schreibt das erste Zeichen eines Werts groß.
+ `center`: Zentriert einen Wert.
+ `cut`: Schneidet einen Wert aus.
+ `dateFormat`: Legt den Datumsstil fest.
+ `inflect`: Gibt eine Zeichenfolge im Singular oder Plural zurück, die auf der Anzahl basiert.
+ `join`: Verbindet ein Array, einen Iterator oder ein iterierbares Objekt.
+ `ljust`: Richtet einen Wert am linken Rand aus.
+ `lower`: Konvertiert einen Wert in Kleinbuchstaben.
+ `now`: Druckt das aktuelle Datum.
+ `ordinalize`: Ordinalisiert einen numerischen Wert.
+ `replace`: Ersetzt eine Zeichenfolge durch eine andere.
+ `rjust`: Richtet einen Wert am rechten Rand aus.
+ `slugify`: Konvertiert einen Wert in Kleinbuchstaben und entfernt Zeichen, die kein Wort sind, wandelt Leerzeichen in Bindestriche um und entfernt nachfolgende Leerzeichen.
+ `stripTags`: Entfernt [X]HTML-Tags von einem Wert.
+ `substring`: Gibt eine neue Zeichenfolge als Teilzeichenfolge eines übergebenen Werts zurück.
+ `upper`: Konvertiert den übergebenen Wert in Großbuchstaben.
+ `yesno`: Ersetzt wahr, falsch und nein durch Ja, Nein und Vielleicht.

*abbreviate*  
Kürzt einen Wert, wenn dieser die angegebene Zahl überschreitet. Leerzeichen sind in der Längenzählung enthalten. In der Antwort wird eine Ellipse angezeigt, die auf einen gekürzten Wert hinweist. Die Ellipse wird auf den gekürzten Wert in der Antwort angerechnet. Diese Art von Helferobjekt ist nützlich, wenn Sie eine große Tabelle und wenig Platz haben. Durch das Kürzen von Werten in einer Zelle können Sie der Tabelle ein einheitlicheres Aussehen verleihen.  
**Usage**  
 `{{abbreviate value X}}`, *X* ersetzt durch einen numerischen Wert, der die Anzahl der beizubehaltenden Zeichen angibt. Negative Zahlen werden nicht unterstützt.  
**Beispiel**  
In diesem Beispiel wird `abbreviate` verwendet, um `User.UserAttributes.LastName.[0]` auf sechs (6) Zeichen zu kürzen. Die Antwort enthält eine Ellipse, deren Punkte auf die Summe von sechs Zeichen angerechnet werden.  
Folgendes wird zurückgegeben: `{{abbreviate User.UserAttributes.LastName.[0] 6}}`  
*Ale...*if *Alejandro* ist der Wert von`[0]`.

*capitalize*  
Schreibt jedes Wort zwischen Leerzeichen groß.  
**Usage**  
 `{{capitalize value}}`  
**Beispiel**  
In diesem Beispiel wird jedem Wort für den `Attributes.description.[0]`-Eintrag die Großschreibung am Anfang zugewiesen.  
`{{capitalize Attributes.description.[0]}}`  
Wenn `Attributes.description.[0]` zurückgegeben wird   
 *My First Post*, wenn der Wert von `Attributes.description.[0]` ist*my first post*.

*capitalizeFirst*  
Schreibt das erste Zeichen eines Werts groß.  
**Usage**  
`{{capitalizeFirst value}}`  
**Beispiel**  
In diesem Beispiel wird das erste Zeichen des ersten Wortes des `Attributes.description.[0]`-Eintrags groß geschrieben.  
Folgendes wird zurückgegeben: `{{capitalizeFirst Attributes.description.[0]}}`  
 *My first post*, wenn der Wert von `Attributes.description.[0]` ist*my first post*.  
**Beispiel**

*center*  
Zentriert den Wert in einem Feld mit einer bestimmten Breite um die angegebene Zahl. Sie können optional ein Zeichen für die Auffüllung angeben oder das Feld leer lassen. Wenn kein Zeichen angegeben wird, wird ein Leerzeichen verwendet.  
**Usage**  
 `{{center value size=X [pad=" "}}`, *X* ersetzt durch einen numerischen Wert.  
Wenn `pad` leer gelassen wird, werden Leerzeichen als Füllung in der Antwort verwendet. Wenn Sie ein Zeichen angeben, wird dieses Zeichen in jedem Leerzeichen des Auffüllens angezeigt. Negative Zahlen werden nicht unterstützt.  
**Beispiel**  
In diesem Beispiel `Location.City ` wird der Wert von mit einer Größe von zentriert*19*.  
Folgendes wird zurückgegeben: `{{center Location.City size=19}}`   
*"    Los Angeles    "*Wenn `Location.City` es ist*Los Angeles*. Beachten Sie, dass die Anführungszeichen in der Beispielausgabe nur zur Hervorhebung dienen.

*cut*  
Entfernt den angegebenen Wert aus einer Zeichenfolge.   
**Usage**  
 `{{cut value [" "]}}`, ersetzt das Leerzeichen in den Anführungszeichen durch den auszuschneidenden Wert. Wenn kein Parameterwert übergeben wird, wird ein Leerzeichen verwendet.   
**Beispiel**  
In diesem Beispiel wird der Buchstabe *e* aus dem `Location.City` Attribut entfernt.  
Folgendes wird zurückgegeben: `{{cut Location.City "e"}}`  
*Los Angls*wenn `[Location.City` es ist*Los Angeles*.

*dateFormat*  
Legt den Standard-Datumsstil für das Datum in jeder Antwort fest. Eine Liste der Zeitzone finden Sie IDs unter[https://en.wikipedia.org/wiki/List_of_tz_database_time_zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).  
**Usage**  
`{{dateFormat date [inputFormat="format1"] [outputFormat="format2"] [tz=timeZoneId] [locale=localeID]}}`  
Der Parameter `format` muss einer der folgenden sein:  
+ "`full`„: vollständiges Datumsformat. Beispiel: *Tuesday, September 19, 2020*
+ "`long`„: langes Datumsformat. Beispiel: *September 19, 2020*
+ "`medium`„: mittleres Datumsformat. Beispiel: *Sept 19, 2020*
+ "`short`„: kurzes Datumsformat. Beispiel: *9/19/20*
+ "`pattern`„: verwendet ein benutzerdefiniertes Datumsmusterformat. Weitere Informationen zu Datumsmustern finden Sie unter [https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html](https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html).
"`locale`„: verwendet ein Datumsformat, das auf einem bestimmten Gebietsschema basiert. Weitere Informationen zu Gebietsschemata finden Sie unter [https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/LocaleUtils.html#toLocale-java.lang.String-](https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/LocaleUtils.html#toLocale-java.lang.String-).  
Wenn ein Format nicht übergeben wird, wird `medium` standardmäßig verwendet.   
**Beispiel**  
In diesem Beispiel `[0]` lautet der Eintrag für **09/19/2020** und eine Nachricht `User.UserAttributes.StartDate.[0]` wird an einen Benutzer gesendet, wobei das auf der *America/Los\$1Angeles* Zeitzone basierende `full` Datumsformat verwendet wird.  
Folgendes wird zurückgegeben: `We can meet with you any time on ``{{dateFormat User.UserAttributes.StartDate.[0] inputFormat="MM/dd/yyyy" outputFormat="full" tz=America/Los_Angeles}}.`  
*We can meet with you any time on Tuesday, September 19, 2020.*

*inflect*  
Gibt eine Zeichenfolge im Singular oder Plural zurück, die auf dem Zählwert basiert.  
**Usage**  
 `{{inflect count singular plural [includeCount=false]}}`  
+ Geben Sie die Singular- und Pluralform der Zeichenfolge ein, die Sie im Argument übergeben möchten.
+ Wenn `includeCount` auf `false` gesetzt ist, wird in der Antwort keine Anzahl zurückgegeben. Wenn es auf `true` gesetzt, ist der `count` in der Antwort enthalten.
**Beispiel**  
Die folgenden Beispiele zeigen die Beugung beim Kauf von Äpfeln mit und ohne `includeCount`.  
`Thank you for your purchase of {{inflect 3 apple apples includeCount=false}}.` gibt Folgendes zurück:  
*Thank you for your purchase of apples.*  
Wenn `includeCount` auf `true` gesetzt ist, dann lautet die Antwort  
*Thank you for your purchase of 3 apples.*

*join*  
Verbindet ein Array, einen Iterator oder ein iterierbares Objekt. Die Antwort gibt eine Liste zurück, wobei jeder Wert in der Liste durch das Zeichen verkettet wird, das Sie im `join` übergeben Beispielsweise können Sie Werte mit einem Komma (`,`) trennen. Der Wert in diesem Helferobjekt muss eine Liste ohne Attributpositionsindex sein. Dabei könnte es sich zum Beispiel um `Attributes.custom_attribute` handeln.  
**Usage**  
`{{join value " // " [prefix=""] [suffix=""]}}`  
**Beispiel**  
In diesem Beispiel wird eine Liste von Farben zurückgegeben, wobei die Liste durch ein Komma und ein Leerzeichen (`", "`) getrennt ist:  
Folgendes wird zurückgegeben: `{{join Attributes.favorite_colors ", "}}`   
*blue, red, green*wenn `Attributes.favorite_colors` ist die Liste*blue,red,green*.

*ljust*  
Richtet den Wert am linken Rand aus und fügt nach rechts Leerzeichen hinzu, sodass die Länge des Werts der Zahl entspricht. Negative Zahlen werden nicht unterstützt.  
Sie können optional ein Zeichen für die `pad` angeben oder das Feld leer lassen. Wenn Sie den `pad`-Wert leer lassen, ist der Standardwert ein Leerzeichen.  
**Usage**  
`{{ljust value size=X [pad=" "]}}`, wobei *X* die Gesamtlänge des Werts einschließlich Leerraum ist.   
**Beispiel**  
In diesem Beispiel *15 * wird der Wert für die linke Ausrichtung auf Location.City angewendet.  
Folgendes wird zurückgegeben: `{{ljust Location.City size=15}}`  
*"Los Angeles    "*wenn der Wert von ist. `Location.City` *Los Angeles* Beachten Sie, dass die in der Beispielausgabe angezeigten Anführungszeichen nur zur Verdeutlichung dienen.

*lower*  
Konvertiert einen Wert in Kleinbuchstaben.  
**Usage**  
`{{lower value}}`  
**Beispiel**  
In diesem Beispiel wird der Eintrag `[0]` für `User.UserAttributes.LastName.[0]` in Kleinbuchstaben geändert.  
Folgendes wird zurückgegeben: `{{lower User.UserAttributes.LastName.[0]}}`  
*santos*wenn *Santos* ist der Wert von`[0]`.

*now*  
Druckt das aktuelle Datum basierend auf der übergebenen Zeitzonen-ID aus. Eine Liste der Zeitzone finden Sie IDs unter[https://en.wikipedia.org/wiki/List_of_tz_database_time_zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).  
**Usage**  
`{{now ["format"] [tz=timeZoneId] [locale=localeID]}}`  
Der Parameter `format` muss einer der folgenden sein:  
+ "`full`„: vollständiges Datumsformat. Beispiel: *Tuesday, September 19, 2020*
+ "`long`„: langes Datumsformat. Beispiel: *September 19, 2020*
+ "`medium`„: mittleres Datumsformat. Zum Beispiel: 19. Sept. 2020
+ "`short`„: kurzes Datumsformat. Zum Beispiel 19.09.20
+ "`pattern`„: ein Datumsmuster. Weitere Informationen zu Datumsmustern finden Sie unter [https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html](https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html). 
"`locale`„: verwendet ein Datumsformat, das auf einem bestimmten Gebietsschema basiert. Weitere Informationen zu Gebietsschemata finden Sie unter [https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/LocaleUtils.html#toLocale-java.lang.String-](https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/LocaleUtils.html#toLocale-java.lang.String-).  
Wenn ein Format nicht übergeben wird, wird `medium` standardmäßig verwendet.  
**Beispiel**  
In diesem Beispiel wird das aktuelle Datum in Los Angeles mit einem `medium` -Format zurückgegeben.  
Folgendes wird zurückgegeben: `{{now "medium" tz=America/Los_Angeles}}`   
*Sept 19, 2020*.

*ordinalize*  
Ordinalisiert den im Argument übergebenen numerischen Wert. *1*Ist beispielsweise als *1st* und *2* als *2nd* ordinalisiert. Es werden nur numerische Werte unterstützt.  
**Usage**  
`{{ordinalize [number]}} `  
**Beispiel**  
In diesem Beispiel wird der `[0]`-Eintrag von `User.UserAttributes.UserAge` ordinalisiert und zusammen mit einer Meldung zurückgegeben.   
`Congratulations on your {{ordinalize User.UserAttributes.UserAge.[0]}} birthday!`gibt *22* ordinalisiert als zurück. *22nd*  
*Congratulations on your 22nd birthday\$1*

*replace*  
Ersetzt eine Zeichenfolge durch eine andere. Eine Zeichenfolge oder ein numerischer Wert muss ein Literalwert sein. Platzhalterzeichen werden nicht unterstützt.  
**Usage**  
`{{replace stringToReplace replacementValue}}`  
**Beispiel**  
In diesem Beispiel ersetzt ein Unterstrich (\$1) ein Leerzeichen.  
Folgendes wird zurückgegeben: `{{replace Location.City " " "_"}}`  
*Los\$1Angeles*wenn das `Location.City ` ist*Los Angeles*.

*rjust*  
Richtet den Wert am rechten Rand aus und fügt nach links Leerzeichen hinzu, sodass die Länge des Werts der Zahl entspricht. Negative Zahlen werden nicht unterstützt.  
Sie können optional ein Zeichen für die `pad` angeben oder das Feld leer lassen. Wenn Sie den `pad`-Wert leer lassen, ist der Standardwert ein Leerzeichen.  
**Usage**  
`{{rjust value size=X [pad=" "]}}`, wobei *X* die Gesamtlänge des Werts einschließlich Leerraum ist.   
**Beispiel**  
In diesem Beispiel *15* wird dem `Location.City` Attribut der Wert für die rechte Ausrichtung zugewiesen.  
Folgendes wird zurückgegeben: `{{rjust Location.City size=15}}`  
*"    Los Angeles" *. wenn das `Location.City` ist*Los Angeles*. Beachten Sie, dass die in der Ausgabe angezeigten Anführungszeichen nur zur Verdeutlichung dienen.

*slugify*  
Konvertiert den übergebenen Wert in Kleinbuchstaben, entfernt Zeichen, die kein Wort sind (alphanumerisch und Unterstrich), wandelt Leerzeichen in Bindestriche um und entfernt vorstehende oder nachfolgende Leerzeichen.  
**Usage**  
`{{slugify value}}`  
**Beispiel**  
In diesem Beispiel wird „slugify“ für das `Location.City`-Attribut ausgeführt.   
Folgendes wird zurückgegeben: `{{slugify Location.City}}`  
*los-angeles*wenn `Location.City` ist*Los Angeles*.

*stripTags*  
Entfernt [X]HTML-Tags von einem Wert.  
**Usage**  
 `{{stripTags value}}`  
**Beispiel**  
In diesem Beispiel die HTML-Tags für den Benutzer. UserAttributes.interest. [0] wurden entfernt.   
Folgendes wird zurückgegeben: `{{stripTags User.UserAttributes.interests.[0]}}`  
*Art*, wenn es so `User.UserAttributes.interests.[0]` ist`<h1>Art</h1>`.

*substring*  
Gibt eine neue Zeichenfolge als Teilzeichenfolge des übergebenen Werts zurück. Die Länge und Position werden durch die Parameter `startOffset` und `endOffset` bestimmt, bei denen es sich um ganze Zahlen handeln muss. Negative Zahlen werden nicht unterstützt. Wenn ein `endOffset` nicht übergeben wird, verwendet die Teilzeichenfolge den ursprünglichen Endwert der Zeichenfolge.  
**Usage**  
`{{substring value startOffset [endOffset]}}`  
**Beispiel**  
In diesem Beispiel werden ein Offset von 4 und ein endOffset von 9 auf das Location.City-Attribut angewendet.   
`{{substring Location.City 4 9}} `returns  
`Angel`wenn Los Angeles der Wert von `Location.City` ist*Los Angeles*.

*upper*  
Konvertiert den übergebenen Wert in Großbuchstaben.  
**Usage**  
`{{upper value}}`  
**Beispiel**  
In diesem Beispiel wird der `[0] `-Eintrag für das `User.UserAttributes.LastName`-Attribut ausschließlich in Großbuchstaben umgewandelt.  
`{{upper User.UserAttributes.LastName.[0]}}`returns  
*ROE*wenn der `User.UserAttributes.LastName.[0]` Wert ist*Roe*.

*yesno*  
Ersetzt `true`, `false` und `NULL` durch `Yes`, `No` und `Maybe`.  
**Usage**  
`{{yesno value [yes="yes"] [no="no"] maybe=["maybe"]}}`  
**Beispiel**  
In diesem Beispiel gibt das `IsUserSubscribed`-Attribut zurück, ob ein Benutzer eine bestimmte Liste abonniert hat.  
Folgendes wird zurückgegeben: `{{yesno Attributes.IsUserSubscribed}}`   
*yes*wenn `Attributes.IsUserSubscribed` ist*true*.

## Mathematische und Kodierungs-Hilfsobjekte
<a name="mathhelpers"></a>

In diesem Abschnitt werden die **Mathematischen und Kodierungs-Hilfsobjekte** beschrieben.
+ `add`: Gibt die Summe zweier Zahlen zurück.
+ `ceiling`: Rundet eine Ganzzahl auf ihre mathematische Obergrenze.
+ `decode64`: Dekodiert einen base64-kodierten Wert in eine Zeichenfolge.
+ `divide`: Gibt den Quotienten zweier Zahlen zurück.
+ `encode64`: Kodiert eine Zeichenfolge mithilfe von base64.
+ `floor`: Rundet eine Ganzzahl auf ihre mathematische Untergrenze.
+ `md5`— Hasht eine übergebene Zeichenfolge mithilfe des MD5 Algorithmus.
+ `modulo`: Gibt den Rest zweier Zahlen unter Verwendung von Fließkommazahlen zurück.
+ `multiply`: Gibt das Produkt zweier Zahlen zurück.
+ `round`: Rundet eine Dezimalzahl auf die nächste ganze Zahl.
+ `sha256`: Hasht eine übergebene Zeichenfolge mithilfe von SHA-256.
+ `sha512`: Hasht eine übergebene Zeichenfolge mithilfe von SHA-512.
+ `subtract`: Gibt die Differenz zweier Zahlen zurück.
+ `uuid`: Generiert nach dem Zufallsprinzip eine UUID in einem 128-Bit-Format.

*hinzufügen*  
Gibt die Summe zweier Zahlen zusammen mit Fließkommazahlen zurück.  
**Usage**  
`{{add arg1 arg2}}`  
**Beispiel**  
`{{add 5 2.3}} `returns  
*7.3*

*ceiling*  
Rundet eine Ganzzahl auf ihre mathematische Obergrenze. Dabei handelt es sich um die höchste ganze Zahl, die dem übergebenen Wert am nächsten kommt.  
**Usage**  
`{{ceiling value}}`  
**Beispiel**  
Folgendes wird zurückgegeben: `{{ceiling 5.23}}`  
*6*

*decode64*  
Dekodiert einen base64-kodierten Wert in eine Zeichenfolge.  
**Usage**  
`{{decode64 "string"}}`  
**Beispiel**  
Folgendes wird zurückgegeben: `{{decode64 "SGVsbG8gd29ybGQ="}}`  
*Hello World*

*divide*  
Gibt den Quotienten zweier Zahlen zurück, einschließlich Fließkommazahlen.  
**Usage**  
 `{{divide arg1 arg2}}`  
**Beispiel**  
Folgendes wird zurückgegeben: `{{divide 5 2.3}}`  
*2.17391304*

*encode64*  
Kodiert die im Argument übergebene Zeichenfolge mit base64.  
**Usage**  
`{{encode64 "string"}}`  
**Beispiel**  
`{{encode64 "Hello World"}}`  
*SGVsbG8gd29ybGQ=*

*floor*  
Rundet eine Ganzzahl auf ihre mathematische Untergrenze. Dabei handelt es sich um die niedrigste ganze Zahl, die dem übergebenen Wert am nächsten kommt.  
**Usage**  
`{{floor value}}`  
**Beispiel**  
Folgendes wird zurückgegeben: `{{floor 5.23}}`  
*5*

*md5*  
Hasht eine übergebene Zeichenfolge mithilfe des MD5 Algorithmus.  
**Usage**  
`{{md5 "string"}}`  
**Beispiel**  
`{{md5 "Hello World"}}`  
*3e25960a79dbc69b674cd4ec67a72c62*

*Modulo*  
Gibt den Rest zweier Zahlen unter Verwendung von Fließkommazahlen zurück.  
**Usage**  
`{{modulo arg1 arg2}}`  
**Beispiel**  
Folgendes wird zurückgegeben: `{{modulo 7 2}}`  
*1*

*multiply*  
Gibt das Produkt zweier Zahlen zusammen mit Fließkommazahlen zurück.  
**Usage**  
`{{multiply arg1 arg2}}`  
**Beispiel**  
Folgendes wird zurückgegeben: `{{multiply 5 2.3}}`  
*11.5*

*round*  
Rundet eine Dezimalzahl auf die nächste ganze Zahl.  
**Usage**  
`{{round value}}`  
**Beispiel**  
`You spent an average of {{round 19.21}} minutes on our website each day.` gibt Folgendes zurück:  
*You spent an average of 19 minutes on our website each day.*

*sha256*  
Hasht eine übergebene Zeichenfolge mit kryptografischer SHA-256-Sicherheit.  
**Usage**  
`{{sha256 "string"}}`  
**Beispiel**  
Folgendes wird zurückgegeben: `{{sha256 "Hello World"}}`  
*a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e*

*sha512*  
Hasht eine übergebene Zeichenfolge mit kryptografischer SHA-512-Sicherheit.  
**Usage**  
`{{sha512 "string"}}`  
**Beispiel**  
Folgendes wird zurückgegeben: `{{sha512 "Hello World"}}`  
*2c74fd17edafd80e8447b0d46741ee243b7eb74dd2149a0ab1b9246fb30382f27e853d8585719e0e67cbda0daa8f51671064615d645ae27acb15bfb1447f459b*

*subtract*  
Gibt die Differenz zweier Zahlen zusammen mit Fließkommazahlen zurück.  
**Usage**  
`{{subtract arg1 arg2}}`  
**Beispiel**  
Folgendes wird zurückgegeben: `{{subtract 5 2.3}} `  
*2.7*

*uuid*  
Generiert nach dem Zufallsprinzip eine UUID in einem 128-Bit-Format. Im Argument muss kein Wert übergeben werden.  
**Usage**  
`{{uuid}}`  
**Beispiel**  
Folgendes wird zurückgegeben: `{{uuid}} `  
**95f36680-152c-4052-99ec-cc3cdf7ca594**

## Inline-Partials
<a name="inlinepartials"></a>

Inline-Partials (eingebettete Teile) sind zwar technisch gesehen keine Helferobjekte, aber sie sind eine Methode von Handlebars, um Vorlagen, die wiederholte Zeichenfolgen enthalten, zu optimieren und so eine einfachere Wiederverwendung zu ermöglichen. Weitere Informationen finden Sie unter [Inline partials](https://handlebarsjs.com/guide/partials.html#inline-partials) auf [handlebarsjs.com](https://handlebarsjs.com). 

**Usage**

`{{#* inline "inlineName"}}Content to reuse{{/inline}}`

Um den Inhalt des Inline-Partial an anderer Stelle zu referenzieren, verwenden Sie:

` {{> inlineName}}`

**Beispiel**

Im folgenden Beispiel wird ein Inline-Partial erstellt, der den Vornamen und, falls verfügbar, den Nachnamen des Empfängers enthält. Fügen Sie dazu am Anfang Ihrer Vorlage den folgenden Code hinzu:

`{{#* inline "fullName"}}`

`{{User.UserAttributes.FirstName.[0]}} {{#if User.UserAttributes.LastName.[0]}} {{User.UserAttributes.LastName.[0]}} {{/if}}`

`{{/inline}}`

Nachdem Sie den `fullName`-Partial erstellt haben, können Sie ihn an jeder Stelle in Ihrer Vorlage verwenden, indem Sie dem Namen des Partials ein Größerzeichen `>` gefolgt von einem Leerzeichen voranstellen, wie im folgenden Beispiel: `{{> fullName}}`.

*` Hello {{> fullName}}`*

gibt den Vor- und Nachnamen des Benutzers zurück, wenn der Wert wahr ist — zum Beispiel*Hello Jane Doe*. Andernfalls, wenn kein Nachname gefunden wurde, *Hello Jane* wird zurückgegeben.

Handlebars umfasst neben den hier vorgestellten Features noch weitere Features. Weitere Informationen finden Sie unter [handlebarsjs.com](https://handlebarsjs.com/).

## Verwenden von Variablen mit Helferobjekten für Nachrichtenvorlagen
<a name="template-helpers-variables"></a>

Namen von benutzerdefinierten Amazon-Connect-Attributen unterstützen Leerzeichen. Um das benutzerdefinierte Attribut `"Last Name"` zu verwenden, müssen Sie es als `Attributes.[Last Name]` formatieren. 

## Verwenden von verschachtelten Helferobjekten
<a name="template-helpers-nesting"></a>

 Sie können mehrere Helferobjekte für Nachrichtenvorlagen ineinander verschachteln. Im folgenden Beispiel wird gezeigt, wie zwei Helferobjekte formatiert werden: `{{ first helper (second helper)}}`. Das zweite Helferobjekt wird zuerst verarbeitet, gefolgt vom ersten Helferobjekt. Denken Sie daran, dass das erste Helferobjekt immer die Ausgabe bestimmt. Nachfolgende Helferobjekt müssen wie folgt innerhalb des vorherigen Helferobjekts verschachtelt sein: `{{ first helper (second helper (third helper) )}}`.

Das folgende Beispiel zeigt, wie zwei Helferobjekt verschachtelt werden, um **JANE** in **Jane** zu ändern: `{{capitalizeFirst (lower "JANE")}}`. `lower` konvertiert **JANE** zuerst in **jane**. Dann konvertiert `capitalizeFirst` **jane** in **Jane**.