I’ve implemented several IP management integrations with ENOVIA and this auto-start workflow issue is a frequent challenge. The solution requires addressing three key configuration areas:
1. Import Mapping Configuration
Your XML mapping is close but incomplete. The autoStart attribute in the mapping doesn’t actually trigger workflows - it’s a flag that tells the import process to respect object-level auto-start policies. You need to enhance your mapping to include post-import processing:
<ObjectMapping type="Patent">
<Attribute name="patentNumber" source="patent_id"/>
<Attribute name="filingDate" source="filing_date"/>
<PostImportAction type="WorkflowStart">
<WorkflowName>IP_Approval_Process</WorkflowName>
<TriggerCondition>onCreate</TriggerCondition>
</PostImportAction>
</ObjectMapping>
This explicit post-import action ensures the workflow starts after the object is fully created and all attributes are populated.
2. Workflow Auto-Start Flag Configuration
The workflow definition itself needs proper auto-start configuration. In the ENOVIA workflow administration, edit your IP_Approval_Process workflow and verify these settings:
- Auto-Start Enabled: YES
- Trigger Event: Object Create
- Target Types: Patent (explicitly listed)
- Execution Context: Immediate (not deferred)
- Required Attributes: List any attributes that must be populated before workflow can start
The key is the ‘Required Attributes’ setting. If your workflow expects certain patent attributes to be populated (like filingDate, inventorName, etc.) and they’re not available at the instant of object creation during import, the auto-start will silently fail. Review the process logs with debug logging enabled:
wt.workflow.engine.autoStartDebug=true
wt.import.workflowTrigger.logLevel=VERBOSE
The logs will show you exactly why auto-start is failing - usually it’s either missing required attributes or permission issues.
3. Process Log Review and Event Handler Verification
The fact that your process logs show no workflow start attempts indicates the create event handler isn’t firing. This happens when imports use bulk loading APIs that bypass normal object lifecycle events for performance. You have two options:
Option A - Modify the import process to use standard object creation APIs:
Switch from bulk import to individual object creation, which will fire proper lifecycle events but will be slower.
Option B - Add a post-import workflow trigger script (recommended):
Create a scheduled task or post-import script that runs after each import batch:
// Pseudocode - Post-import workflow starter:
1. Query for Patent objects created in last import batch (by creation date/import flag)
2. Filter for patents without active workflows
3. For each patent:
- Validate required attributes are populated
- Check user has workflow start permissions
- Start IP_Approval_Process workflow programmatically
4. Log results and any failures
// See ENOVIA Java API: WorkflowHelper.startWorkflow()
Implement this as a post-import step in your integration. It’s more reliable than depending on auto-start during bulk imports because it ensures all attributes are committed and the object is fully accessible before workflow initiation.
The combination of explicit post-import actions in your mapping, proper workflow auto-start configuration with required attributes validation, and a fallback post-import script will ensure workflows start reliably for all imported patent records.
This draft is based on general ENOVIA knowledge. It has not been verified against your specific version and environment. Practitioners: verify the steps and share your experience below.