Looking to understand automation concepts? Start with the Automation System guide to learn about event-driven automation and AI integration.
Logic
Logic actions control flow and decision-making in your automations.If
If
Creates a conditional decision point in your automation. Actions nested under If only execute when the specified condition is true.Example:Common Use Cases:
- Route high-value customers to priority support
- Apply different approval thresholds based on amount
- Trigger escalations for critical issues
- Customize responses based on customer type
Otherwise If
Otherwise If
Adds an alternative branch to an If condition. When the preceding condition is false, Elementum evaluates the Otherwise If condition — enabling multi-tier decision trees within a single automation.Example:Common Use Cases:
- Multi-tier approval workflows
- Customer service routing based on multiple criteria
- Pricing logic with different discount tiers
- Escalation procedures with multiple levels
Repeat for Each
Repeat for Each
Loops through a collection of records or data items and runs the same set of actions on each one.Example:Common Use Cases:
- Process multiple orders in a single automation run
- Send notifications to multiple users
- Update a batch of records with the same values
- Save multiple email attachments to a record one by one
Records
Record actions manage data creation, updates, and relationships within your system.Create Record
Create Record
Creates a new record in a specified table with field values populated from trigger data or the outputs of previous actions.Example:Common Use Cases:
- Generate support tickets from incoming emails
- Create project records for new customers
- Log activities and interactions
- Generate invoices from completed orders
Update Record Fields
Update Record Fields
Modifies one or more field values on an existing record, typically using outputs from AI actions, calculations, or trigger data.Example:Common Use Cases:
- Apply AI-generated classifications to records
- Change order status as it progresses through a workflow
- Update customer information from an external source
- Record project progress and milestones
Relate Records
Relate Records
Establishes a relationship link between two records, enabling cross-record data access and workflows.Example:Common Use Cases:
- Link projects to customers
- Connect orders to customer accounts
- Associate support tickets with products
- Create document relationships
Search Records
Search Records
Queries a table and returns records that match your specified criteria, making them available as variables for downstream actions.Example:Common Use Cases:
- Find customer records by email address
- Locate related orders or projects
- Identify overdue tasks
- Find records that need attention or updates
Start Approval Process
Start Approval Process
Initiates a configured approval workflow for a record, notifying designated approvers and beginning the approval sequence.Example:Common Use Cases:
- Purchase order approvals
- Document review processes
- Budget approval workflows
- Policy exception requests
Update Approval Status
Update Approval Status
Changes the status of an active approval process based on a decision or condition, advancing or halting the workflow.Example:Common Use Cases:
- Process manager decisions
- Handle approval timeouts
- Update workflow progress programmatically
- Trigger post-approval actions
Add Watcher
Add Watcher
Subscribes one or more users to a record so they receive in-platform notifications when the record is modified.Example:Common Use Cases:
- Keep managers informed of critical issues
- Notify stakeholders of project changes
- Alert team members to important updates
- Maintain oversight on sensitive records
Record Field Locking
Record Field Locking
Applies field-level restrictions on a record, preventing changes to specified fields to protect data integrity after a process completes.Example:Common Use Cases:
- Lock approved contract terms
- Protect financial calculations after sign-off
- Secure completed approval decisions
- Maintain audit trail integrity
Make Assignment
Make Assignment
Assigns a record or task to a specific user or team, routing work based on criteria like AI classification output, department, or role.Example:Common Use Cases:
- Route support tickets to appropriate teams
- Assign leads to sales representatives
- Distribute work based on expertise
- Balance workloads across team members
Find Related Records
Find Related Records
Generate Report
Generate Report
Compiles your data into a formatted Excel or PDF report and makes the file available as a reference for subsequent actions — such as attaching it to a record or sending it by email.Example:Common Use Cases:Variables:
- Monthly performance summaries emailed to stakeholders
- Project status reports saved to project records
- Compliance documentation attached to audit records
- Executive dashboards sent via Teams or email
| Variable | Type | Description |
|---|---|---|
generated_report | File | The generated report file (Excel or PDF) for use in Save Attachment, Send Email, or other file-accepting actions |
Elementum Intelligence
Elementum Intelligence actions use AI to analyze, classify, summarize, transform, and search data within your automations.Run Agent Task
Run Agent Task
Passes a task definition and context to a configured AI agent, which works autonomously in a headless environment and returns structured output for use in subsequent actions. This bridges deterministic automation steps with intelligent, autonomous task completion.Configuration:Workflow Pattern — Structured to Unstructured to Structured:Common Use Cases:
- Action Name: Descriptive name for the agent task action
- AI Agent: Select an existing agent or create a new one for the task
- Task Definition: Clear description of what the agent should accomplish, including success evaluation criteria (supports value references)
- Output Type: Choose how the agent returns data:
- Text: Simple text response from the agent
- Structured: Define specific output fields for structured data extraction
- Output Fields (Structured mode): Define the exact fields you want returned, with field names and types
- Test & Preview: Try out the agent task with real values for any value references before deployment
- Research and analysis tasks requiring reasoning and judgment
- Complex decision-making beyond simple classification rules
- Data enrichment requiring external research or synthesis
- Quality assessment and content evaluation
- Multi-step problem solving with autonomous action
run_agent_task.success— Boolean indicating task completionrun_agent_task.error_message— Text field with any error detailsrun_agent_task.{custom_fields}— Any custom output fields defined in configuration
For a comprehensive guide on leveraging this action to bridge structured and unstructured workflows, see the Agent Task Automation Guide.
AI File Analysis
AI File Analysis
Uses AI to read an uploaded document and extract structured data into fields you define, without requiring manual parsing of the file content.Example:Common Use Cases:
- Extract vendor, amount, and due date from invoice PDFs
- Pull key terms and parties from contracts
- Process resume attachments for candidate data
- Analyze report documents for key metrics
Transform Data with AI
Transform Data with AI
Uses AI to clean, normalize, and reformat input data — standardizing addresses, phone numbers, company names, and other inconsistent values into a consistent format.Example:Common Use Cases:
- Standardize address formats from varied inputs
- Normalize phone numbers to a consistent format
- Clean imported data before writing to records
- Reformat business names for consistent matching
AI Classification
AI Classification
Uses AI to assign a category or label to input content based on meaning and context — not just keyword matching — and returns the result with a confidence score.Example:Common Use Cases:
- Categorize incoming support tickets for routing
- Score or tier leads based on qualification signals
- Classify documents by type
- Determine sentiment or priority from customer messages
AI Summarization
AI Summarization
Uses AI to distill lengthy input content into a concise summary capturing the key points.Example:Common Use Cases:
- Summarize customer feedback before creating a support ticket
- Create executive briefings from long reports
- Condense meeting notes or email threads
- Generate a one-line description for a record from free-form input
AI Data Search
AI Data Search
Runs a semantic search against a configured AI Search table using a dynamic query, returning contextually relevant results for use in subsequent actions. The query supports value references from earlier in the automation, so results are always specific to the current record or trigger.Configuration:
- AI Search table: Select any configured AI Search table (Element or Table)
- Query: The search query; supports value references (e.g.,
{{trigger.description}},{{create_ticket.summary}})
- Find relevant knowledge base articles based on a support ticket description
- Look up related records using semantic meaning rather than exact field matches
- Surface contextual information within multi-step workflows without manual lookups
Communication
Communication actions send notifications, messages, and updates to users inside and outside of Elementum.Send Record Update
Send Record Update
Sends an in-platform notification about a record to specified users within Elementum, without sending an external email.Example:Common Use Cases:
- Notify a team when a record is ready for review
- Alert an assignee when a ticket is escalated
- Inform stakeholders of status changes without external email
- Prompt users to take action on a record
Send Email Notification
Send Email Notification
Sends a formatted email to up to 25 recipients using dynamic content from automation variables, with support for HTML formatting and multiple file attachment sources.Example:Configuration:
Email Attachments:
Common Use Cases:
| Field | Description |
|---|---|
| Action Name | A descriptive name for this action |
| From Display Name | The sender name that appears to recipients |
| From | The email address prefix (before @yourdomain.com) |
| Bcc | Recipients to blind carbon copy (up to 25 total recipients) |
| Subject | Email subject line |
| Notification Body | Email content with HTML formatting |
| Email Attachments | Optional files to include with the email |
| Attachment Type | Description |
|---|---|
| Record | Attach files from specific file fields on the trigger record |
| Attachments | Attach all files from the attachments block on the trigger record |
| File | Attach files from file fields available in the workflow context |
You can combine multiple attachment types in a single email. For example, attach both a generated report and files from the record’s attachments block.
- Customer confirmations and updates
- Team notifications and alerts
- Executive summaries and reports
- Process completion notifications
Post Comment
Post Comment
Adds a timestamped comment to a record, creating a visible audit trail of what the automation did and why at that step.Example:Common Use Cases:
- Log AI classification decisions for transparency
- Document key milestones at each step of a workflow
- Track approval reasoning
- Debug automations by tracing variable values at specific steps
Send Message to Teams
Send Message to Teams
Posts a message to a Microsoft Teams channel, delivering real-time notifications directly to your team’s collaboration workspace.Example:Common Use Cases:
- Critical issue alerts to an on-call channel
- Project milestone updates for the team
- Escalation notifications for high-value accounts
- Status broadcasts after an automation completes
Initiate Call
Initiate Call
Triggers an outbound phone call from a configured AI agent to a specified phone number. The call runs asynchronously — the workflow continues immediately without waiting for the call to complete.Configuration:Common Use Cases:
- Action Name: Descriptive name for the call action
- AI Agent: Which agent will conduct the call
- Phone Service: Phone service provider to place the call
- Phone Number: Number to call (from a record field, previous action output, or static value)
- Related Record (optional): Record this call relates to, for context
- Additional Context (optional): Extra information for the AI agent
- Default Language: Language for the call conversation
- Automated appointment reminders
- Follow-up calls for high-priority support tickets
- Proactive outreach for critical account updates
- Post-purchase satisfaction checks
Files
File actions process documents, extract text content, and manage file storage on records.File Size Limits: Elementum supports file uploads up to 250MB per file. This applies to all file operations including attachments, file fields, and API uploads. Note that email attachments have a lower limit of 25MB due to email provider restrictions.
Read File
Read File
Extracts the text content of an uploaded file and makes it available as a variable for downstream actions. Supports PDF, DOC, DOCX, TXT, CSV, and Excel formats.Example:Common Use Cases:
- Extract text from contracts before AI analysis
- Process uploaded reports
- Read customer-submitted documents
- Import data from files into record fields
Read Bulk File
Read Bulk File
Extracts text content from multiple files simultaneously and returns their contents as an array, without needing to loop through individual Read File actions.Example:Common Use Cases:
- Process a batch of monthly reports
- Handle multiple customer document uploads simultaneously
- Extract content from a collection of files before analysis
Save Attachment
Save Attachment
Saves a file to the attachments block on a specified record. Files generated or received during an automation — such as generated reports or email attachments — are not persisted automatically; this action is required to attach them.Example:Generate Report Example:Ways Files Get Added to Records:
Common Use Cases:
Use this action after Generate Report to attach the generated file to a record. Without this step, the report exists only as a temporary reference within the automation.
| Method | Description | Max Size |
|---|---|---|
| Email Received | Email attachments are automatically added when creating records via the Email Received trigger | 250MB per file |
| Send API Request | Download files from external APIs and save them as attachments | 250MB per file |
| External API | Third-party systems can add attachments via Elementum API endpoints | 250MB per file |
| Manual Upload | Users can manually add attachments in the record layout’s attachments block | 250MB per file |
| File Fields | Specific File Field types store files in designated fields (separate from the attachments block) | 250MB per file |
- Save generated reports to records
- Attach contracts with customer records
- Archive email attachments to the related record
- Organize file submissions from uploads or external systems
Unzip File
Unzip File
Extracts files from a ZIP archive and makes the individual files available as outputs for subsequent actions.Example:Common Use Cases:
- Process batches of documents delivered as a ZIP archive
- Handle archived file submissions from external systems
- Extract contents before running AI analysis on individual files
Data
Data actions perform calculations, run scripts, set variables, and invoke other automations.Execute Script
Execute Script
Executes custom JavaScript in a secure, sandboxed environment. Your code receives named input values and returns a result object that subsequent actions can reference — useful for transformations and logic that built-in actions can’t cover.Configuration:
Getting Started:When you add an Execute Script action, the code editor starts with a helpful template:Security Model:The script runs in an isolated sandbox with strict constraints:Example:Common Use Cases:
| Field | Description |
|---|---|
| Action Name | A descriptive name for this action |
| Inputs | Named input values from triggers, previous actions, or static values |
| Code | JavaScript code that processes inputs and returns a result object |
- No access to file system, network, or external resources
- Execution timeout: 10 seconds maximum
- Statement limit: 50,000 JavaScript statements
- Console output captured (maximum 20 KB)
- Complex data transformations beyond built-in calculations
- Custom business logic with conditional rules
- Parsing and restructuring data from external sources
- Data validation and normalization
- Aggregating data across multiple records
- String manipulation and formatting
| Variable | Type | Description |
|---|---|---|
result | JSON | The object returned by your JavaScript code |
textResult | Text | JSON string representation of the result |
Run Calculation
Run Calculation
Evaluates a mathematical or logical expression using values from triggers or previous actions and returns the computed result.Example:Common Use Cases:
- Calculate order totals, taxes, and fees
- Compute discounts based on quantity or tier
- Determine shipping costs
- Evaluate thresholds for conditional logic
Set Variable
Set Variable
Stores a value under a named variable that any subsequent action in the automation can reference.Example:Common Use Cases:
- Store calculation results for reuse across multiple steps
- Save an API response value to reference later
- Capture a derived value to avoid repeating the same logic
Run Automation
Run Automation
Invokes a separate named automation as a step in the current workflow, allowing you to reuse shared automation logic without duplicating it.Example:Common Use Cases:
- Reuse a shared notification or cleanup automation across multiple triggers
- Break large, complex automations into smaller, maintainable units
- Invoke a standard sub-process from multiple different entry points
Users
User actions find users and user groups within your system for assignments and notifications.Search Users
Search Users
Queries the user directory and returns users matching your specified criteria, making them available for assignments, notifications, or conditional logic.Example:Common Use Cases:
Accessing User Properties:
- Find the right user to assign a record to
- Look up a user by email for automated assignment
- Identify team members in a specific department or role
- Route work based on team membership
| Variable | Type | Description |
|---|---|---|
users | User (array) | All users matching the search criteria |
user | User | The first user found (convenient for single-user lookups) |
count | Number | Total count of users matching the criteria |
| Sub-Property | Type | Description |
|---|---|---|
user.id | User ID | The unique identifier of the user |
user.name | Text | The user’s display name |
user.email | Text | The user’s email address |
To access individual user properties from the
users array, use a Repeat for Each action to iterate over the collection. Inside the loop, each item will have access to sub-properties like item.id, item.name, and item.email.Search User Groups
Search User Groups
Queries the user group directory and returns groups matching your specified criteria, making them available for team-based assignments and notifications.Example:Common Use Cases:
- Assign a record to an entire team rather than a specific user
- Look up a group by name for dynamic assignment logic
- Route work to a department based on classification output
External
External actions connect your automations to third-party systems and services.Send API Request
Send API Request
Sends an HTTP request (GET, POST, PUT, or DELETE) to any REST API and returns the response as a variable for downstream actions. Supports multiple authentication methods.Example:Request Types:
Basic Auth:Enter a username and password. Credentials are encrypted at rest and sent as a Base64-encoded Authorization header with each request.Bearer Token:
The dynamic reference option enables advanced patterns like using a JWT token generated by a prior Execute Script action.OAuth (Client Credentials):
- GET: Retrieve data from external systems
- POST: Send data to external services
- PUT: Update records in external systems
- DELETE: Remove data from external systems
| Type | Description |
|---|---|
| No Auth | No authorization header added to the request |
| Basic Auth | Username and password encoded as Base64 in the Authorization header |
| Bearer Token | Token-based authentication with static or dynamic token values |
| OAuth | Client Credentials flow with automatic token caching and refresh |
| Option | Description |
|---|---|
| Static Token | Enter a fixed token value (encrypted at rest) |
| Dynamic Reference | Select a value from a previous action or trigger output using the reference picker |
- OAuth URL: The token endpoint URL
- Client ID: Your OAuth client identifier (encrypted at rest)
- Client Secret: Your OAuth client secret (encrypted at rest)
- Request Type: How credentials are sent — HTTP Basic (Authorization header) or Form URL Encoded (request body)
- Custom Headers: Additional headers for the token request (optional)
- Check inventory levels
- Validate addresses
- Process payments
- Update CRM systems
- Sync with accounting software
- Integrate with REST APIs requiring various authentication methods
| Variable | Type | Description |
|---|---|---|
response | JSON | Parsed JSON response body |
success | Boolean | Whether the request succeeded |
textResponse | Text | Raw text response body |
statusCode | Number | HTTP status code (e.g., 200, 404, 500) |
file | File | Downloaded file (when response type is FILE) |
Run Function
Run Function
Invokes a pre-built custom function with input parameters, enabling specialized processing and integrations that aren’t covered by built-in actions.Example:Common Use Cases:
- Specialized business logic not covered by built-in actions
- Custom integrations with proprietary systems
- Advanced data processing and analytics
- Reusable processing routines shared across automations
For design principles, performance strategies, and proven patterns, see Automation Best Practices. For trigger configuration and use cases, see the Automation Triggers Reference.