Template Nodes

Template nodes create content — emails, SMS messages, forms, PDFs, and more. They support dynamic variables using {{variable.name}} syntax, so your content automatically includes data from the workflow. There are 12 template nodes in total.


Email

Icon: Mail

Create and send an email from a template. Supports rich HTML content, dynamic variables, and call-to-action buttons.

Inputs: data-in (recipient and content data)

Outputs: data-out (sent email details), error (if sending failed)

Config:

  • To: Recipient email (can be dynamic, e.g., {{customer.email}})
  • Subject: Email subject line
  • Preheader: Preview text shown in email clients
  • Body: Rich HTML email content
  • CTA: Optional call-to-action button with link

Example: Send a booking confirmation email with the customer's name, service date, and a "View Booking" button.


SMS

Icon: MessageSquare

Send an SMS text message from a template. Keep messages short and include essential info.

Inputs: data-in (recipient and content data)

Outputs: data-out (sent message details), error (if sending failed)

Config:

  • To: Phone number (can be dynamic, e.g., {{customer.phone}})
  • Body: Message text (160-character segments)

Example: Send a same-day reminder: "Hi {{customer.firstName}}, your cleaning is scheduled for today at {{booking.time}}."


Push Notification

Icon: Bell

Send a push notification to a user's device. Short, attention-grabbing messages with optional action buttons.

Inputs: data-in (recipient and content data)

Outputs: data-out (notification details)

Config:

  • Title: Notification title
  • Body: Notification message
  • Action: Optional deep link when tapped
  • Icon: Notification icon

Example: Notify a field worker that a new job has been assigned to them.


Form

Icon: ClipboardList

Create a form for capturing user input. Define fields, validation rules, and layout.

Inputs: data-in (pre-fill data)

Outputs: data-out (submitted form data)

Config:

  • Fields: List of form fields (text, email, phone, select, checkbox, etc.)
  • Validation: Required fields, format rules
  • Submit label: Text on the submit button

Example: Create a customer intake form that collects name, email, address, and preferred service time.


Checklist

Icon: CheckSquare

Generate a task checklist from workflow data. Each item has a title, description, and completion status.

Inputs: data-in (checklist items or template data)

Outputs: data-out (checklist with items)

Config:

  • Title: Checklist name
  • Items: Static items or dynamic items from data
  • Assignee: Who is responsible for the checklist

Example: Generate a pre-job checklist for a cleaning crew: "Check supplies, confirm access code, review special instructions."


Contract

Icon: FileSignature

Generate a service agreement or contract from a template. Includes dynamic fields and signature areas.

Inputs: data-in (contract details)

Outputs: data-out (generated contract)

Config:

  • Template: Contract template with variable placeholders
  • Parties: Who is signing (names, titles)
  • Signature fields: Where signatures should appear
  • Terms: Contract terms and conditions

Example: Generate a service contract with the customer's name, service description, pricing, and signature fields.


PDF

Icon: FileDown

Generate a PDF document from workflow data. Useful for invoices, reports, receipts, and other printable documents.

Inputs: data-in (document data)

Outputs: data-out (PDF file reference)

Config:

  • Template: PDF layout template
  • Data mapping: How workflow data maps to the template fields
  • Page size: Letter, A4, etc.

Example: Generate a PDF invoice with line items, totals, and company branding.


Landing Page

Icon: Globe

Define a landing page's content and structure for deployment. Build marketing pages, thank-you pages, or custom portals.

Inputs: data-in (page content data)

Outputs: data-out (page definition)

Config:

  • Title: Page title
  • Sections: Hero, features, CTA, testimonials, etc.
  • SEO: Meta title, description, and keywords
  • URL: Target deployment path

Example: Create a seasonal promotion landing page with a hero banner, pricing section, and booking CTA.


Blog Post

Icon: PenTool

Generate blog post content for the Otesse marketing site. Includes SEO fields, categories, and publishing options.

Inputs: data-in (post topic and data)

Outputs: data-out (blog post content)

Config:

  • Title: Post title
  • Content: Post body (markdown)
  • Category: Blog category
  • Author: Post author
  • SEO: Meta title, description, keywords

Example: Generate a blog post about seasonal lawn care tips, complete with SEO metadata.


Review Request

Icon: Star

Request customer feedback after a service is completed. Supports multiple channels — email, SMS, and push notification.

Inputs: data-in (customer and booking data)

Outputs: data-out (review request details)

Config:

  • Channels: Which channels to send via (email, SMS, push)
  • Rating scale: Star rating range
  • Custom questions: Optional follow-up questions
  • Delay: How long after service to send the request

Example: 24 hours after a cleaning is completed, send a review request via email and SMS.


Chat Response

Icon: MessageSquareReply

Send a response back to a chat user. Supports plain text, rich cards, quick-reply buttons, and carousels.

Inputs: data-in (response content)

Outputs: data-out (sent response details)

Config:

  • Type: Text, rich card, quick replies, or carousel
  • Content: Response content
  • Quick replies: Optional quick-reply button labels
  • Actions: Optional action buttons with links

Example: After looking up a booking, send a rich card showing the booking date, time, service, and a "Reschedule" button.


Message Format

Icon: LayoutList

Format data into a structured message for use in chat responses, emails, or notifications. Supports text, markdown, rich cards, lists, tables, and receipts.

Inputs: data-in (raw data to format)

Outputs: data-out (formatted message)

Config:

  • Format: Text, markdown, rich card, list, table, or receipt
  • Template: How to arrange the data in the chosen format

Example: Format an order summary as a receipt with line items, subtotal, tax, and total.