Workflow run issues

Hi

I am facing an intermittent automation issue and I would d like to confirm whether this is expected behavior or a bug and what the recommended pattern is.

Context: (same module and same record in both workflows).

  • Workflow A is triggered on Compose record → BeforeCreate. In Workflow A, I perform a record lookup (e.g., records/values needed for initialization) and then update the same record (set some fields without any record update Function ).
  • Workflow B** is triggered on Compose record → AfterCreate for the same module and the same record as I need the recordID. * Workflow B also performs actions on that newly created record (e.g., generating/attaching a file, updating fields, etc.) but here with record update Function.

Problem : The execution of Workflow B (AfterCreate) is occasional/intermittent :

  • Sometimes Workflow B runs as expected right after record creation.
  • Other times it does not run at all, even though the record is created successfully.
  • In those cases, I have to trigger Workflow B manually for the record.

What I’ve checked

  • Workflow B is enabled and has the correct module/namespace constraints.
  • The record is created successfully every time.
  • There are no obvious errors in Workflow A (BeforeCreate) that would cancel the creation.

Question
Is it a known issue/limitation that modifying the same record inside a BeforeCreate workflow can cause the corresponding AfterCreate trigger to be missed intermittently?

If yes:

  • What is the recommended design to ensure reliable AfterCreate execution ?

Thanks in advance for any guidance or best practices.

Best regards

The most robust fix is to move your Workflow A logic into Workflow B. * Instead of doing lookups in BeforeCreate, do them immediately at the start of your AfterCreate workflow.

  • Since the record already exists at this point, you have the recordID ready to go.
  • You end the workflow with a single Record Update that saves everything at once.

If you must use BeforeCreate for initialization, never use the “Record Update” function there. Just set the value on the record variables. If you trigger a formal update/save inside a “Before” trigger, it can loop or collide with the system’s own internal save process, which is likely why your AfterCreate is firing intermittently.