See llms.txt for all machine-readable content.
This workflow watches procurement events in Google Sheets, validates and normalizes each entry, checks the procurement’s lifecycle state to detect missing required steps, and then uses OpenAI to recommend a recovery action, logs results back to Google Sheets, and notifies stakeholders via Gmail.
| Issue | Possible Cause | Solution |
|---|---|---|
| Procurement event does not enter the workflow | Google Sheets Trigger is not configured correctly or the workflow is inactive | Verify the Google Sheets Trigger configuration and make sure the n8n workflow is active |
| Event is rejected as invalid | event_id, procurement_id, or event_type is empty |
Check the Procurement Events sheet and provide all three required fields |
| Workflow state is not retrieved | No matching procurement_id exists in Workflow State |
Add or update the corresponding procurement workflow state record |
| No lifecycle steps are detected | Procurement Steps does not contain valid required steps | Verify step_key, step_name, step_order, owner_role, success_event_type, and required values |
| A lifecycle step is ignored | The step does not have required = yes |
Update the required field in Procurement Steps |
| AI recommendation fails | OpenAI credential, model configuration, or response format is invalid | Verify the OpenAI credential, selected model, and AI node configuration |
| AI response is treated as manual review | The AI response is not valid JSON or contains an unsupported action | Review the AI prompt and response structure |
| Recovery route is unsupported | The missing step does not exist in the supported recovery route configuration | Add the required recovery step to the allowedSteps object or use manual review |
| Recovery task is not created | Recovery route validation did not return a valid route | Review route_status, missing_step_key, and the supported recovery routes |
| Manual-review task is created unexpectedly | AI response failed validation or the recovery step is unsupported | Review the recommendation and route-validation output |
| Email is not sent | Gmail credential or requester email is unavailable | Verify the Gmail credential and the requester_email value |
| Email goes to the wrong recipient | The requester email in the procurement event is incorrect | Verify requester_email in Procurement Events |
| Workflow results are missing | The relevant Google Sheets node cannot write to Workflow Results | Verify Google credentials, sheet access, and column mappings |
| Gap Log is not updated | Gap logging node cannot access or write to the Gap Log sheet | Verify the spreadsheet, sheet name, credentials, and column mappings |
| Procurement state appears incorrect | Workflow State data does not match the procurement ID or contains unexpected values | Review the Workflow State record and completed-step information |
| Amount is incorrect | Amount is converted using the JavaScript Number() conversion |
Verify that the source amount contains a valid numeric value |
| Currency defaults unexpectedly | Currency is empty in the source event | Provide the required currency value in Procurement Events |
| Notification status remains pending | The workflow result is created before notification completion | Check the Gmail node execution and downstream workflow execution status |