Airship
Customer engagement platform for push notifications, in-app messages, SMS, and mobile app experiences with deep journey orchestration.
This integration is currently in alpha. Configuration and behaviour may change.
Prerequisites
Complete these steps in Airship before configuring Signal.
Access your Airship dashboard
Log in to go.airship.com (US) or go.airship.eu (EU).
Find your App Key
Navigate to Settings > APIs & Integrations > App Keys. The App Key for your project is shown at the top — a 22-character alphanumeric string. Copy it.
Create a Bearer token
On the same APIs & Integrations page, click Tokens > Create Token. Configure:
- Give it a name (e.g. “Datafly Signal”).
- Assign the All Access role (or a custom role with
events:write,channels:write, andnamed_users:writescopes). - Click Create Token and copy it immediately.
Bearer tokens are the preferred auth method. The older App Master Secret is deprecated for new integrations.
Determine your data centre
| Dashboard URL | Data Centre | Value for Signal |
|---|---|---|
go.airship.com | US | us |
go.airship.eu | EU | eu |
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
app_key | string | Yes | Your Airship App Key (22-character ID). |
bearer_token | secret | Yes | Bearer token with write scopes for events, channels, and named users. |
data_center | select | Yes | Your Airship data centre (us or eu). |
Signal Setup
Quick Setup
- Navigate to Integrations in the sidebar.
- Open the Integration Library tab.
- Find Airship under the Marketing Automation category.
- Click Install, and fill in the required fields with the credentials gathered above.
- Click Install Integration to create the integration with a ready-to-use default configuration.
API Setup
curl -X POST http://localhost:8084/v1/admin/integration-catalog/airship/install \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Airship",
"variant": "default",
"config": {
"app_key": "xxxxxxxxxxxxxxxxxxxxxx",
"bearer_token": "xxxxxxxxxxxxxxxxxxxx",
"data_center": "us"
},
"delivery_mode": "server_side"
}'Event Mapping
| Datafly Event | Airship Concept | Notes |
|---|---|---|
page | Custom event | Sent via the Custom Events API. |
Product Viewed | Custom event | Forwarded as a custom event with product properties. |
Order Completed | Custom event with value | Mapped to Airship’s revenue event with value, transaction, interaction_type. |
identify | Named user association | user_id linked to the channel via the Named Users API. |
Identity
Airship uses Named Users to associate one user across multiple channels (devices/browsers).
| Field | Source | Notes |
|---|---|---|
named_user_id | user_id from datafly.identify() | Your stable customer ID. Channels are associated with this ID. |
channel_id | Datafly anonymous identifier (mapped to your Airship channel) | The Airship channel ID for the visitor’s browser/device. |
email | traits.email | Used to create or look up email channels. |
Call datafly.identify() once the user logs in so Airship can associate the channel with the named user.
Consent
Airship events should be sent under the marketing consent category. Airship maintains opt-in records per channel (push, email, SMS) — Signal forwards CMP consent state so server-side journey logic can suppress non-consenting visitors.
Verify it’s working
- Trigger a test event from your website.
- In Airship, navigate to Audience > Named Users and search for the test user by ID.
- Click into the named user and check the Events tab for recent custom events.
- In Signal, check Live Events to confirm delivery with a
202response status.
Troubleshooting
| Symptom | Possible Cause | Resolution |
|---|---|---|
401 Unauthorized | Invalid bearer token or wrong scopes | Regenerate the token in Settings > APIs & Integrations with the required write scopes. |
400 Bad Request on custom event | Missing required fields | Custom events require name, occurred (timestamp), and at least one of named_user_id or channel. |
| Events received but no notification triggered | Journey not configured for event name | Check that an Airship Journey or Automation is set to trigger on the custom event name being sent. |
| Wrong data centre error | US/EU mismatch | Check your dashboard URL and ensure the data_center config matches. |
Visit Airship API documentation for full reference and Custom Events details.
See also
- OneSignal — push notification alternative
- Braze — multi-channel engagement
- Customer.io — behavioural messaging