Result Path
Overview
The result path determines where in the process data the result of an activity is stored. It acts as the target address for the output data of an activity.
Summary
After an activity has completed its work and returns a result, the result path determines where this result is stored in the process data structure. This can be a simple path like customer.data or a nested path like invoice.generated_pdf.
Why this is helpful
The result path ensures structured storage of activity results. This keeps process data organized and allows subsequent activities to access results in a targeted manner.
Data Flow in an Activity
Process Data → Input Parameter → Activity → Output Parameter → Result Path → Process Data
- Process Data contains all current data of the process
- Input Parameter transforms the required data for the activity
- Activity processes the input data
- Output Parameter transforms the raw result of the activity
- Result Path determines where the transformed result is stored
- Process Data is extended with the new result
Syntax and Usage
Simple Path
The result is stored under a top-level field:
customer_data
Result in Process Data:
{
"customer_data": { ... }
}
Nested Path
The result is stored in a nested object:
invoice.data
Result in Process Data:
{
"invoice": {
"data": { ... }
}
}
Multiple Levels
customer.address.city
Result in Process Data:
{
"customer": {
"address": {
"city": "..."
}
}
}
Interaction with Output Parameter
The output parameter and the result path work together:
Example: Service Task Returns PDF
Situation: A Service Task generates a PDF and returns it:
{
"pdf": "base64encodedstring...",
"filename": "invoice.pdf"
}
Output Parameter (Transformation):
{ "invoice_pdf": $.pdf }
Result Path:
invoice.document
Result in Process Data:
{
"invoice": {
"document": {
"invoice_pdf": "base64encodedstring..."
}
}
}
In the Process Designer
Define Result Path
- Open Process Designer
- Select an activity
- Find the "Result Path" field in Properties
- Enter path (e.g.,
customer_dataorinvoice.generated_pdf) - Save and deploy process
Empty Result Path
If no result path is specified, the activity result overwrites the entire root context of the process data. This may be intentional, but caution: All previous process data will be lost!
Ignore Result
There is a separate option "Ignore Result". When activated, the result of the activity is completely discarded. This is useful when the activity only performs an action (e.g., send email) but no result should be stored.
Typical Use Cases
| Scenario | Result Path |
|---|---|
| Store customer data | customer_data |
| Customer-specific nested | customer.details |
| Document management | documents.invoice |
| Temporary result | temp.calculation |
| Status update | process.status |
Best Practices
Use Descriptive Paths
- ✅ Good:
invoice.pdf_document - ❌ Bad:
data1
Maintain Structure
Group related data:
- ✅ Good:
customer.contact.email,customer.contact.phone - ❌ Bad:
email,phone(unstructured)
Avoid Overwriting
Be careful not to overwrite important process data:
- ✅ Good:
calculated.total(new path) - ❌ Bad:
order(could overwrite existing order data) - ⚠️ Caution: Empty result path overwrites all process data!
Naming Conventions
- Use snake_case or camelCase consistently
- Avoid special characters
- Keep paths short and concise
Practical Examples
Example 1: PDF Creation
Activity: Service Task creates PDF from invoice
Output Parameter:
{ "pdf_content": $.pdf, "size": $.filesize }
Result Path:
invoice.generated_pdf
Access in subsequent activities:
$.invoice.generated_pdf.pdf_content
Example 2: Email Sending
Activity: Service Task sends email
Output Parameter:
{ "sent": true, "message_id": $.id }
Result Path:
customer_email_status
Access in subsequent activities:
$.customer_email_status.sent
Example 3: Database Query
Activity: Service Task retrieves customer data
Output Parameter:
{ "id": $.customer_id, "name": $.customer_name, "status": $.status }
Result Path:
customer.details
Access in subsequent activities:
$.customer.details.name
Troubleshooting
Result is not saved
Cause: Result path is empty or misspelled
Solution:
- Ensure the result path is filled in
- Check spelling (no spaces, correct dots)
- Redeploy the process
Result overwrites existing data
Cause: Result path points to existing data
Solution:
- Choose a unique path
- Check in Process Explorer which data already exists
- Use nested paths for structuring
Nested path is not created
Cause: Parent paths do not yet exist
Solution:
- Pantarey creates the structure automatically
- If problems occur, use a simpler path
- Check the process data in Process Explorer
FAQ – Frequently Asked Questions about Result Path
Do I always have to specify a result path?
No, but it is recommended. If no result path is specified, the activity result overwrites all process data (root context).
What is the difference between empty result path and "Ignore Result"?
- Empty Result Path: The result overwrites all process data (root context)
- Ignore Result (checkbox): The result is completely discarded, process data remains unchanged
Can I save multiple results at different paths?
There is only one result path per activity. Use the output parameter to combine multiple fields into one object.
What happens if the path already exists?
The existing data is overwritten. Therefore choose unique paths.
Can I use arrays as result path?
No, the result path is always an object path. However, arrays can be stored as values under the path.
How deep can I nest?
Technically there is no limit, but for clarity, a maximum of 3-4 levels should be used.
Can I access the result in the same activity?
No, the result is written to the process data only after the activity completes.
Relationship with Other Concepts
Input Parameter
The input parameter reads from process data, the result path writes to process data.
More on this: Activity Input and Output
Output Parameter
The output parameter transforms the raw result, the result path determines the storage location.
More on this: Activity Input and Output
Business Label
The business label can access data stored via the result path.
More on this: Business Label
Next Steps
- Learn more about Input and Output
- Create Processes and use result paths
- Service Tasks with structured results