Skip to main content

Creating forms linked to cases

How to use forms with cases

C
Written by CiviPlus Helpdesk
Updated this week

CiviCRM case management is used for tracking and managing sequences of interactions between people in the organisation and contacts in CiviCRM. It is integrated with the underlying Content Management System (CMS) to allow creating a Case upon submitting a webform.

The Case Client can submit a Webform and it automatically creates a Case in CiviPlus. The case client can also update the data on a Case by submitting another webform with checksum tokens including their contact ID and Case ID.

Basic configuration

Add Case-related fields to a Drupal webform

  1. Go to the CiviCRM tab of a webform and tick ‘enable CiviCRM processing’

  2. Go to the Cases tab and add Case details

  3. Select who should be the case client of the Case being created

  4. Follow the same process for assigning other Case Roles within the webform

Case settings

Field name

What does it do?

Number of Cases

Number of Cases created by submitting the webform

Update Existing Case

Allows updating an existing Case with the specified Case Status (likely picking up the relevant Case with the highest ID)

Create new case based on existing case

When it passes the Case ID on the webform URL, it creates a new Case based on the Case that was passed through

Case Type

The Case Type for the Case created by submitting the webform

Case Status

The Case Status we want to have after submitting the webform

Medium

How the case client contacted for a Case being created (you can

Case Roles - Case Client

Select which contact on the webform should be the case client. First, you must create a contact on the webform and it will appear in the dropdown of this field.

Case Roles - Other case roles

When there are multiple contacts on the webform, you may assign contacts to Case Roles other than case client

Case core/custom fields

Expose the selected custom fields on the webform to allow the submitter to enter details

  • What does ‘user select’ mean?

    • It allows the submitter to select the option on the webform ie. the field will be exposed on the webform for end users

  • What does automatic mean?

    • It picks up the value predefined in the system elsewhere (eg. Case Status will pick up the first status configured in CiviCRM)

Add Activity fields to a Drupal webform

  1. Go to the CiviCRM tab of a webform and tick ‘enable CiviCRM processing’

  2. Go to the Activity tab and add Activities

Activity settings

Field name

What does it do?

Number of Activities

Number of Activities created by submitting the webform

Update Existing Activity

Updates the existing Activity if the selected Activity Type is found on the Activity participant’s contact record

Include entire webform submission in activity details

Includes the details submitted through the webform in the Activity record

Include link to view webform submission in activity details

Includes a link to the webform submission result in the Activity record

Include link to edit webform submission in activity details

Includes a link to edit the webform submission details in the Activity record

Update the details when an existing activity is updated

TBC

File On Case

Record the Activity on the Case created by submitting the webform

Activity Type

The Activity Type for the Case created by submitting the webform

Activity participant(s)

Contacts involved in the Activity

Activity creator

It will be assigned to the submitter if not explicitly specified

Activity Status

The Activity Status we want to have after submitting the webform

Assign Activity to

You may assign the Activity to a specific contact when eg. there is a task/follow-up action required

Tag(s)

The Activity record can be tagged

Advanced configuration - Passing the Case ID in the webform URL

General info

It allows contacts assigned to Case Roles to update the Case data by submitting a webform.

It helps when amending the information already submitted, requiring further information to be submitted as a result of an internal review of an application or asking for additional information to be submitted by a third-party contact (eg. referees, reviewers etc).

Allowing case clients to update a case

  1. Create a webform with the correct Case settings

    1. Update Existing Case:

      1. Generally this should be set to “none”, otherwise, the system will likely select the Case with the highest Case ID and update it

    2. Case Status: The value here should be the Case Status we want to have after the submission

    3. Case Type: It should match the Case Type to update

  2. Send an email with a link to the webform from the Case itself using the parameter ?cid1={contact.contact_id}&{contact.checksum}&case1={case.id}

Using hidden Case fields on the webform may cause issues with submitting the form. Instead, make any Case field that should not be shown to private.

Allow any Case Roles who are not the case client to update data on the Case via CMS webform

Permission required

Drupal permission: Update cases via webform where user has a case role

Configuration steps

  1. Create a webform with the fields related to the Case

  2. Create a new Case - either being submitted from another webform or manually create it in CiviCRM

  3. Assign a contact to a Case Role that is not a case client

  4. Log in to the site as the contact who is assigned to a Case Role in step 2 and access the webform with the parameter ?case1=xx (xx should be the Case ID)

  5. The webform should be prepopulated with the Case data and you can update it if needed

  6. You will notice the Case details have been updated with the value submitted through the webform

Is this module enabled by default? / How to enable this?

This functionality is available by default

Anything to consider before enabling?

N/A

Known issues/limitations/complications

N/A

Version history

Changes

Compuclient version

Specification link

Added a new permission to allow any Case Roles to update data via Drupal webform

3.4


Did this answer your question?