ARLO Webhook Processor Documentation

← Back to Dashboard

Contact Field Mappings

The following table shows how ARLO contact fields are mapped to HubSpot contact properties:

HubSpot Property ARLO Field Notes
firstname FirstName Contact's first name
lastname LastName Contact's last name
email Email Primary email address
phone PhoneWork Work phone number
mobilephone PhoneMobile Mobile phone number
address addressLink?.StreetLine1 Street address (null if not available)
city addressLink?.City City (null if not available)
state addressLink?.StateOrProvince State (converted to state code)
zip addressLink?.PostCode Postal/ZIP code (null if not available)
country addressLink?.Country Country (USA is converted to "United States")
arlo_unique_identifier UniqueIdentifier Unique identifier from ARLO
Note: Fields marked with ? are optional and will be set to null if not available in the ARLO data.

Event/Section Field Mappings

The following table shows how ARLO event fields are mapped to HubSpot section properties:

HubSpot Property ARLO Field Notes
section_title Code + " - " + Name + " - " + startDateTimeLocal?.toISOString()?.split('T')[0] Formatted title combining code, name, and start date
section Code + " - " + Name + " - " + startDateTimeLocal?.toISOString()?.split('T')[0] Same as section_title
arlo_unique_identifier UniqueIdentifier Unique identifier from ARLO
campus LocationName Event location name
category eventData?.Category Event category
course_type eventData?.CourseType Type of course
event_billing_date eventData?.BillingDate Billing date for the event
event_end_date FinishDateTimeFormatted Formatted end date and time
event_name Name Name of the event
event_series_code eventData?.SeriesCode Series code for recurring events
event_start_date StartDateTimeFormatted Formatted start date and time
event_status mappedStatus Status mapped from ARLO to HubSpot format using the following mapping:
  • Draft → pending_approval
  • Active → approved
  • Completed → completed
  • Cancelled → cancelled
  • Unknown → unknown
event_venue venueName || LocationName Venue name or location name as fallback
event_venue_address fullPhysicalAddress Complete venue address formatted as: "StreetLine1, City, StateOrProvince, PostCode"
Example: "123 Main St, New York, NY, 10001"
Each component is optional and will be omitted if not available
instructor eventData?.Instructor Primary instructor
leader_role_1 presenter2Role Role of first leader
leader_role_2 presenter1Role Role of second leader
leader_role_3 presenter3Role Role of third leader
leader_1 Presenter1Email First leader's HubSpot ID (looked up via HubSpot API using presenter's email from ARLO custom field Presenter1Email)
leaders Presenter2Email Second leader's HubSpot ID (looked up via HubSpot API using presenter's email from ARLO custom field Presenter2Email)
leader_3 Presenter3Email Third leader's HubSpot ID (looked up via HubSpot API using presenter's email from ARLO custom field Presenter3Email)
line_of_business eventData?.LineOfBusiness Line of business
moderncampus_event_id eventData?.ModernCampusEventID Modern Campus event ID
netsuite_event_id eventData?.NetSuiteEventID NetSuite event ID
potential_attendees eventData?.PotentialAttendees Number of potential attendees
region_market eventData?.RegionMarket Region or market
registered_assistants eventData?.RegisteredAssistants Number of registered assistants
registered_attendees eventData?.RegisteredAttendees Number of registered attendees
registered_attendees__nc_ eventData?.RegisteredAttendeesNC Number of non-credit registered attendees
registered_waitlist eventData?.RegisteredWaitlist Number of waitlisted registrations
room eventData?.Room Room information
schedule_type eventData?.ScheduleType Type of schedule
student_section_completion_status eventData?.StudentSectionCompletionStatus Student completion status
section_schedule formatSessions(allSessions) Formatted schedule of all sessions with dates and times. Each session is formatted as:
DayOfWeek, Month Day, Year - StartTime - EndTime TimeZone
Example: "Mon, Jan 15, 2024 - 9:00AM - 5:00PM EST"
  • Dates are formatted using US locale (e.g., "Mon, Jan 15, 2024")
  • Times are in 12-hour format with AM/PM
  • Timezones are mapped from abbreviations to IANA timezone names (e.g., EST → America/New_York)
  • Multiple sessions are separated by newlines
Notes:

HubSpot Associations

The following associations are created in HubSpot to maintain relationships between different entities:

From Object To Object Association Type Notes
Contact Section contact_to_section Associates a contact with a section they are registered for
Section Contact section_to_contact Reverse association of contact_to_section
Section Owner section_to_owner Associates a section with its primary instructor/owner
Owner Section owner_to_section Reverse association of section_to_owner
Notes:

Registration Field Mappings

The following table shows how ARLO registration fields are mapped to HubSpot deal properties:

HubSpot Property ARLO Field Notes
arlo_unique_identifier UniqueIdentifier Unique identifier from ARLO registration
dealname Event.Code + " - " + Event.StartDateTime Formatted name combining event code and start date
section_completion_status Status Status mapped as follows:
  • Default: "Enrolled"
  • Cancelled: "Dropped"
arlo_event_unique_identifier Event.UniqueIdentifier ARLO event ID
arlo_contact_unique_identifier Contact.UniqueIdentifier ARLO contact ID
event_id Event.EventID HubSpot section (event) ID
contact_id Contact.ContactID HubSpot contact ID
final_grade Outcome Registration outcome
attendance Attendance Attendance status, mapped as follows:
  • "Unknown" or "DidNotAttend" → "Not Attended"
  • Other values remain unchanged
pipeline HUBSPOT_PIPELINE_ID HubSpot pipeline ID from environment variables
dealstage HUBSPOT_PIPELINE_STAGE_ID HubSpot pipeline stage ID from environment variables
amount OrderLine.LineAmount Registration amount from order line
discount_used__arlo_ OrderLine.Description Description of any discount applied
arlo_order_id Order.OrderID ARLO order ID
Registration Creation Logic:
Deal Associations:

Deployment Instructions

To deploy the ARLO Webhook Processor, follow these steps:

  1. Access AWS Account
    • Log into the AWS account using the following credentials:
    • Account ID: 423255724021
    • Email: ctiwebservices@coactive.com
    • Contact CTI - Michael or Matthew for access
  2. Connect to Lightsail Instance
  3. Optional: SSH Setup
    • You can set up SSH in your local SSH client for easier access
  4. Deploy
    • Run the deployment script:
    • ./deploy.sh
Note: The deployment process is automated through the deploy script. No additional configuration is required.