Resource · framework

Example Workflow: Blog Draft and Review

Summary

A ready-to-build DAVE workflow that takes a content brief from a human, generates a blog draft with an AI agent, runs a safety check, and routes the result through editorial approval before completion. Seven nodes, three outcomes, no code.

The workflow: seven nodes in order

Build this workflow in the Workflow Editor by dragging nodes from the Node Palette onto the canvas in the order below, connecting each node's source handle (bottom circle) to the next node's target handle (top circle), and configuring each node in the Properties Panel. Every path must lead to an End node.

  1. Start (green / Play icon)
    The entry point. Every workflow requires exactly one Start node. Execution begins here. No configuration required beyond the label. Suggested label: "Start".
  2. User Interaction (blue / User icon)
    Pauses the workflow and creates a task in the assigned user's Task Inbox. The user submits a content brief: the topic, target audience, desired length, tone, and any reference links. The workflow resumes when the user submits their input. Suggested label: "Submit Content Brief". In the Properties Panel, set User Assignment to the author or content requester, and configure Notifications to alert them when the task is created.
  3. Agent Interaction (purple / Bot icon)
    Invokes an AI agent automatically using the brief submitted in the previous step as context. The agent generates a full blog draft and writes it to the workflow payload. No human involvement at this step: the agent processes and returns its result without pausing. Suggested label: "Generate Blog Draft". In the Properties Panel, assign the agent you have configured for content generation and select the appropriate model from that agent's catalog.
  4. Safety (teal / Shield icon)
    Runs content safety and compliance checks against the generated draft. Flags or blocks content that violates configured policies before it reaches a human reviewer. Place this node between the Agent Interaction node and the Human Review node so that a reviewer never sees policy-violating content. Suggested label: "Safety Screen". Configure the safety policies appropriate to your content standards in the node's JSON config.
  5. Human Review (amber / Eye icon)
    Creates a review task in the assigned editor's Task Inbox. The editor reads the draft in the task payload and chooses one of three decisions: Approve, Reject, or Request Changes. Each decision routes execution to a different outgoing path (see Outgoing Paths below). Suggested label: "Editorial Approval". In the Properties Panel, set User Assignment to the editor or editorial role, and set Notifications to Custom audience with the task assignee and instance owner selected so the editor is notified when the draft is ready and the requester knows when a decision has been made.
  6. End: Approved (red / Square icon)
    Terminal node for the Approve path. Execution reaches this node when the editor approves the draft. The workflow instance completes with an approved outcome. Suggested label: "Approved".
  7. End: Rejected (red / Square icon)
    Terminal node for the Reject path. Execution reaches this node when the editor rejects the draft outright. The workflow instance completes with a rejected outcome. Suggested label: "Rejected". Optionally, insert a User Interaction node before this End node to notify the requester of the rejection and collect notes on why.

The Request Changes path loops back to the Agent Interaction node (Step 3) rather than terminating. The editor's comment in the task payload provides revision instructions. The agent regenerates the draft using the original brief plus the revision comment, and the revised draft re-enters the Safety node and Human Review node. This loop continues until the editor approves or rejects.

Outgoing paths from the Human Review node

The Human Review node has three output ports, one for each possible reviewer decision. Each port must be connected to a downstream node before you save. A dangling port (no outgoing edge) may cause a workflow instance to hang at runtime when a reviewer makes that decision.

DecisionConnect toWhat happens
ApproveEnd: ApprovedThe draft is accepted. The workflow instance completes successfully.
RejectEnd: Rejected (or a notification step before it)The draft is discarded. The workflow instance closes with a rejected outcome.
Request ChangesAgent Interaction (Generate Blog Draft)The draft is sent back for revision. The agent regenerates using the original brief plus the editor's comment. The revised draft re-enters the Safety node and Human Review node.

The Request Changes loop is the most important path to test. Trigger a test instance, reach the Human Review task, submit Request Changes with a comment, and confirm the workflow routes back to the Agent Interaction node and that the agent receives the revision comment in its context. Test the loop at least twice to confirm it does not break on the second iteration.

If you want to limit the number of revision loops (to prevent a draft from cycling indefinitely), insert a Routing node (purple / GitFork icon) between the Human Review node's Request Changes port and the Agent Interaction node. Configure the Routing node to count iterations using a field in the workflow payload and route to an End node after a defined maximum.

