Skip to main content

Using Template Variables in API Request Bodies for Workflows

Use template variables in Kolleno workflows to send dynamic ERP and customer data in API calls.

Kolleno Support avatar
Written by Kolleno Support
Updated this week

When building API calls within Kolleno Workflows, you can insert dynamic data directly into the request body. This allows your workflows to pass customer, invoice, credit note, payment, and other objects’ information to external systems in real time.

Please note the below only provides some examples. You can contact support for information about the field that you need.

To learn how to make an API call in a workflow, see
👉 Make an API call with Kolleno Workflows


How Template Variables Work

Kolleno uses a simple variable-tag format to let you reference fields from any object in your workflow.


You can access both Kolleno fields and ERP-synced fields using double-underscore notation (__) to drill into nested properties.

General Pattern

{{object__field_name}}

Accessing ERP Source Data

ERP data for each object is stored in source_original_data.
Use this pattern:

{{object__source_original_data__FieldName}}

Example:

{   
"erp_customer_id": "{{customer__source_original_data__CustomerID}}", "erp_invoice_number": "{{invoice__source_original_data__InvoiceNumber}}"
}

Object-Level Reference Guide

Below is a full list of objects and their accessible fields, including ERP data.


Customer Level

Standard Fields

  • {{customer__name}}

  • {{customer__balance}}

  • {{customer__ref}}

ERP Fields

  • {{customer__source_original_data__CustomerID}}

  • {{customer__source_original_data__AccountNumber}}

  • Any custom ERP field:
    {{customer__source_original_data__CustomField}}

Example:

{   
"customer_name": "{{customer__name}}",
"outstanding_balance": "{{customer__balance}}",
"erp_customer_id": "{{customer__source_original_data__CustomerID}}",
"erp_account_code": "{{customer__source_original_data__AccountCode}}"
}

Invoice Level

Standard Fields

  • {{invoice__ref}}

  • {{invoice__amount}}

  • {{invoice__balance}}

Customer fields remain available here:

  • {{customer__name}}

ERP Fields

  • {{invoice__source_original_data__InvoiceID}}

  • {{invoice__source_original_data__DocumentNumber}}

  • {{invoice__source_original_data__DueDate}}

Example:

{   
"invoice_ref": "{{invoice__ref}}",
"invoice_amount": "{{invoice__amount}}",
"erp_invoice_id": "{{invoice__source_original_data__InvoiceID}}", "erp_document_number": "{{invoice__source_original_data__DocumentNumber}}" }

Credit Note Level

Standard Fields

  • {{credit_note__ref}}

  • {{credit_note__amount}}

  • {{credit_note__amount_remaining}}

ERP Fields

  • {{credit_note__source_original_data__CreditNoteID}}

  • {{credit_note__source_original_data__CreditMemoNumber}}

Example:

{   
"credit_note_ref": "{{credit_note__ref}}",
"credit_amount": "{{credit_note__amount}}",
"erp_credit_note_id": "{{credit_note__source_original_data__CreditNoteID}}"
}

Payment Level

Standard Fields

  • {{transaction__amount}}

  • {{transaction__status}}

  • {{transaction__date}}

ERP Fields

  • {{transaction__source_original_data__TransactionID}}

  • {{transaction__source_original_data__PaymentReference}}

  • {{transaction__source_original_data__PaymentMethod}}

Example:

{   
"transaction_amount": "{{transaction__amount}}",
"status": "{{transaction__status}}",
"erp_transaction_id": "{{transaction__source_original_data__TransactionID}}",
"erp_payment_ref": "{{transaction__source_original_data__PaymentReference}}"
}

Payment Charge Level

Standard Fields

  • {{payment_charge__amount}}

  • {{payment_charge__status}}

ERP Fields

  • {{payment_charge__source_original_data__ChargeID}}

  • {{payment_charge__source_original_data__ChargeType}}

Example:

{   
"charge_amount": "{{payment_charge__amount}}",
"charge_status": "{{payment_charge__status}}",
"erp_charge_id": "{{payment_charge__source_original_data__ChargeID}}" }

Customer Group Level

Standard Fields

  • {{customer_group__count_customers}}

  • {{customer_group__balance}}

  • {{customer_group__balance_overdue}}

ERP Fields

  • {{customer_group__source_original_data__GroupID}}

  • {{customer_group__source_original_data__GroupCode}}

Example:

{   
"group_customer_count": "{{customer_group__count_customers}}",
"total_balance": "{{customer_group__balance}}",
"erp_group_id": "{{customer_group__source_original_data__GroupID}}"
}

Email Received Level

Standard Fields

  • {{email_received__subject}}

  • {{email_received__email_address_from}}

  • {{email_received__body_text}}

Example:

{   
"subject": "{{email_received__subject}}",
"from": "{{email_received__email_address_from}}",
"content": "{{email_received__body_text}}"
}

Email Sent Level

Standard Fields

  • {{email_sent__subject}}

  • {{email_sent__body_text}}

  • {{email_sent__date_sent}}

Example:

{   
"subject": "{{email_sent__subject}}",
"content": "{{email_sent__body_text}}",
"date_sent: "email_sent__date_sent"
}

Note Level

Standard Fields

  • {{note__content_text}}

  • {{note__date_noted}}

ERP Fields

  • {{note__source_original_data__NoteID}}

  • {{note__source_original_data__CommentID}}

Example:

{   
"note_content": "{{note__content_text}}",
"note_date": "{{note__date_noted}}",
"erp_note_id": "{{note__source_original_data__NoteID}}"
}

Payment Plan Level

Standard Fields

  • {{payment_plan__amount}}

  • {{payment_plan__status}}

  • {{payment_plan__amount_remaining}}

ERP Fields

  • {{payment_plan__source_original_data__PlanID}}

  • {{payment_plan__source_original_data__ScheduleID}}

Example:

{   
"plan_amount": "{{payment_plan__amount}}",
"plan_status": "{{payment_plan__status}}",
"erp_plan_id": "{{payment_plan__source_original_data__PlanID}}" }

Person Level

Standard Fields

  • {{person__first_name}}

  • {{person__last_name}}

  • {{person__email_address}}

ERP Fields

  • {{person__source_original_data__ContactID}}

  • {{person__source_original_data__EmployeeNumber}}

Example:

{   
"first_name": "{{person__first_name}}",
"last_name": "{{person__last_name}}",
"erp_contact_id": "{{person__source_original_data__ContactID}}"
}

Text Message Sent Level

Standard Fields

  • {{text_message_sent__body}}

  • {{text_message_sent__phone_number_to}}

  • {{text_message_sent__date_sent}}

Example:

{   
"message_body": "{{text_message_sent__body}}",
"recipient": "{{text_message_sent__phone_number_to}}"
}

Important Notes

  • Customer fields are accessible from any workflow level using {{customer__field_name}}.

  • Use double underscores (__) to navigate nested structures (e.g., {{customer__currency__iso}}).

  • When used in API request bodies, all values are automatically escaped for JSON.

  • ERP field names must match exactly what your ERP provides.

  • Nested ERP fields can be accessed with additional __, for example:
    {{customer__source_original_data__Address__Street}}

Did this answer your question?