Workflow Types
This article will give you an overview of the Workflow Types available in Umbraco Forms.
There are several built-in Workflow Types that can be used to extend the functionality of your form. Do you want to post the submitted form as XML, send the data as an email, or send a notification through another messaging system? These are just a few of the options you can choose when working with Umbraco Forms.
Workflow Types in Umbraco Forms

Change Record state
Used to automatically Approve Record or Delete Record once it is submitted. Configure words that you want to match and select whether these words should trigger an approval or deletion of the record.

Post as XML
Used to post the Form as an XML to a specified URL. The following configuration can be set:
- Workflow Name
- URL (required)
- Method
- XsltFile - used to transform the XML
- Headers - map the needed files
- User
- Password

Save as XML
Saves the result of the Form as an XML file by using XSLT. The following configuration can be set:
- Workflow Name
- Path (required) - where to save the XML file
- File extension (required)
- XsltFile - used to transform the XML
The path needs to point to a folder, not a file name. The files are then stored locally, and relative paths are resolved to the content root.
When storing the files within the
wwwroot
or App_Plugins
folders, the files will be publicly available by default.
Save as content node
Saves a submitted Form as a new content node. You need to choose a Document type and match the fields in the Form with the properties on the selected Document Type.
You can also choose to set a static value to fill in the properties:

Save as content node
In the example above, a Document Type called Blogpost is selected for creating the new Content node.
The value from the Name field will be added as the Node Name property in the new Content node and the value from the Email field will be used as the Content property.
The following configuration can be set:
- Workflow Name
- Publish - choose whether to publish the node on submission
- Where to save - choose a section in the content tree where this new node should be added

Send email
Sends the result of the Form to the specified email address. The following configuration can be set:
- Workflow Name
- Message (required)
- Attachment - specify whether file uploads should be attached to the email
- Recipient Email (required)
- CC Email
- BCC Email
- SenderEmail
- Reply To Email
- Subject of the email (required)
If the Sender Email field is not populated, the address used will be read from CMS configuration.
The Content Settings value configured at
Umbraco:CMS:Content:Notifications:Email
will be used if provided.The fallback behavior also applies to the other email workflows.

Send email with template
Uses a template to send the results of the Form to a specified email address.
You can create your own custom Razor templates to be used to send out emails upon Forms submission. Read more about how to create these templates in the Email Templates article.
The following configuration can be set:
- Workflow Name
- Email Template (required) - specify which template you want to use
- Header text - formatted text that will be rendered above the form entry details
- Footer text - formatted text that will be rendered below the form entry details
- Attachments - specify whether file uploads should be attached to the email
- Recipient Email (required)
- CC Email
- BCC Email
- SenderEmail
- Reply To Email
- Subject of the email (required)

Send to URL
Sends the Form to a URL either as a HTTP POST or GET. The following configuration can be set:
- Workflow Name
- URL (required)
- Method (required) - POST, GET, PUT or DELETE
- Standard Fields - optionally include and map standard form information such as name and page URL
- Fields - map the needed fields
- User
- Password
When mapping fields, if any are selected, only those chosen will be sent in the request to the configured URL. If no fields are mapped, all will be sent.
The receiving endpoint will be able to extract the form fields and values from the querystring or form collection when the method used is set to GET or POST respectively.
As an illustrative example, the following code can be used to write the posted form information to a text file:
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using System.IO;
namespace RequestSaver.Controllers
{
[ApiController]
[Route("[controller]")]
public class SaveRequestController : ControllerBase
{
private const string _filePath = "c:\\temp\\request-save.txt";
private readonly ILogger<SaveRequestController> _logger;
public SaveRequestController(ILogger<SaveRequestController> logger)
{
_logger = logger;
}
[HttpPost]
public string Save()
{
using (StreamWriter outputFile = new StreamWriter(_filePath))
{
foreach (var key in Request.Form.Keys)
{
outputFile.WriteLine($"{key}: {(Request.Form[key])}");
}
}
return "Done";
}
}
}

Send XSLT Email
Sends the result of the Form to an email address with full control over the email contents by providing an xslt file. The following configuration can be set:
- Workflow Name
- XSLT File - specify which file should be used to transform the content
- Recipient Email (required)
- CC Email
- BCC Email
- SenderEmail
- Reply To Email
- Subject of the email (required)

Send to Slack
Allows to post the Form data to a specific channel on Slack. The following configuration can be set:
- Workflow Name
- Webhook URL (required)
Last modified 21d ago