Documentation Index
Fetch the complete documentation index at: https://docs.firstwork.com/llms.txt
Use this file to discover all available pages before exploring further.
The Object Graph is a dynamic variable system that lets you reference any data point in Firstwork using dot-notation paths. It powers navigation rules, automation templates, email/SMS content, webhook payloads, and visibility rules.
How It Works
Use double curly braces to insert a variable reference anywhere that supports dynamic content:
{{application.candidate.first_name}}
At runtime, the platform resolves the path by walking through the data model and replacing the variable with the actual value.
Common Paths
Candidate & Application
| Path | Description |
|---|
{{application.candidate.first_name}} | Candidate’s first name |
{{application.candidate.last_name}} | Candidate’s last name |
{{application.candidate.email}} | Candidate’s email |
{{application.candidate.phone}} | Candidate’s phone number |
{{application.hiring_flow.name}} | Name of the hiring flow |
{{application.status}} | Current application status |
| Path | Description |
|---|
{{form_submission.elements.<slug>.value}} | Value of a specific form field by its slug |
Company & Contract
| Path | Description |
|---|
{{company.name}} | Company name |
{{contract.legal_entity.name}} | Legal entity name |
{{contract.start_date}} | Contract start date |
Where You Can Use It
| Feature | Example |
|---|
| Email templates | Personalize candidate emails with their name and application details |
| SMS templates | Include dynamic data in text messages |
| Slack messages | Post candidate-specific updates to channels |
| Webhook payloads | Send structured data to external systems |
| Navigation rules | Compare field values in rule conditions |
| Visibility rules | Show or hide fields based on data values |
| Automation actions | Dynamically set field values or configure action parameters |
Capabilities
- Deep nesting — Traverse relationships to any depth (e.g.,
application.hiring_flow.company.name)
- Array traversal — Access items within lists
- Computed properties — Reference calculated values like custom variables
- Default values — Provide fallback values when a path resolves to empty