Who builds it and who runs it

Two different role sets are involved in this workflow: the people who build it in the Workflow Editor, and the people who interact with it at runtime through the Task Inbox.

Building the workflow

Only Admin and Curate roles can open the Workflow Editor, place nodes, connect edges, configure node properties, and save versions. DAVE ships with six default tenant roles: Admin, Create, Curate, Use, Reporting, and Financial. All roles are editable by your administrator.

Running the workflow: Task Inbox participants

This workflow creates two types of tasks at runtime:

  • User Interaction task (Submit Content Brief): the content requester or author submits the brief. They need access to the Task Inbox. Assign them the Use role if they should only interact with tasks and not access the editor or agent configuration.
  • Human Review task (Editorial Approval): the editor reviews the draft and submits a decision. They also need Task Inbox access. Assign them the Use role for the same reason.

A person with only the Curate role can open the Workflow Editor and see the graph, but Curate is not a task-completion role. Assign Use to anyone whose job is to complete tasks in the workflow, not to build it.

Adapting this framework to your team

This framework is a starting point. Common adaptations:

Add a second editorial tier

Insert a second Human Review node after the first one for a two-stage approval: a line editor approves the draft first, then a managing editor gives final sign-off. Connect the first Human Review node's Approve port to the second Human Review node's target handle. The second node's Approve port connects to the End: Approved node.

Add an SEO review step

Insert an Agent Review node (pink / Bot icon) between the Agent Interaction node and the Safety node. Configure it with an agent that evaluates the draft against SEO criteria (keyword presence, heading structure, meta description quality) and returns a pass/fail result. Connect the fail port back to the Agent Interaction node with revision instructions, and the pass port forward to the Safety node.

Replace the User Interaction brief with a form submission trigger

If your content briefs arrive via an external form or CMS, replace the User Interaction node with an API Call node (cyan / Zap icon) that fetches the brief from your external system. The workflow starts on a schedule or webhook trigger rather than waiting for a human to submit a task.

Add a Routing node for content type branching

If your team produces multiple content types (news, opinion, long-form), insert a Routing node after the User Interaction node. Configure it to read a content type field from the brief and route to different Agent Interaction nodes, each configured with an agent and prompt optimized for that content type.

Notify the requester on completion

Insert a User Interaction node before the End: Approved node to notify the content requester that their draft has been approved and is ready for publishing. Configure Notifications on that node to alert the instance owner.

Frequently asked questions

Does the agent see the editor's revision comment when the Request Changes loop runs?

The editor's comment is written to the workflow payload when the Human Review task is completed. The Agent Interaction node on the next iteration receives the full workflow context, which includes the original brief, the previous draft, and the editor's comment. Configure the agent's prompt to instruct it to incorporate revision feedback from the payload. The specific field name for the comment depends on how your Human Review node's output fields are configured.

What happens if the Safety node flags the draft?

The Safety node (teal / Shield icon) flags or blocks content that violates configured policies. If the draft is flagged, execution may route to a separate path or terminate, depending on how the Safety node's output ports are configured. Design a dedicated path for flagged content: connect the Safety node's flag port to a Human Review node or an End node with a flagged-content label, rather than letting flagged drafts reach the editorial review step.

Can the same person submit the brief and review the draft?

Yes, if they are assigned to both the User Interaction task and the Human Review task and have the appropriate role. Whether this is appropriate depends on your editorial governance requirements. For most teams, the brief submitter and the editorial reviewer are different people. Assign the User Interaction node to the author role and the Human Review node to the editor role to enforce separation.

How many versions does saving create?

Each click of Save Version creates one new immutable version of the workflow graph. Previous versions are preserved. If you iterate on the design during setup, you may accumulate several versions before the workflow is ready for production use. This is expected behavior: versions are cheap and the history is useful for rollback.

Can I add more than one Agent Interaction node to handle different draft styles?

Yes. Use a Routing node after the User Interaction node to read a style or content-type field from the brief and route to different Agent Interaction nodes, each configured with a different agent or prompt. All branches can converge on the same Safety node and Human Review node downstream.