FAQ Creation Workflow

Importing workflows

Find out how to Import Workflows

FAQ Creation workflow

requires v3.0.2+

com.comalatech.workflow.repository.categories.label:Knowledge Base|Sample

Multi-Step FAQ Creation workflow which allows users to submit topic/pages to be approved by the assigned subject matter experts (SME) and the FAQ administrators

  • Allows any user to submit topics, which are approved by one or more subject matter experts (SME) and FAQ Administrators

  • Only the Author and FAQ Administrators can see the submitted FAQ until it is published

    • the SME users are users added as a value(s) for the workflow user parameter Component Leads

    • the FAQ administrators are the users who are members of the Confluence user group(s) added as a value(s) for the workflow group parameter FAQ Administrators

  • Uses a number of workflow triggers (rules)  to send custom email notifications on the following workflow events

    • pagecreated

    • pageupdated

    • pagerejected

    • pageapproved

The workflow stores the value of the user who submitted the faq page for review as a value for the metadata named FAQ Author. This metadata value is set on the transition from the Draft state to the Submitted state


FAQ Creation Workflow Markup

{workflow:name=FAQ Creation Workflow} {description} Multi-Step FAQ creation workflow which allows users to submit topic/pages to be approved by the assigned SME(s) and FAQ Admin. Only the SME's and FAQ Admin can see the submissions before they are approved. {description} {workflowparameter:FAQ Administrators|type=group} confluence-users {workflowparameter} {workflowparameter:Component Leads|type=group} confluence-users {workflowparameter} {state:Draft|submit=Submitted} {state} {state:Submitted|approved=Approved|rejected=Rejected} {approval:Approve|group=@FAQ Administrators@} {state} {state:Approved|approved=Reviewed|rejected=Closed} {approval:Review|selectedapprover=@Component Leads@} {state} {state:Reviewed|approved=Published|rejected=Closed} {approval:Publish|group=@FAQ Administrators@} {state} {state:Published|final=true|updated=Approved|hideselection=true} {state} {state:Closed|hidefrompath=true} {state} {state:Rejected|hidefrompath=true} {state} {trigger:statechanged|state=Submitted} {set-metadata:FAQ Author}@user@{set-metadata} {send-email:user=@FAQ Administrators@|subject=FAQ Submitted} The FAQ @page@ has been submitting by [~@user@] and is waiting for your approval. {send-email} {trigger} {trigger:pageapproved|approval=Approve} {send-email:user=@Review>selected@|subject=FAQ Accepted} The FAQ @page@ has been approved by [~@user@] and is waiting for your review. {send-email} {trigger} {trigger:pagerejected|approval=Approve} {send-email:user=@FAQ Author@|subject=FAQ Rejected} Your FAQ @page@ submission has been rejected. {send-email} {trigger} {trigger:pageapproved|approval=Review} {send-email:user=@Approve>approver@|subject=FAQ approved} The FAQ @page@ has been approved by [~@user@] and is waiting for your approval. {send-email} {trigger} {trigger:pagerejected|approval=Review} {send-email:user=@Approve>approver@, @FAQ Author@|subject=FAQ rejected} The FAQ @page@ has been rejected by [~@user@]. {send-email} {trigger} {trigger:pagecreated} {add-restriction:type=View|user=@user@} {add-restriction:type=View|group=@FAQ Administrators@} {trigger} {trigger:pageapproved|approval=Approve} {send-email:user=@Review>selected@|subject=FAQ Accepted} The FAQ @page@ submitted by [~@FAQ Author@] has been approved by [~@user@] and is waiting for your review. {send-email} {add-restriction:type=View|user=@Review>selected@} {trigger} {trigger:pageapproved|approval=Publish} {send-email:user=@Approve>approver@|subject=FAQ published} The FAQ @page@ has been published {send-email} {remove-restriction:type=View} {trigger} {trigger:pageupdated|state=Published} {send-email:user=@Review>selected@|subject=FAQ updated, requires approval} The FAQ @page@ has been updated by [~@user@] and requires your approval {send-email} {trigger} {workflow}

FAQ Workflow Process

-

  • Any user can submit an FAQ

  • Only the Author and FAQ Administrators can see the submitted approval

  • only a user who is a member of the FAQ Administrators determines if the FAQ is appropriate and assigns the appropriate Component lead

  • If the FAQ is approved, then the FAQ is visible to the Component Leads and they are notified

  • If the FAQ is rejected, then the Author is notified

  • If the FAQ is approved by a Component Leads user then it is re-assigned to the FAQ Administrators for publishing

  • If the FAQ is published then it becomes visible to everybody

  • If the FAQ is rejected in this state, then the Author and all users who are Component Leads are notified

  • If the FAQ is updated after it has been published, then it has to be approved by the Component Leads and FAQ Administrators again

Workflow configuration in a space

After importing the workflow to your instance (either using global administration as a global template for the instance or space administration to a single space), you can add and apply the workflow to a space.

In each space, you need to add the workflow parameters values that will be used in the workflow

  • FAQ Administrators

  • Component Leads

The values of the workflow parameters are used by the workflow to assign reviewers to content reviews in the workflow. They are also used as recipients for email notifications for workflow events.

These values can be any existing Confluence user group. The default group value for each of the workflow parameters is the confluence-users group.

Having a default value for the parameters means that a space administrator can edit these values in the space tools Parameters screen.

The parameter value in the space tools will be used when the workflow is first applied to content in a space.

The workflow parameter values can also be edited using workflow builder.

Depending on workflow configuration, workflow parameter values can be edited by a user. This may be useful, for example when first applying the workflow an individual page or blog post and you want to allow the user to set the parameter values,