frappe-impl-workflow

Implement Frappe document Workflows with states, transitions, roles, and conditions.

163|53|Updated Jan 14, 2026
One-click install
npx skills add https://github.com/Impertio-Studio/Frappe_Claude_Skill_Package --skill frappe-impl-workflow-impertio-studio
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: frappe-impl-workflow
Source: https://github.com/Impertio-Studio/Frappe_Claude_Skill_Package/tree/main/skills/source/impl/frappe-impl-workflow
Command: npx skills add https://github.com/Impertio-Studio/Frappe_Claude_Skill_Package --skill frappe-impl-workflow-impertio-studio

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This skill helps you implement Frappe Workflows safely and correctly so approval chains don’t break, documents don’t get stuck without valid actions, and state transitions don’t produce permission or docstatus-related failures.

Core Features & Use Cases

  • Workflow design and state-machine correctness: Maps states, transitions, roles, and conditions to prevent dead ends.
  • Production-ready doc_status handling: Ensures intermediate approval states use doc_status = 0 and only final states use doc_status = 1, with proper cancelled handling (doc_status = 2).
  • Approval-chain safeguards: Covers allow_self_approval blocking, conditional routing, email notifications, and automatic field updates on state change.
  • Testing and troubleshooting: Provides both manual and programmatic testing patterns to validate every transition path, including rejection loops and condition boundaries.

Quick Start

Use the frappe-impl-workflow skill to generate a complete Workflow definition for your target DocType by specifying your approval states, roles, and transition rules.

Frequently Asked Questions about frappe-impl-workflow

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement a Frappe workflow with correct doc_status mapping?

Frappe workflow implementation requires mapping intermediate approval states to doc_status 0, final states to doc_status 1, and cancelled states to doc_status 2 to prevent transition failures. This ensures valid state machine behavior across submittable and non-submittable DocTypes.

Why does my Frappe document get stuck without valid workflow actions?

Frappe documents get stuck when workflow states lack valid transition rules or have overlapping conditions. Defining mutually exclusive transition conditions and mapping roles correctly prevents dead ends and ensures approval chains function properly.

How do I prevent self-approval in a Frappe approval chain?

Self-approval in Frappe workflows is blocked by configuring allow_self_approval settings within the workflow transition rules. This ensures users cannot approve documents they submitted, maintaining separation of duties in the approval chain.

How do I test Frappe workflow transitions programmatically?

Frappe workflows are tested programmatically using get_transitions and apply_workflow functions to validate every transition path. This testing approach verifies rejection loops, condition boundaries, and state changes across submittable DocTypes.

Can I use conditional routing and email notifications in Frappe workflows?

Conditional routing and email notifications are supported in Frappe workflows through transition rules with mutually exclusive conditions and automatic field updates on state change. This enables complex approval chains with rejection loops and send-back functionality.

What's the best way to handle rejection and send-back loops in Frappe workflows?

Rejection and send-back loops in Frappe workflows are handled by defining transition rules that route documents back to previous states while maintaining proper doc_status alignment. Intermediate states use doc_status 0 to keep documents editable during the approval cycle.