> For the complete documentation index, see [llms.txt](https://docs.fuul.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.fuul.xyz/core-concepts/trigger-integrations/custom-offchain-events.md).

# 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
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.fuul.xyz/core-concepts/trigger-integrations/custom-offchain-events.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.
