RASL
RASL | DashboardContact
RASL | DashboardContact
Instagram
  1. Integrations
RASL
  • Introduction
  • Messages
    • Overview
    • Message Bot Management
      • List Message Bots
      • Get Message Bots Details
    • Send Simple Message
      POST
    • Send Media Message
      POST
  • Templates
    • Overview
    • Template Management
      • Template Bot
        • List Template Bots
        • Get Template Bots Details
      • List Templates
      • Get Template Details
    • Send Authentication Template
      POST
    • Send Template Message
      POST
  • Contacts
    • Overview
    • Create a New Contact
      POST
    • List Contacts
      GET
    • Get Contact Details
      GET
    • Update Contact Information
      PUT
    • Delete Contact
      DELETE
  • Groups
    • Overview
    • Create Group
      POST
    • List Groups
      GET
    • Get Group Details
      GET
    • Update Group
      PUT
    • Delete Group
      DELETE
  • Statuses
    • Overview
    • Create Status
      POST
    • List Statuses
      GET
    • Get Status Details
      GET
    • Update Status
      PUT
    • Delete Status
      DELETE
  • Sources
    • Overview
    • Create Source
    • List Sources
    • Get Source Details
    • Update Source
    • Delete Source
  • Integrations
    • N8N Webhook Integration
    • Webhook Format Reference
    • eCommerce Webhook Integration
      • Webhook Listener
      • WooCommerce Webhook Setup
RASL | DashboardContact
RASL | DashboardContact
Instagram
  1. Integrations

Webhook Format Reference

Complete technical reference for RASL webhook payloads in N8N format.

Supported Resources#

ResourceDescriptionEvent Types
ContactsCustomer/contact recordscreated, updated, deleted
SourcesLead sourcescreated, updated, deleted
StatusesContact statusescreated, updated, deleted

Base Payload Structure#

All webhooks follow this standard structure:
{
  "event": {
    "id": "evt_{timestamp}_{random}",
    "type": "{resource}.{action}",
    "timestamp": "ISO 8601 datetime",
    "version": "1.0"
  },
  "tenant": {
    "id": integer,
    "name": "string",
    "domain": "string"
  },
  "data": {
    "resource": {
      "type": "contact|source|status",
      "id": integer,
      "attributes": { /* resource-specific fields */ }
    },
    "relationships": { /* related data */ }
  },
  "changes": {
    "previous": object|null,
    "current": object,
    "modified_fields": array|null
  },
  "metadata": {
    "source": "api_webhook_manager",
    "environment": "production",
    "request_id": "uuid"
  }
}

Event Types#

Contact Events#

Event TypeDescriptionWhen Triggered
contact.createdNew contact createdContact added via UI, API, or import
contact.updatedContact modifiedAny field updated
contact.deletedContact removedContact deleted permanently

Source Events#

Event TypeDescriptionWhen Triggered
source.createdNew source createdLead source added
source.updatedSource modifiedSource name or settings updated
source.deletedSource removedSource deleted

Status Events#

Event TypeDescriptionWhen Triggered
status.createdNew status createdContact status added
status.updatedStatus modifiedStatus name, color, or settings updated
status.deletedStatus removedStatus deleted

Contact Webhooks#

Contact Created/Updated#

{
  "event": {
    "id": "evt_1702468200_abc123",
    "type": "contact.created",
    "timestamp": "2025-12-12T14:30:00.000Z",
    "version": "1.0"
  },
  "tenant": {
    "id": 123,
    "name": "Acme Corporation",
    "domain": "acme"
  },
  "data": {
    "resource": {
      "type": "contact",
      "id": 456,
      "attributes": {
        "firstname": "John",
        "lastname": "Doe",
        "company": "Acme Inc",
        "type": "individual",
        "description": "Premium customer",
        "country_id": 1,
        "zip": "12345",
        "city": "New York",
        "state": "NY",
        "address": "123 Main St",
        "email": "john@example.com",
        "website": "https://example.com",
        "phone": "+1234567890",
        "is_enabled": true,
        "is_opted_out": false,
        "default_language": "en",
        "group_id": [5, 8],
        "custom_fields_data": {},
        "created_at": "2025-12-12T14:30:00.000000Z",
        "updated_at": "2025-12-12T14:30:00.000000Z"
      }
    },
    "relationships": {
      "status": {
        "id": 1,
        "name": "Active",
        "color": "#10b981"
      },
      "source": {
        "id": 2,
        "name": "Website"
      },
      "groups": [
        { "id": 5, "name": "VIP Customers" },
        { "id": 8, "name": "Newsletter" }
      ],
      "assigned_to": {
        "id": 10,
        "name": "Sarah Johnson",
        "email": "sarah@example.com"
      }
    }
  },
  "changes": {
    "previous": null,
    "current": { "firstname": "John", "lastname": "Doe" },
    "modified_fields": null
  },
  "metadata": {
    "source": "api_webhook_manager",
    "environment": "production",
    "request_id": "550e8400-e29b-41d4-a716-446655440000"
  }
}

Contact Deleted#

{
  "event": {
    "id": "evt_1702468500_def456",
    "type": "contact.deleted",
    "timestamp": "2025-12-12T14:35:00.000Z",
    "version": "1.0"
  },
  "tenant": {
    "id": 123,
    "name": "Acme Corporation",
    "domain": "acme"
  },
  "data": {
    "resource": {
      "type": "contact",
      "id": 456,
      "attributes": {
        "firstname": "John",
        "lastname": "Doe",
        "email": "john@example.com"
      }
    },
    "relationships": {}
  },
  "changes": {
    "previous": { "firstname": "John", "lastname": "Doe" },
    "current": null,
    "modified_fields": null
  },
  "metadata": {
    "source": "api_webhook_manager",
    "environment": "production",
    "request_id": "550e8400-e29b-41d4-a716-446655440001"
  }
}

