# 7️⃣ Custom Offchain Events

Fuul allows projects to reward users for actions that happen outside the blockchain. Use the Fuul API, CSV uploads, or Zapier to feed offchain events into Fuul and make them part of your incentive program.

### Available Methods

| Method               | Description                                                          | Best for                                                |
| -------------------- | -------------------------------------------------------------------- | ------------------------------------------------------- |
| **Custom (API Key)** | Integrate your own backend or third-party software with Fuul via API | Full control over event reporting from your own systems |
| **CSV File**         | Upload event data from a CSV file                                    | Bulk imports or one-time reward distributions           |
| **Zapier**           | Connect other apps and conversion events with Fuul through Zapier    | No-code integrations with 5,000+ apps                   |

### How It Works

| Step                          | What happens                                                                                  |
| ----------------------------- | --------------------------------------------------------------------------------------------- |
| **1. Send events**            | Events reach Fuul via API calls, CSV upload, or Zapier triggers                               |
| **2. Validate & deduplicate** | Fuul validates incoming events and ensures users are only rewarded once per qualifying action |
| **3. Attribute to users**     | Each event is attributed to the user's wallet address or identifier                           |
| **4. Distribute rewards**     | Rewards are distributed based on the configured payout — fixed per event or proportional      |

### API vs CSV vs Zapier

|                  | API                          | CSV                                | Zapier                               |
| ---------------- | ---------------------------- | ---------------------------------- | ------------------------------------ |
| **Automation**   | Fully automated, real-time   | Manual upload                      | Automated via triggers               |
| **Setup effort** | Requires backend integration | None — upload a file               | No-code configuration                |
| **Best for**     | Continuous event streams     | One-off distributions or backfills | Connecting third-party tools         |
| **Flexibility**  | Highest — any event shape    | Fixed CSV format                   | Depends on available Zapier triggers |

{% hint style="info" %}
For social and quest-based integrations that don't require custom development, see [Quests & Social](/core-concepts/trigger-integrations/quests-and-social.md) which provides pre-built integrations with platforms like X, Discord, Zealy, and Galxe.
{% endhint %}


---

# Agent Instructions: 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:

```
GET https://docs.fuul.xyz/core-concepts/trigger-integrations/custom-offchain-events.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
