> ## Documentation Index
> Fetch the complete documentation index at: https://help.lobyco.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Give a challenge to a list of customers

> Give a challenge to every customer on a list at once, by connecting a Seed block to a Challenge block on the campaign canvas, and check that each customer got it.

Sometimes you already know who should get a challenge: the customers who joined a loyalty event, a partner's list, or a group you chose by hand. A **Seed** block holds the list, and a **Challenge** block gives each customer on it their own challenge card. This page shows you how to give a challenge to a list of customers, run the flow and check the result.

> [!WARNING]
>
> Running the flow gives every customer on the list a challenge card, straight away, and Lobyco Nexus has no undo. Run it a second time and each customer gets a second card. [What a second run does](#what-a-second-run-does) explains what that card does.

## What you'll build

```mermaid theme={"system"}
flowchart LR
    A["CSV file<br/>of customer IDs"] --> B[Seed] --> C[Challenge]
```

The **Seed** block starts the flow and reads the list. The **Challenge** block gives each customer on it a card. A challenge that is connected to a block this way is called a *triggered* challenge, because the block before it decides who gets it.

Nexus has no screen for uploading a list straight into a challenge. The list always goes in through a block on the canvas.

## Prepare the list

Save the list as a CSV file. [Use your own customer list](https://help.lobyco.com/business-documentation/use-cases/use-an-imported-customer-list-instead-of-a-segment.md#prepare-the-file) shows how the file has to be set out, and how to save it from Excel.

| The list needs | Why |
| - | - |
| A `.csv` file of up to 30 MB | The **Seed** block takes no other format. |
| Customer IDs only | Each row has to be the ID Lobyco gives a customer, also called the member ID. It's at the top of the customer's page in Lobyco Nexus. [Find a customer](https://help.lobyco.com/business-documentation/self-service/find-a-customer.md) shows where. |
| Duplicates are fine | An ID that's in the file twice gets one card. Empty rows are ignored. |

The **Challenge** block gives a card to every ID in the list. It doesn't check that the ID belongs to a customer. A card for an ID that matches nobody does no harm, but it counts as a card given. The **Seed** block's line under the file, such as *950 of 1000 records matched*, shows how many IDs matched, so check it before you run the flow.

Check the list before you run the flow. A value longer than 36 characters, such as a pasted sentence, stops the whole import, and nobody gets a card.

**A saved audience can't go in as it is.** The **Seed** block takes a file or an earlier campaign's result, and it has no way to pick an audience. If the customers are in an [audience](https://help.lobyco.com/business-documentation/audiences-and-data/create-an-audience.md), use the file you made it from. To give the challenge to customers a segment finds, see [Variations](#variations).

## Add a Seed block

1. Go to **Campaigns**, open the campaign and select **Orchestration**. To start a new campaign, see [Create a campaign](https://help.lobyco.com/business-documentation/campaigns/create-a-campaign.md#create-the-campaign).
2. From **Segment** in the **Block library**, drag **Seed** onto the canvas.
3. Double-click it. **Create Seed** opens on **Add Seed details**.
4. Enter a **Seed name**, such as *Spring event guests*, and a **Description**.
5. Under **Schedule type**, choose **One-time**. A **Recurring** schedule gives the whole list another card on every run. You don't publish the flow to run it, because [Run the flow](#run-the-flow) starts it by hand.

## Upload the list

1. Open **Configure seed**. Under **File upload**, choose **File**.
2. Drop the file on the box, or select it.
3. Check the line under the file, such as *950 of 1000 records matched*. It says how many of the IDs matched a customer.
4. Select **Save**.

If fewer IDs matched than you expect, correct the file and upload it again before you go on. [Use your own customer list](https://help.lobyco.com/business-documentation/use-cases/use-an-imported-customer-list-instead-of-a-segment.md#upload-the-file) explains the line.

## Set up the challenge

A challenge has to be published and active when the flow runs. If it's a draft, its **Start date** is still ahead or it has ended, it gets skipped and nobody receives a card.

1. On the same canvas, add the challenge as [Create a challenge](https://help.lobyco.com/business-documentation/activities/challenges/create-a-challenge.md#add-a-challenge-to-your-campaign) explains.
2. Connect the **Seed** to the challenge's block before you publish the challenge. Once it's published, Nexus asks you to bring it back to draft first.
3. Fill in the challenge's form and publish it. Set the dates so the challenge is already running when you run the flow.

Three settings decide what customers see, so check them in the form.

| Setting | What it does here |
| - | - |
| **Pre-activated** on the **Settings** tab | When it's on, each customer's card starts collecting progress at once, unless the customer already has a running card of this challenge. When it's off, customers activate the card in the app. |
| **Hide Challenge from App List** on the **Settings** tab | When it's on, the card is in the app, but not in its list or on the home screen. Customers then have nowhere to activate it. |
| **Validity period of challenge** in **Add triggered details** on the **Activity details** tab | How many days a customer has after they get the card. Empty means until the challenge's end date. |

The **Segmentation** tab is locked for a triggered challenge, because the list decides who gets it.

When a list gives out the cards, Lobyco skips some of the checks it makes when one customer gets a card.

* **Time between challenges issued** doesn't apply. Every customer on the list gets a card, even one who got a card of this challenge recently.
* The one-time or renewable setting doesn't stop a card. A customer who has already completed the challenge as many times as **One-time** or **Auto-renewable** allows still gets one.
* Lobyco doesn't check that each ID belongs to a customer. [Prepare the list](#prepare-the-list) explains what happens to an ID that matches nobody.

Lobyco expects the list to be fully correct. Every ID on it gets a card, so check the list before you run the flow.

![The Orchestration canvas of the campaign Spring event challenge, with the Block library open on the left and Use templates collapsed on the right. A green Seed block named Event guests, with a Publish button and its chevron, shows Draft, Start 2026/11/13 00:00 and an uploaded file. A line runs from the Seed block's output to an orange Challenge block named Shop 3 times, below and to the right of it. The Challenge block shows Draft, Start 2026/11/13 00:00, End 2026/12/24 00:00, and a red Missing configurations line, because the challenge's form isn't filled in yet.](https://mintcdn.com/lobyco-4c9fb3ad/zUmbi-ExBJ7YbxTu/images/usecase-37-seed-connected-to-a-challenge.png?fit=max\&auto=format\&n=zUmbi-ExBJ7YbxTu\&q=85\&s=1b0212063f62319b3b8ba3dd94452ec9)

*A Seed block connected to a Challenge block*

## Test the flow with a count

1. Open the chevron beside **Publish** on the **Seed** and choose **Count**. Nothing is given out.
2. The canvas switches to **History**, with the run selected. Wait for it to show **Done**.
3. Select the **Seed** block to see its **Count**.

The **Seed** block's **Count** is the number of different IDs in the file, including any that didn't match a customer. On a **Count** run, the **Challenge** block is skipped. No card is given out, so you can run it as often as you like.

## Run the flow

1. Go to **Campaigns**, open the campaign and find the challenge in its list of activities. Check that its **Status** reads **Active**.
2. Open the chevron beside **Publish** on the **Seed** and choose **Execute**.
3. Confirm. The canvas switches to **History**, with the run selected.

**Simulate** gives no cards either, so it can't replace **Execute** here. To run the flow on a schedule instead, see [Schedule and run a campaign](https://help.lobyco.com/business-documentation/campaigns/schedule-and-run-a-campaign.md). Every scheduled run gives the whole list another card, so set **Schedule type** to **One-time**. You find it on the **Add Seed details** tab of the **Seed**.

## Check the result

1. In **History**, wait for the run to show **Done**.
2. Select the **Challenge** block. Look at its status, and at the number on the block, which reads **total allocations**. It's the number of cards given out.
3. Compare it with the **Seed** block's **Count**. When every card was given out, the two numbers are the same.

**Done** on the **Challenge** block means Lobyco has received the list. Giving out the cards takes a little longer, and the number on the block appears once it has finished. Until then it reads 0. If giving out the cards goes wrong, the canvas doesn't say so. So the number is what tells you the cards were given out.

What the **Challenge** block shows tells you what happened:

| The Challenge block shows | What it means |
| - | - |
| **Done**, and **total allocations** equal to the **Seed** count | Every customer on the list got a card. |
| **Done**, and **total allocations** still 0 | The cards are still being given out, or something stopped it. Wait, then reopen the run, or select **Live stats** on the mode switcher at the top left of the canvas. |
| **Skipped** | The challenge wasn't active, or no block is connected to it. Nobody got a card. See [Why did the Challenge block say Skipped?](#troubleshooting) |
| **Failed** | Lobyco couldn't give out the cards. Nobody got a card. Open **View more** on the run to read the message, and send it to Lobyco support. |

The **Seed** count is the number of different IDs in the file. An ID that's in the file twice, and an empty row, don't count twice. So **total allocations** can be lower than the number of rows in your file.

To look at one customer, ask them to open the app. A card shows in the app's list, unless **Hide Challenge from App List** is on, and it starts collecting progress at once only when **Pre-activated** is on. To see why a purchase isn't counting, read [Why isn't a customer's challenge progressing?](https://help.lobyco.com/business-documentation/activities/challenges/why-isnt-a-customers-challenge-progressing.md). Nexus doesn't show which customers hold a card.

## What a second run does

A customer can only have one running card of a challenge at a time. A second run still gives every customer on the list a second card. What the second card does depends on the first one.

| The customer's first card | What the second card does |
| - | - |
| It's still running: activated, not completed and not expired | The second card waits. The customer keeps the first card in the app, and purchases count toward the first card only. The first card's progress and rewards carry on as before. |
| It's completed or expired | The second card is the customer's running card. With **Pre-activated** on, it starts collecting progress at once. With **Pre-activated** off, the customer activates it in the app. |

A waiting card takes over once the first card is completed or expires.

* **Pre-activated** on. The card becomes active the next time the customer opens the app, or with their next purchase that earns progress. That purchase counts toward it.
* **Pre-activated** off. The customer activates the card in the app. Purchases made before they do don't count.

The app's list shows one running card of the challenge, so the customer doesn't see the waiting card. The **Validity period of challenge** starts when the card is given out, not when it becomes active. So a waiting card can run out before it ever starts.

## Fix a flow that left customers out

1. Find out which of the causes in [Troubleshooting](#troubleshooting) fits what the **Challenge** block showed.
2. Fix it.
3. After **Skipped** or **Failed**, nobody got a card, so run the flow again once the cause is fixed. In any other case, don't run it again yet. Nexus can't show which customers got a card, and sending the list again gives a second card to every customer who already has one. Ask Lobyco support to check who got a card before you send the list again.

## Variations

| To do this | Change |
| - | - |
| Give the challenge to customers a segment finds | Use a **Member segment** block in place of the **Seed**, and connect it to the **Challenge**. [Create a segment](https://help.lobyco.com/business-documentation/audiences-and-data/create-a-segment.md) shows how to build one. |
| Give the challenge to customers an earlier campaign reached | In the **Seed**, choose **Campaign result** under **File upload**. See [Reuse a previous campaign's results](https://help.lobyco.com/business-documentation/use-cases/reuse-a-previous-campaigns-results.md). |
| Give the challenge a while after something else | Put a **Delay** block between the **Seed** and the **Challenge**. |
| Leave some customers out | Connect the **Seed** to an **Exclude** block, then the **Exclude** to the **Challenge**. See [Exclude](https://help.lobyco.com/business-documentation/campaigns/orchestration-canvas/block-reference.md#exclude). |

## Troubleshooting

> [accordion] Why did the Challenge block say Skipped?
>
> The run skips the **Challenge** block when the challenge isn't active, which means it's a draft, its **Start date** is still ahead or it has ended, or when no block is connected to it. A **Count** or **Simulate** run always skips it. Go to **Campaigns**, open the campaign, and find the challenge in its list of activities. Its **Status** has to read **Active**. Then run the flow again with **Execute**.

> [accordion] Why did the Challenge block fail?
>
> Open **View more** on the run and read the message under the failed step. Nothing in your file causes this, so send the campaign's name, the run's date and time, the challenge's name and the message to Lobyco support. Nobody got a card, so you can run the flow again once Lobyco support has fixed the cause.

> [accordion] Why is there no number on the Challenge block?
>
> The block shows **Done** as soon as Lobyco has received the list, and the number appears when all the cards are given out. A long list takes a while. If something stops it, for example a value in the file longer than 36 characters, the canvas doesn't say so. Wait, then reopen the run, or select **Live stats** on the mode switcher at the top left of the canvas. If the number still hasn't appeared, don't run the flow again, because sending the list again gives a second card to every customer who already has one. Send the campaign's name, the run's date and time, and the challenge's name to Lobyco support.

> [accordion] Why are there fewer allocations than customers on my list?
>
> An ID that's in the file twice gets one card, and an empty row gets none. **total allocations** counts the cards given out, not the rows in the file.

> [accordion] Why did a customer get the card twice?
>
> The flow ran twice. Each **Execute**, and each scheduled run, gives every customer on the list a second card, which waits until the customer's first card is completed or expires. [What a second run does](#what-a-second-run-does) explains how. To avoid it, set **Schedule type** to **One-time** on the **Seed**'s **Add Seed details** tab. Don't run the flow again to fix a gap. Ask Lobyco support to check who got a card first.

> [accordion] Why can't I connect the Challenge block to my Seed?
>
> If the challenge is published, Nexus won't change its links. Unpublish the challenge, connect the block, and publish it again. A **Split** can't connect straight in either, so connect one of its groups. [Create a challenge](https://help.lobyco.com/business-documentation/activities/challenges/create-a-challenge.md#add-a-challenge-to-your-campaign) explains the rules.

> [accordion] Why isn't a customer's second card collecting progress?
>
> The customer's first card is still running, so the second card waits. Purchases count toward the first card until it's completed or expires. [What a second run does](#what-a-second-run-does) explains when the second card takes over.

## Related

* [Use your own customer list](https://help.lobyco.com/business-documentation/use-cases/use-an-imported-customer-list-instead-of-a-segment.md) — how to prepare and upload the file the **Seed** reads.
* [Create a challenge](https://help.lobyco.com/business-documentation/activities/challenges/create-a-challenge.md) — every field of the challenge form, and how a block connects to it.
* [Schedule and run a campaign](https://help.lobyco.com/business-documentation/campaigns/schedule-and-run-a-campaign.md) — the run options, and how to read **History**.
* [Why isn't a customer's challenge progressing?](https://help.lobyco.com/business-documentation/activities/challenges/why-isnt-a-customers-challenge-progressing.md) — what to check once a customer has the card.
* [Block reference](https://help.lobyco.com/business-documentation/campaigns/orchestration-canvas/block-reference.md#seed) — the **Seed** block and what it passes on.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.