Skip to content

check_first_email

Check a first email

Read · mcpOpens at: Target confirmed, choosing a planIdempotent

Checks the first email of a sequence against VibeSell's blocking rule: no link, no image, no tracking pixel, and no personalisation variable off the catalogue. It checks only.

Description the model readsSent as is in tools/list.
Check the first email of a sequence against VibeSell's blocking rule: no link, no image, no tracking pixel, and no personalisation variable off the catalogue. Checks only: nothing is saved or sent.

The user says

Is this first email OK to send?

tools/call · Arguments the assistant sends
{
"name": "check_first_email",
"arguments": {
"subject": "Missed calls at {{companyName}}",
"body": "Hi {{firstName}},\n\nHow many calls does your front desk miss on a busy Monday?\n\nWe answer them for 120 clinics in France, day and night.\n\nWorth a quick chat?\n\nAna"
}
}
subjectstringrequired1–200 chars
bodystringrequired1–4000 chars
Input schema
{
"type": "object",
"properties": {
"subject": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"body": {
"type": "string",
"minLength": 1,
"maxLength": 4000
}
},
"required": ["subject", "body"]
}

Result kindfirst_email

kind"first_email"
validboolean

True when it may open a sequence: no link, no image, no pixel.

violationsstring[]

What breaks the rule, in words.

subjectstring
bodystring
Output schema
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "first_email"
},
"valid": {
"type": "boolean",
"description": "True when it may open a sequence: no link, no image, no pixel."
},
"violations": {
"type": "array",
"items": {
"type": "string"
},
"description": "What breaks the rule, in words."
},
"subject": {
"type": "string"
},
"body": {
"type": "string"
}
},
"required": ["kind", "valid", "violations", "subject", "body"],
"additionalProperties": false
}
  • The only variables are {{firstName}}, {{lastName}} and {{companyName}}, spelled exactly like that.