Skip to content

Templates · Published 2026-09-28 · AgentiSend team

Welcome

Confirm a new account exists and give the person one link to start from.

Confirm a new account exists and give the person one link to start from.

Variables

Every placeholder is required. A send that omits one is refused with that name, rather than going out with a blank.

  • first_name (string, required). The new account holder’s first name.
  • product_name (string, required). Your product, as the person knows it.
  • account_email (string, required). The address they signed up with.
  • start_url (string, required). An https link to the first screen they should see.
  • help_url (string, required). Where your help pages live.

Rendered with the example values

These values are samples. They are not an account on AgentiSend.

Subject: Welcome to Acme, Ada

<p>Hi Ada,</p>
<p>Your Acme account is ready. You signed up with ada@example.com.</p>
<p><a href="https://app.example.com/start">Open Acme</a></p>
<p>If you get stuck, the help pages are at https://example.com/help.</p>
Hi Ada,

Your Acme account is ready. You signed up with ada@example.com.

Open Acme (https://app.example.com/start)

If you get stuck, the help pages are at https://example.com/help.

Create the draft

POST /templates and the create_template tool take this body. The draft does not send until it is published.

{
  "name": "Welcome",
  "subject": "Welcome to {{product_name}}, {{first_name}}",
  "content": {
    "mode": "markdown",
    "source": "Hi {{first_name}},\n\nYour {{product_name}} account is ready. You signed up with {{account_email}}.\n\n[Open {{product_name}}]({{start_url}})\n\nIf you get stuck, the help pages are at {{help_url}}."
  },
  "variables": [
    {
      "name": "first_name",
      "type": "string",
      "required": true
    },
    {
      "name": "product_name",
      "type": "string",
      "required": true
    },
    {
      "name": "account_email",
      "type": "string",
      "required": true
    },
    {
      "name": "start_url",
      "type": "string",
      "required": true
    },
    {
      "name": "help_url",
      "type": "string",
      "required": true
    }
  ]
}

Publish it

Call publish_template with the id POST /templates returned. Publishing again makes the next version. A version that already went out does not change.

{
  "name": "publish_template",
  "arguments": {
    "template_id": "<the id POST /templates returned>"
  }
}

Send it

Create the draft with the body above, publish it, then send with template_id and template_values. The rules are in Templates. The three calls, including a render that does not send, are in How do I send an email from a template. The next starter is Receipt.