Skip to main content

Unfinished Documentation Reminder Workflow Technical Reference

A node-by-node technical reference for the Unfinished Documentation Reminder Workflow template - covers node configuration, data flow, and connections for developers and administrators setting up, customising, or troubleshooting the workflow.

Written by Cameron Falconer

Find this workflow

This workflow is available as a template in Workflow Automation.

  1. Log in and open Workflow Automation.

  2. Select Templates from the left-hand menu.

  3. Search for ACP - you will see the ACP templates listed.

  4. Click Use this template on the Unfinished Documentation Reminder Workflow to create your own editable copy.

Note: Clicking Use this template creates a new workflow based on the template. You can then modify and configure it without affecting the original template.

Before you activate

This workflow does not use workflow parameters, so there is nothing to add before activating it. Check these two items instead:

  • ACP instance: the Application_Subscription node has a specific ACP instance selected. Confirm it is your instance.

  • Feed recipients: the evo_feed_notification node has no recipients set in the template. Set the recipients before activating so the right people receive the feed item.

How the workflow runs

This workflow runs every 30 minutes and checks visits that have been completed or updated in the previous 30 minutes. For each of these visits, an AI Agent assesses whether the visit note contains specific, verifiable information. If it does not, the workflow sends a Non-Compliant Visit Note Detected item to the Evo Web Feed with a link to the visit.

The workflow runs on a schedule only, and the template has no manual trigger. It does not record which visits have already been flagged. A visit that is updated again after being flagged is assessed again and may be flagged again.

The note-quality criteria are written into the system prompt of the AI Agent node. To change them, open the AI Agent node in the workflow builder.

Node reference

1. Schedule Trigger

Type: Trigger

Starts the workflow every 30 minutes in the Europe/London timezone. No parameters are required.

2. timeframe

Type: Code - JavaScript

Calculates the time 30 minutes before the current run. The result is an ISO 8601 date string used as the lower limit when visits are queried.

Technical detail

const now = new Date(); const thirtyMinutesAgo = new Date(now.getTime() - (30 * 60 * 1000)); result = thirtyMinutesAgo.toISOString();

3. Application_Subscription

Type: Connector - Care Planning API

Retrieves the ACP application subscriptions. The output provides the subscription ID used to query each instance, and the ACP server URL used to build the visit link.

Technical detail

  • Endpoint: GET /applicationSubscriptions

  • Instance: set in the node configuration. Confirm this is your ACP instance.

4. Loop Through Subscriptions

Type: Loop - For Each Item

Runs the nodes that follow once for each subscription returned by Application_Subscription. The loop has a maximum of 100 iterations.

Technical detail

  • Loop Mode: For Each Item

  • Input Array: {{ $node["Application_Subscription"].output.data }}

  • Max Iterations: 100

5. Care Planning Connector

Type: Connector - Care Planning API

Retrieves completed visits for the current subscription that were updated within the time window set by the timeframe node.

Technical detail

  • Endpoint: GET /visit

  • Instance: the subscription from the current loop iteration

  • Limit: 1000, sorted by ID ascending

  • MQL filter:

status=Completed,updatedDateTime>={{ $node["timeframe"].output.data[0] }}

6. If

Type: Flow control - If

Checks whether the Care Planning Connector returned zero visits. If it did, that branch ends and nothing is assessed. Otherwise, the workflow continues to the AI Agent.

Technical detail

  • Condition: {{ $node["Care Planning Connector"].output.data.size }} Equals 0

7. AI Agent

Type: AI Agent

Reviews the visit notes returned by the Care Planning Connector. It judges only whether each note is complete and specific. It does not judge clinical accuracy, spelling, grammar or quality of care, and it does not rewrite notes.

A note is flagged when it is empty, is a bare acknowledgement such as "done" or "ok", or only states that the visit happened. A note is accepted when it records at least one specific detail, including an observation about the service user, a task performed, or a statement about complaints or issues, including the absence of them.

Technical detail

  • Model: claude-haiku-4-5

  • Max tokens: 4096

  • Max iterations: 10

  • Response style: concise

8. build_json

Type: Output Parser (connected to the AI Agent)

Checks that the AI Agent's output matches the expected JSON structure. If validation fails, the run stops with an error.

Technical detail

  • Expected output: an array of objects, each with tenantTaskId, customer, visitDateTime and deficiency

  • Strict validation: on

  • Auto-fix: on

  • On validation failure: error

9. parse_json

Type: Code - JavaScript

Passes the AI Agent's result to the next stage. If the AI Agent returns an empty list, no visits are passed on.

Technical detail

const aiOutput = {{ $node["AI Agent"].output.content }}; if (aiOutput.content === "[]") { result = []; } else { result = [aiOutput]; }

10. Loop Through Visits

Type: Loop - For Each Item

Runs the feed notification once for each flagged visit.

Technical detail

  • Loop Mode: For Each Item

  • Input Array: {{ $node["parse_json"].output.data[0] }}

  • Max Iterations: 100

11. evo_feed_notification

Type: Evo Web Feed - Send Feed Item

Sends a Non-Compliant Visit Note Detected item to the Evo Web Feed for each flagged visit. The item shows the service user, the tenant task ID, the visit date and the deficiency. It includes a Visit Details link that opens the visit in Access Care Planning.

Technical detail

  • Operation: Send Feed Item

  • Correlation ID: {{ $evo.execution.id }} (set at run time)

  • Title: Non-Compliant Visit Note Detected

  • Feed Type: Information (no user action required)

  • Include Links: true - Link text: Visit Details

  • Link URL: {{ $node["Loop Through Subscriptions"].output.item.acpServerUrl }}/viewlink/task?tenant_task_id={{ $node["Loop Through Visits"].output.item.tenantTaskId }}

  • Include Copilot Prompts, Actions and MFE: false

Workflow summary

Stage

Nodes

What happens

Trigger

1

Workflow starts every 30 minutes

Time window

2

Sets the lookback to 30 minutes before the run

Data fetch

3-5

Gets the ACP subscriptions, then the completed visits updated in the window for each one

Check

6

Ends the branch when no visits are returned

Note assessment

7-9

The AI Agent assesses each note, and the output is validated and passed on

Notify

10-11

Sends one Evo Web Feed item for each flagged visit


​

Did this answer your question?