Admin APIMutations
Send Custom Email
Send a custom email to a user through the Loopwise platform
The sendCustomEmail mutation allows you to send custom emails to users through the Loopwise platform. This enables you to communicate directly with your students and users.
Input Parameters
| Field | Type | Description |
|---|---|---|
email | String! | Email address of the recipient |
subject | String! | The subject of the email (Base64 encoded) |
content | String! | The content of the email (Base64 encoded) |
templateVariables | JSON | Template variables for dynamic content |
Return Type
type AdminSendCustomEmailPayload {
# Success message or error details
message: String
# Boolean indicating whether the email was sent successfully
success: Boolean!
}Example
mutation SendCustomEmail {
sendCustomEmail(
email: "student@example.com"
subject: "V2VsY29tZSB0byBvdXIgY291cnNlIQ==" # Base64 for "Welcome to our course!"
content: "SGkgSm9obiwgd2VsY29tZSB0byBvdXIgR3JhcGhRTCBjb3Vyc2UhIFdlJ3JlIGV4Y2l0ZWQgdG8gaGF2ZSB5b3UuLi4=" # Base64 encoded content
templateVariables: {
userName: "John"
courseName: "GraphQL Fundamentals"
}
) {
success
message
}
}Sample Response
{
"data": {
"sendCustomEmail": {
"success": true,
"message": "Email sent successfully"
}
}
}Error Response
If the email fails to send:
{
"data": {
"sendCustomEmail": {
"success": false,
"message": "Invalid email address"
}
}
}Base64 Encoding
The subject and content fields must be Base64 encoded. Here's how to encode them:
JavaScript Example
const subject = btoa("Welcome to our course!");
const content = btoa(`
Hi {{userName}},
Welcome to {{courseName}}! We're excited to have you join us.
Best regards,
The Loopwise Team
`);Python Example
import base64
subject = base64.b64encode("Welcome to our course!".encode()).decode()
content = base64.b64encode("""
Hi {{userName}},
Welcome to {{courseName}}! We're excited to have you join us.
Best regards,
The Loopwise Team
""".encode()).decode()Template Variables
The templateVariables field allows you to pass dynamic content that can be used in the email template. Common variables include:
| Variable | Description |
|---|---|
userName | The recipient's name |
courseName | Name of a course |
schoolName | Name of your school |
customData | Any custom data you want to include |
Common Errors
| Error | Description |
|---|---|
Invalid email address | The provided email address is not valid |
Subject required | The email subject cannot be empty |
Content required | The email content cannot be empty |
Invalid Base64 encoding | The subject or content is not properly Base64 encoded |
Email service unavailable | The email service is temporarily unavailable |
Important Notes
- Both
subjectandcontentmust be Base64 encoded - Template variables can be used within the content using double curly braces (e.g.,
{{userName}}) - Emails are sent asynchronously — a successful response means the email was queued for delivery
- Consider rate limiting when sending bulk emails