---
title: External Events & CSV Import
url: https://docs.kaltura.com/docs/events-collaboration/gamification-api/gamification-external-events-csv-import
---

## External Events & CSV Import

Import scores from external systems (booth scans, external quiz platforms, physical activities) via CSV upload.

**Parameters**

| Parameter | Type | Required | Description |
|---|---|---|---|
| `eventAction` | string | Yes | `"delta"` (add to existing score) or `"upsert"` (replace existing score) |
| `csvFile` | file | Yes | CSV file upload. Must include `userId`, `score`, and `eventType` columns, plus any context fields referenced by rule conditions |

```bash
# Delta mode — add to existing score
curl -X POST "$KALTURA_SCM_URL/event/sendExternalEventsFromCSV" \
  -H "Authorization: Bearer $KALTURA_KS" \
  -F "eventAction=delta" \
  -F "csvFile=@scores.csv"

# Upsert mode — replace existing score
curl -X POST "$KALTURA_SCM_URL/event/sendExternalEventsFromCSV" \
  -H "Authorization: Bearer $KALTURA_KS" \
  -F "eventAction=upsert" \
  -F "csvFile=@scores.csv"
```

**CSV format:** Must include `userId`, `score`, and `eventType` (matching rule condition) columns, plus any context fields referenced by rule conditions.

| Mode | Description |
|------|-------------|
| `delta` | Add to existing score (booth visit adds 50 points on top of current) |
| `upsert` | Replace score (final quiz score overrides previous attempts) |

The `external` rule type is required for the leaderboard to accept external events. Set `metric: "score"` so points come from the event's score field.
