Concevoir des templates d'email
Utilise cette skill lors de la création ou modification de templates d'email pour les workflows PostHog — les campagnes broadcast et les actions workflow function_email envoient le template rendu.
Fonctionnement de la création
Tu crées le design JSON (content.email.design) et tu le sauvegardes avec workflows-create-email-template. Le serveur rend l'email envoyé à partir de ton design avec le même moteur de rendu que celui de l'éditeur visuel de PostHog, donc le template s'ouvre sous forme de blocs modifiables pour les humains et s'envoie exactement comme le design le décrit. Schema et exemple fonctionnel dans references/unlayer-design-json.md.
En parlant avec l'utilisateur, appelle-le le design du template — le format du document design est un détail d'implémentation interne. Partage toujours le lien d'édition _posthogUrl du template dans ta réponse après création ou mise à jour, pour que l'utilisateur puisse l'ouvrir directement dans PostHog.
Lis references/design-guidelines.md avant de composer — cela couvre l'engagement envers une direction de design, la typographie, la couleur, et les patterns qui rendent un email conçu plutôt que généré. Pour un fragment que l'éditeur de blocs ne peut pas exprimer, utilise un bloc de contenu de type html à l'intérieur du design.
Personnalisation avec Liquid
Le contenu d'email utilise la templating Liquid. Les tags Liquid passent à travers le moteur de rendu en tant que texte brut, donc utilise-les n'importe où — texte de bloc, objet, liens :
Hi {{ person.properties.first_name | default: 'there' }},
Les emails marketing doivent inclure un lien de désinscription — rends-le avec les variables intégrées :
<a href="{{ unsubscribe_url }}">Unsubscribe</a>
({{ unsubscribe_url_one_click }} est aussi disponible pour les flux de désinscription one-click.)
Créer un template
Appelle workflows-create-email-template avec :
{
"name": "Welcome email",
"description": "Sent to new signups on day 0",
"type": "email",
"content": {
"templating": "liquid",
"email": {
"subject": "Welcome to {{ person.properties.company | default: 'our product' }}",
"design": { "counters": { "u_row": 1 }, "schemaVersion": 16, "body": { "rows": ["…"] } },
"text": "Plain-text fallback of the same message"
}
}
}
subjectest obligatoire pour les templates d'email.- Fournis toujours
text— c'est le fallback pour les clients qui bloquent le contenu riche et améliore la délivrabilité. - Le résultat du tool retourne un lien d'édition vers la librairie PostHog.
- Après création (ou mise à jour), appelle
workflows-show-email-template— cela rend un aperçu en ligne pour que l'utilisateur voie le résultat.
Mécanique de payload
Passe le design directement dans l'appel du tool — pas de fichiers scratch, pas de sous-processus de pré-validation, pas de rounds de preview de payload. Les tags Liquid ({{ }}, {% %}), les apostrophes, les guillemets simples et les emoji sont des caractères ordinaires à l'intérieur des chaînes JSON ; seul l'échappement JSON standard s'applique. Ne réécris jamais le contenu pour les éviter — convertir les guillemets simples de Liquid en guillemets doubles à l'intérieur des attributs de markup casse le markup. Si l'appel du tool est rejeté comme malformé, corrige l'échappement JSON et renvoie le même contenu inchangé.
Modifier un template (lecture–modification–écriture)
content est remplacé dans son intégralité en cas de mise à jour, jamais fusionné — et les humains ont peut-être modifié le design dans l'éditeur visuel de PostHog depuis ta dernière visualisation :
workflows-get-email-template— récupère toujours la version fraîche ; ledesignretourné est la source de vérité actuelle.- Modifie le
design(garde l'objet/texte à côté). workflows-update-email-template— envoie le completcontenten retour. Le serveur rend à nouveau l'email envoyé à partir du design modifié.workflows-show-email-template— rend le template mis à jour pour que l'utilisateur voie le changement ; sa réponse porte le html rendu final, donc lis-le avant de décrire le résultat.
Utiliser les templates
- Liste ce qui existe avec
workflows-list-email-templates(métadonnées uniquement ; récupère-en un pour son contenu). - Quand l'utilisateur demande à voir un template, appelle
workflows-show-email-template— cela rend un aperçu en ligne. - Référence un template à partir de l'action
function_emaild'un workflow, ou lance une broadcast à partir de celui-ci dans l'UI PostHog. - Les templates sont supprimés de façon logicielle en définissant
deleted: trueviaworkflows-update-email-template.