Contact Attributes Reference#

FieldTypeDescriptionExample
firstnamestringContact first name"Mahmoud"
lastnamestringContact last name"Elsayed"
companystringCompany name"RASL"
typestringContact type (individual or company)"individual"
descriptionstringNotes or description"Premium customer"
emailstringEmail address"mahmoud@example.com"
phonestringPhone number (E.164 format)"+201XXXXXXXXX"
websitestringWebsite URL"https://getrasl.io"
addressstringStreet address"123 Main St"
citystringCity name"Alex"
statestringState / province"AX"
zipstringPostal / ZIP code"12345"
country_idintegerCountry ID reference1
is_enabledbooleanContact active statustrue
is_opted_outbooleanMarketing opt-out statusfalse
default_languagestringDefault language code (ISO)"en"
group_idarrayAssigned group IDs[5, 8]
custom_fields_dataobjectCustom field values (key-value){}
created_atstringCreation timestamp (ISO 8601)"2025-12-12T14:30:00.000000Z"
updated_atstringLast update timestamp (ISO 8601)"2025-12-12T14:30:00.000000Z"

Source Webhooks#

Source Created/Updated/Deleted#

{
  "event": {
    "id": "evt_1702468400_ghi789",
    "type": "source.created",
    "timestamp": "2025-12-12T14:32:00.000Z",
    "version": "1.0"
  },
  "tenant": {
    "id": 123,
    "name": "Acme Corporation",
    "domain": "acme"
  },
  "data": {
    "resource": {
      "type": "source",
      "id": 7,
      "attributes": {
        "name": "Facebook Ads",
        "created_at": "2025-12-12T14:32:00.000000Z",
        "updated_at": "2025-12-12T14:32:00.000000Z"
      }
    },
    "relationships": {}
  },
  "changes": {
    "previous": null,
    "current": { "name": "Facebook Ads" },
    "modified_fields": null
  },
  "metadata": {
    "source": "api_webhook_manager",
    "environment": "production",
    "request_id": "550e8400-e29b-41d4-a716-446655440002"
  }
}

Source Attributes Reference#

FieldTypeDescriptionExample
namestringSource name"Facebook Ads"
created_atstringCreation timestamp"2025-12-12T14:32:00.000000Z"
updated_atstringLast update timestamp"2025-12-12T14:32:00.000000Z"

Status Webhooks#

Status Created/Updated/Deleted#

{
  "event": {
    "id": "evt_1702468600_jkl012",
    "type": "status.created",
    "timestamp": "2025-12-12T14:33:00.000Z",
    "version": "1.0"
  },
  "tenant": {
    "id": 123,
    "name": "Acme Corporation",
    "domain": "acme"
  },
  "data": {
    "resource": {
      "type": "status",
      "id": 8,
      "attributes": {
        "name": "Hot Lead",
        "color": "#ef4444",
        "created_at": "2025-12-12T14:33:00.000000Z",
        "updated_at": "2025-12-12T14:33:00.000000Z"
      }
    },
    "relationships": {}
  },
  "changes": {
    "previous": null,
    "current": { "name": "Hot Lead", "color": "#ef4444" },
    "modified_fields": null
  },
  "metadata": {
    "source": "api_webhook_manager",
    "environment": "production",
    "request_id": "550e8400-e29b-41d4-a716-446655440003"
  }
}

Status Attributes Reference#

FieldTypeDescriptionExample
namestringStatus name"Hot Lead"
colorstringHex color code"#ef4444"
created_atstringCreation timestamp (ISO 8601)"2025-12-12T14:33:00.000000Z"
updated_atstringLast update timestamp (ISO 8601)"2025-12-12T14:33:00.000000Z"

Change Tracking#

For updated events, the changes object provides detailed information about what changed:
{
  "changes": {
    "previous": {
      "email": "old@example.com",
      "phone": "+1111111111"
    },
    "current": {
      "email": "new@example.com",
      "phone": "+2222222222"
    },
    "modified_fields": ["email", "phone"]
  }
}

Fields#

FieldTypeDescription
previousobjectOld values of changed fields
currentobjectNew values of changed fields
modified_fieldsarrayList of field names that were modified
Change Detection
Use modified_fields array to quickly check which fields changed without comparing objects.

N8N Data Extraction#

Basic Expressions#

Contact Data#

Relationships#

Change Detection#


HTTP Headers#

Every webhook request includes these headers:
HeaderDescriptionExample
Content-TypeRequest content typeapplication/json
X-Webhook-EventEvent typecontact.created
X-Webhook-TimestampEvent timestamp (ISO 8601)2025-12-12T14:30:00+00:00
X-Webhook-FormatPayload formatn8n

Accessing Headers in N8N#


Validation & Security#

Event ID Format#

Event IDs follow the pattern: evt_{unix_timestamp}_{random_string}
Example: evt_1702468200_abc123

Timestamp Format#

All timestamps use ISO 8601 format with UTC timezone:
2025-12-12T14:30:00.000Z      (Event timestamp)
2025-12-12T14:30:00.000000Z   (Database timestamp)

Request ID#

Each webhook includes a unique request_id (UUID v4) for tracing and debugging:
550e8400-e29b-41d4-a716-446655440000

Version History#

v1.6.0 Current Format
N8N-optimized payload structure
Change tracking with previous/current values
Relationship data included
Standardized event metadata
The webhook format may evolve in future versions. Always check the event.version field in the payload.

Related Resources#

N8N Webhook Integration - Setup and examples
N8N Documentation - Official N8N docs
Previous
N8N Webhook Integration
Next
eCommerce Webhook Integration
Built with