Enable New Campaign Type

Overview

A project type defines how campaigns are created, delivered, and monitored. Enabling a new campaign type involves configuring products, templates, attributes, targets, checklists, localisation, and default screen behaviour.

⚠️ Note: A generic campaign type (codelivery) already supports most use cases. Create a new campaign type only if explicitly required.

circle-info

The default template requires Product & Variant configuration (optional).

Steps

Step 1: Configure Products & Variants

Default templates may require product and variant configuration.

  1. Create a Product

    • Example product:

"Product": [
        {
            "tenantId": "dev",
            "type": "TABLET",
            "name": "Praziquantel"
        }
    ]

Create a Product Variant

  • Use the productId returned from the product creation API.

  • Tag the variant with the project type code.

Step 2: Configure the Project Type Template

  1. Create a New Project Type

    • Example project type code: NTD

    • Ensure the id in the data object is unique.

  2. Set Core Properties

    • group: Example – MALARIA

    • type: Example – multiround

    • beneficiaryType: Choose one:

      • INDIVIDUAL

      • HOUSEHOLD

  1. Configure Cycles and Deliveries

    1. You may prefill them or leave them empty.

    2. Example: one cycle with one delivery.

chevron-rightCycles & Delivery Templateshashtag

PreSuggested Cycles

In the NTD Campaign, there’s one cycle, one delivery, but different products for different groups.

Empty Cyles Example

  1. Attach Product Resources

    1. Reference the product variant created in Step 1:

The final constructed project type will be:

chevron-rightProject Type Confighashtag

Step 3: Configure Delivery Attributes

Delivery attributes control what data can be captured during delivery.

  1. Search Existing Attributes

    • MDMS schema:

Search for the attributes in MDMS. The collection has the curl named "Search allAttributes data".

  1. Link Attributes to the New Project Type - Add {{projectTypeCode}} to the projectTypes list. Sample update data is given below:

circle-exclamation

Step 4: Configure target template

  • Add Target Template Definitions

    • Schema: adminSchema

    • Create two entries with unique identifiers:

      • boundary.{{projectTypeCode}}

      • boundaryWithTarget.{{projectTypeCode}}

  • Purpose

    • Defines the target sheet structure used to enter village-level targets.

  • Add Localisation

    • Add localisation keys for the newly created project type.

circle-info

This master is for the target sheet template used to enter target values for each village. Make sure to configure it accordingly.

chevron-rightHCM-ADMIN-CONSOLE.schemashashtag

Step 5: Configure target mapping for the dashboard

Map dashboard targets to beneficiary types and columns.

circle-info

This configuration maps dashboard targets to columns, ensuring all listed columns align with beneficiaries. The supported beneficiary types include Individual & Household.

Step 6: Configure checklist templates

chevron-rightChecklist Templateshashtag

Step 7: Configure localisation messages

  • Add Localisation Entries

    • Use the provided localisation collection.

    • Example locale: en_MZ.

  • Multi-Language Environments

    • If your environment supports multiple languages, repeat the upsert for each locale.

chevron-rightLocalisationshashtag

Step 8: Configure Base Templates Screen Configs

  • Create default field-app screen configurations for the new campaign type.

  • This step is mandatory to ensure the campaign is usable end-to-end.

  • Use existing base template configs as a reference.

Reference HCM Console Configuration

Final Step: Restart Services

Restart the following services to ensure all templates and localisations load correctly:

  • localisation

  • project-factory

triangle-exclamation

Last updated

Was this helpful?