Overview
Workflow actions in Simply CRM let you automate what happens after a workflow condition is met.
Instead of only notifying users, a workflow can also update data, create records, send emails, trigger external systems, generate documents, and even use AI-powered actions.
This article covers the workflow actions currently available in your setup, what each action does, how it works, and a practical example of when to use it.
Before you start
A few workflow actions depend on optional features or add-on modules being enabled in your Simply CRM instance, such as:
-
Document Designer
-
Rollup
-
Real-Time Field Updates
-
AI features
-
Custom functions
If one of these actions appears in your workflow builder, it is available in your environment.
Available workflow actions
Send Mail
Sends an email automatically when the workflow runs.
How it works
This action builds and sends an email from workflow settings and record data. It supports:
-
dynamic recipients
-
CC and BCC
-
Reply-To
-
sender selection
-
HTML email content
-
attachments
-
optional PDF attachments
-
document-based attachments
-
linking the sent email back to the related record
This is useful when you want a workflow to send a message without relying on a predefined email template.
Example
When a Deal is marked as Won, send a confirmation email to the customer with the deal summary and a PDF attachment.
Invoke Custom Function
Runs a custom backend function from a workflow.
How it works
This action calls a registered custom method when the workflow is triggered. It is typically used for advanced business logic that is too specific for standard workflow actions.
This is a developer-driven action, so the exact behavior depends on the custom function that has been added to your Simply CRM setup.
Example
When an Invoice is approved, call a custom function that sends the invoice data to an accounting system and stores the returned external ID.
Update Fields
Updates field values on the current record, or on referenced records, as part of the workflow.
How it works
This is the standard field update action. It can:
-
set a fixed value
-
copy a value from another field
-
calculate a value using an expression
-
update reference-related fields
-
handle dates, times, currencies, picklists, multipicklists, and owners
-
update record labels when name fields change
This is the main action to use when you want the workflow to keep record data clean and consistent.
Example
When a Lead is converted to a Customer, automatically set:
-
Status = Customer
-
Lifecycle Stage = Active
-
Follow-up Date = 7 days from today
Create Record
Creates a new record in another module from the current record.
How it works
This action creates a new record and maps values from the source record into the target module. It can also populate a reference field so the new record is connected back to the source record.
Depending on configuration, it can also support more advanced creation patterns such as multiple record creation or split-based creation in some modules.
Example
When an Opportunity reaches Proposal Sent, automatically create a Quote and copy over the Account, Contact, Amount, and Expected Close Date.
Add WebHook
Sends data from Simply CRM to an external URL.
How it works
This action makes an HTTP request to a configured endpoint. It supports:
-
URL variables
-
record field placeholders
-
global variables
-
authentication
-
headers
-
URL parameters
-
payload values
-
file sending
-
response handling
It can also process the response and write returned values back into Simply CRM fields.
Example
When a Sales Order is created, call the warehouse API to create a fulfillment request and write the returned shipment reference back to the order.
Update Relations (One To Many)
Updates fields on records that are already related to the current record.
How it works
This action looks at a related module and writes values from the current record into related records. It is designed for one-to-many style updates and can update:
-
all related records
-
only the last related record
This is useful when a parent record should push a value down to its related records.
Example
When an Account owner changes, update the same owner or account segment field on all related Contacts.
Send email from template
Sends an email using a selected email template.
How it works
This action renders a template with data from the current record and then sends it. It supports:
-
dynamic recipients
-
CC and BCC
-
Reply-To
-
template-based subject and body
-
default/fallback templates in some setups
-
optional PDF attachment support
-
email tracking and linking back to the record
This is the best choice when your emails follow a consistent format.
Example
When a Support Ticket is closed, send a branded closure email using the ticket-close email template.
Select RelatedRecord
Finds one or more records in another module and relates them to the current record, or writes the found record into a reference field.
How it works
This action searches in a target module using:
-
a source field value
-
an expression
-
exact match or contains logic
-
optional advanced filters
Once matching records are found, it can either:
-
create a relation in the related list, or
-
set a reference field on the current record
Use this when the workflow should automatically find the right existing record.
Example
When a Lead is created and its Company Name matches an existing Account Name, automatically link the Lead to that Account.
Rollup/Calculate Fields Task
Recalculates or aggregates values based on related records.
How it works
This action is tied to the Rollup feature. It is typically used to calculate values such as:
-
totals
-
counts
-
averages
-
latest values
-
summary fields pulled from related records
The exact options depend on how the Rollup module is configured in your system.
Example
When an Invoice is created, recalculate the total billed amount on the related Account.
Select Related Module
Pulls related records from one module into another relation on the current record.
How it works
This action works by using an already-related source module and then copying that source module’s related records into another related module on the current record.
In practice, it helps carry relations across connected records.
Example
If an Opportunity is related to an Account, and that Account already has related Contacts, this action can relate those same Contacts to the Opportunity automatically.
Send Email with Document Designer attachments
Sends an email that includes files generated through Document Designer.
How it works
This action depends on the Document Designer feature. It uses Document Designer output as part of the email process, so the workflow can send polished documents without manual export or attachment steps.
This is especially useful for proposals, invoices, confirmations, or other formatted business documents.
Example
When a Quote is approved, email the customer a generated PDF proposal as an attachment.
Save Document from Document Designer
Creates and saves a document generated by Document Designer.
How it works
This action generates a document from a Document Designer template and saves it from the workflow. Depending on your setup, that may mean saving it to the record, to attachments, or to a document-related location in Simply CRM.
Use this when you want document generation to happen automatically, even if no email needs to be sent.
Example
When an Invoice moves to Posted, automatically generate and save the official invoice PDF.
Dynamic Dropdown
Rebuilds a picklist field from values found in another module.
How it works
This action reads values from a selected source module, using a selected list/filter and a chosen source field. It then:
-
collects the values
-
removes duplicates
-
clears the target dropdown values
-
inserts the refreshed set of values into the target picklist
-
applies the selected ordering
This is useful when a dropdown should stay in sync with live CRM data.
Important
Because this action clears and rebuilds the target dropdown, it should be used carefully.
Example
Build a “City” dropdown in one module based on unique city values found in Account records.
Validate URL
Checks whether a URL or domain is valid and writes the result to a field.
How it works
This action reads a source field, attempts to validate the domain, checks DNS/IP resolution, and then tests the URL response. It writes a status message into a target field.
Possible outcomes include messages such as:
-
Valid Domain
-
Valid IP but page not responding
-
Domain is not valid
If the source value is an email address, the action can use the domain part for validation.
Example
When a new Lead is created, validate the Website field and write the result into a custom field called Website Check Result.
Field Updates
Updates fields with a more specialized field-update action.
How it works
Based on the implementation, this action appears to be a more specialized version of field updating, mainly intended for inventory-style records and line-item-aware updates.
It supports field mapping similarly to standard field updates, but is better suited where product, quantity, price, or related inventory values are involved.
If you work with Quotes, Sales Orders, Purchase Orders, or Invoices, this action is likely intended for those cases.
Example
When a Quote is updated, copy or adjust specific inventory-related values such as quantity, price, or item-level custom values.
Create Records from Json
Creates one or more records by reading JSON stored in a field.
How it works
This action reads a JSON field on the source record, loops through the entries in that JSON array, and creates a new target record for each item.
It can:
-
map JSON keys into target fields
-
combine JSON values with normal record values
-
use expressions
-
set reference fields back to the source record
This is ideal when a single record contains structured imported data that needs to be split into separate CRM records.
Example
A web form stores an array of submitted attendees in a JSON field. This action creates one Contact record for each attendee.
Related Records Update
Updates fields on records that are already related through a many-to-many style relationship.
How it works
This action finds related records in a selected target module and copies a value from the source record into a chosen field on those related records.
Unlike Select RelatedRecord, this action does not search for new records to relate. Instead, it updates records that are already related.
Example
When a Campaign’s custom event code changes, update the same code field on all related Product records.
Query Task
Runs a database query against an external MySQL-compatible database and uses the result in Simply CRM.
How it works
This action connects to an external database using the configured host, port, username, password, and database name. It then runs the configured query, which can include values from the current CRM record.
The result can then be used to:
-
update the current record
-
create new records
-
update matching records based on a lookup field
This is a powerful integration action, but it should be used carefully because it directly depends on external database access and valid SQL.
Example
When an Account is saved, query a legacy customer database for the credit rating and update the CRM record with the returned score.
AI workflow action
Uses AI to generate or transform text and store the result in a field.
How it works
This action sends either:
-
text from a field, or
-
custom text/prompt content
to the AI service, then writes the result into a target field.
It supports use cases such as:
-
translation
-
prompt-based generation
-
writing to the current record
-
writing to a related/reference record field
This is best for text enrichment and language tasks.
Example
When a support request is received in Danish, translate the message into English and store the result in an internal field for the support team.
Another example is generating a short AI summary of a long case description.
Choosing the right action
Here is a practical way to decide which action to use:
-
Use Update Fields when you want to change values on the current record.
-
Use Create Record when the workflow should generate a new CRM record.
-
Use Send Mail or Send email from template when the workflow should contact someone automatically.
-
Use Add WebHook or Query Task when the workflow needs to interact with an external system.
-
Use Select RelatedRecord, Select Related Module, Update Relations (One To Many), or Related Records Update when the workflow should work with related records.
-
Use Document Designer actions when the workflow should generate or send documents.
-
Use AI workflow action when the workflow should create, translate, or transform text.
Best practices
Test with a sample record first
Before enabling a workflow for all users, test it on a record that clearly matches the workflow conditions.
Keep related-record logic simple
If a workflow both creates relations and updates related records, start with one action first. Complex relation logic is easier to troubleshoot in smaller steps.
Be careful with Dynamic Dropdown
This action rebuilds the target dropdown values. That makes it powerful, but it also means it can replace the full list of options.
Use templates for reusable emails
If the email should always follow the same branding or wording, use Send email from template instead of building the email directly in the workflow.
Watch for looping behavior
Actions like Update Fields, Create Record, and some relation-based actions can trigger additional workflows depending on your setup. Review workflow conditions carefully to avoid unintended recursion.
Summary
Simply CRM’s workflow actions cover four main automation needs:
-
updating data
-
creating or linking records
-
communicating by email or document
-
connecting to outside systems
Used well, they can remove a lot of manual work and make your processes more consistent.