> For the complete documentation index, see [llms.txt](https://docs.digit.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.digit.org/health/access/public-health-product-suite/health-campaign-management-hcm/attendance-and-payments-user-manual/campaign-manager.md).

# Campaign Manager

Set up attendance

## Overview

Sets up attendance from the HCM Console before the campaign starts. This is a one-time setup done per campaign.&#x20;

## **Steps**

### **Create Attendance Registers**

Attendance registers define which workers will be tracked and at which boundary (locality, administrative post, district, and so on). Each register covers one boundary. You create registers by filling an Excel template and uploading it to Console.

{% hint style="info" %}
**Before you begin:**

Make sure all users (workers, team supervisors, proximity supervisors) have already been created in HCM Console under Upload Campaign Data. Registers cannot be modified or regenerated from the UI after this step. Plan your boundaries carefully.
{% endhint %}

{% stepper %}
{% step %}

#### Log in to HCM Console

Go to the Bauchi UAT Console URL. Log in with your Campaign Manager credentials. Navigate to the campaign and open Setup Attendance.

<figure><img src="https://2077406040-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FI0KFbSBTySIQ7TCOKnJF%2Fuploads%2Fs9u9b7A5o2O0ie6V7Y2Z%2Fimage.png?alt=media&amp;token=a2cc6b13-c9b7-4a0a-b516-9766fafa43f9" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Open Create Registers

Click Create Registers in the Setup Attendance section. You will land on the **Upload Template to Generate Attendance Registers** screen.
{% endstep %}

{% step %}

#### Download the Excel template

Click Download Template in the top right. This downloads a .xlsx file with an Instructions sheet, an Attendance Registers sheet, and a Boundary Data sheet.
{% endstep %}

{% step %}

#### Fill the Attendance Registers sheet

Open the file and go to the Attendance Registers tab. Each row is one register. Fill the boundary columns left to right: Country, Province, District, Administrative Post, Locality. Use the dropdown in each cell; values come from the Boundary Data sheet. Fill only down to the level at which you want the register created. The Register ID column auto-fills based on the lowest boundary you select.

<figure><img src="https://2077406040-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FI0KFbSBTySIQ7TCOKnJF%2Fuploads%2FIf94M3NMQ9ACsUJ7dUCR%2Fimage.png?alt=media&amp;token=e6356a6b-d1ed-4649-878c-85c8cafb4c09" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Save as .xlsx and upload

Save the file as .xlsx; do not convert to CSV, since the auto-fill formula breaks. Return to Console and drag and drop the file into the upload area, or click Browse, then click Submit.
{% endstep %}

{% step %}

#### Check the result

The system processes your file. If any rows have errors, a download link appears with error details noted against each row. Fix the flagged rows and re-upload. Once successful, the registers appear in the Map Workers to Registers screen.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
**Common errors**

No boundary filled in a row: every row must have at least one boundary column filled.

Duplicate Register IDs: if you create two registers at the same boundary, the auto-filled ID will be the same. Override one to make it unique.

Do not convert to CSV before uploading, since the Register ID formula stops working.
{% endhint %}

### **Map workers to registers**

Once the registers are created, you can assign workers to these. This is done via a second Excel upload. There are three tabs in the mapping file, one for each worker type.

{% stepper %}
{% step %}

#### Open Map Workers to Registers

From the Setup Attendance section, click Map Workers to Registers. You will see a list of all registers created, their Register ID, the Attendance Officer assigned, and the current number of workers.
{% endstep %}

{% step %}

#### Assign users

Click Assign Users on the register you want to map. This opens the assignment flow. Download the Excel template from this screen.

<figure><img src="https://2077406040-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FI0KFbSBTySIQ7TCOKnJF%2Fuploads%2F4q4EBKrzBO5RJ3zyVcsV%2Fimage.png?alt=media&amp;token=4be5bf85-8030-4581-a5de-a6c9310e1009" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Fill the Frontline Workers tab

This tab lists all users with Distributor, Registrar, Field Support, or Health Facility Worker roles. For each worker, select the register they attend from the dropdown in the "Attendee in (Register ID)" column. Optionally fill the Team Code column if workers are grouped into teams.
{% endstep %}

{% step %}

#### Fill the Attendance Markers tab

This tab lists Team Supervisors and Warehouse Managers. Fill "Manager of (Register ID)" with the register they will mark attendance for. Optionally fill "Attendee in (Register ID)" if they also attend a register themselves. The Manager and Attendee registers cannot be the same.
{% endstep %}

{% step %}

#### Fill the Attendance Approvers tab

This tab lists Proximity Supervisors. Fill "Manager of (Register ID)" with the register or registers they will approve. A Proximity Supervisor can be mapped to registers at the same or lower boundary than their own assignment.

<figure><img src="https://2077406040-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FI0KFbSBTySIQ7TCOKnJF%2Fuploads%2FP8Y8lLyvRLeAWosZSWwX%2Fimage.png?alt=media&amp;token=1f4fedeb-0e35-4f86-85b1-b1372f3b05ed" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Upload and confirm

Save as .xlsx and upload. The system validates each tab. If there are errors, download the error file, fix the issues, and re-upload. Once successful, the No. of Workers column on the registers list will update.
{% endstep %}
{% endstepper %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.digit.org/health/access/public-health-product-suite/health-campaign-management-hcm/attendance-and-payments-user-manual/campaign-manager.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
