> For the complete documentation index, see [llms.txt](https://portfolio-42.gitbook.io/integrateflow/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://portfolio-42.gitbook.io/integrateflow/quickstart.md).

# Quickstart

Create your first workflow and trigger it with a real event in minutes.

This guide walks you through creating a simple onboarding workflow:

**When a new user signs up, trigger a workflow that sends the user data to an external system.**

While this example focuses on onboarding, the same pattern applies to billing events, notifications, and analytics integrations.

#### 1. Base URL

```
https://api.integrateflow.com/v1
```

***

#### 2. Authentication

All requests require an API key.

Include your key in the `Authorization` header:

```
Authorization: Bearer YOUR_API_KEY
```

***

#### 3. Create a Workflow

This request creates a workflow triggered by a `user.created` event.

```
curl -X POST https://api.integrateflow.com/v1/workflows \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "User Onboarding Workflow",
    "trigger": {
      "type": "event",
      "event_name": "user.created"
    },
    "actions": [
      {
        "type": "webhook",
        "url": "https://yourapp.com/webhooks/onboarding"
      }
    ]
  }'
```

***

#### 4. Response

```
{
  "id": "wf_8f92a1c",
  "name": "User Onboarding Workflow",
  "status": "active",
  "trigger": {
    "type": "event",
    "event_name": "user.created"
  },
  "actions": [
    {
      "type": "webhook",
      "url": "https://yourapp.com/webhooks/onboarding"
    }
  ],
  "created_at": "2026-04-15T10:12:00Z"
}
```

***

#### 5. What Happens Next

Once the workflow is active:

1. A `user.created` event is sent to IntegrateFlow
2. The workflow is triggered automatically
3. The configured webhook is executed
4. A run is created and tracked internally

***

#### 6. Send a Test Event

You can simulate a user signup by sending an event:

```
curl -X POST https://api.integrateflow.com/v1/events \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "user.created",
    "data": {
      "user_id": "usr_12345",
      "email": "user@example.com"
    }
  }'
```

***

#### 7. Example Webhook Payload

When the workflow runs, your endpoint receives:

```
{
  "event": "user.created",
  "workflow_id": "wf_8f92a1c",
  "run_id": "run_45bc21",
  "data": {
    "user_id": "usr_12345",
    "email": "user@example.com"
  },
  "timestamp": "2026-04-15T10:15:00Z"
}
```

***

#### 8. Verify Delivery

Your endpoint should return a `2xx` response:

```
HTTP/1.1 200 OK
```

If the endpoint fails to respond successfully, IntegrateFlow retries delivery using exponential backoff.

***

### Result

You now have a working workflow that:

* Listens for user signup events
* Triggers automatically
* Sends data to your system
* Tracks execution via runs
