Events
Most LoyJoy process modules automatically emit events when customers interact with the chat — for example when a customer is welcomed or signs in. Each event name is typically prefixed with its process module, e.g. birthdate_entered for the Birthdate module.
You can consume these events in three ways: forward them to a tracking tool (see Integrate Tracking), listen to them in the browser via the JavaScript API, or analyze them in LoyJoy Analytics.
The table below lists the lifecycle events first (hide, load, open, show, close), followed by module events in alphabetical order.
Events List
The following list covers most process modules and events. Please note that:
- The event names do not form a forever constant API, as they may be extended and changed with the further development and growing feature set of LoyJoy.
- Additional event names that are not included in this list may be emitted, as with the Event process module custom events can be defined and emitted by the modeller.
| Event name | Event description | Event payload |
|---|---|---|
| hide | The chat window was not displayed when loading or hidden (hidden) after loading via JavaScript API. | |
| load | The chat was loaded. | |
| open | The chat was opened. | |
| show | The chat was displayed / no longer hidden. | |
| close | The chat was closed. | |
| -- | -- | |
| advent_calendar_door_asked | A customer was asked whether to open an advent calendar door. | |
| advent_calendar_door_opened | A customer has confirmed to open an advent calendar door. | |
| ai_agent_answered | A customer question was answered by an AI agent. | |
| ai_agent_content_policy | An AI agent response was blocked by content policy. | |
| ai_agent_fallback | An AI agent question could not be answered and fallback logic was used. | |
| ai_knowledge_answered | A customer question was answered by AI knowledge retrieval. | |
| ai_knowledge_content_policy | An AI knowledge response was blocked by content policy. | |
| ai_knowledge_followup_paraphrased | A follow-up question was paraphrased in AI knowledge mode. | |
| ai_knowledge_question_asked | A customer asked a question in AI knowledge mode. | |
| ai_knowledge_thumbs_down_given | A customer gave thumbs down feedback to an AI knowledge answer. | |
| ai_prompt_answered | A prompt-based AI question was answered. | |
| ai_question_answered | A customer question was answered by AI | |
| ai_question_asked | A customer entered a question in a AI-enabled chat | |
| ai_question_fallback | A customer question could not be answered by AI | |
| ai_question_timeout | A customer question lead to a timeout of the AI API | |
| ai_recommender_products_recommended | AI recommender returned product recommendations. | |
| ai_recommender_timeout | AI recommender request timed out. | |
| ai_smalltalk_answered | A smalltalk question was answered by AI. | |
| ai_smalltalk_timeout | A smalltalk AI request timed out. | |
| ai_thumbs_down_given | A customer gave thumbs down as negative feedback to a AI answer | |
| ai_thumbs_up_given | A customer gave thumbs up as positive feedback to a AI answer | |
| api_error_bpmn_process | A BPMN process API error occurred. | |
| api_exception | Another exception has been thrown when accessing the API | |
| api_http_connect_timeout_exception | An HttpConnectTimeoutException has been thrown when accessing the API | |
| api_http_status_code | Another error HTTP status code has been returned when accessing the API | |
| api_http_status_code_400 | An error HTTP status code 400 has been returned when accessing the API | |
| api_http_status_code_403 | An error HTTP status code 403 has been returned when accessing the API | |
| api_http_status_code_404 | An error HTTP status code 404 has been returned when accessing the API | |
| api_http_status_code_500 | An error HTTP status code 500 has been returned when accessing the API | |
| api_http_timeout_exception | An HttpTimeoutException has been thrown when accessing the API | |
| api_socket_timeout_exception | An SocketTimeoutException has been thrown when accessing the API | |
| appointment_created | An appointment was created in the appointment process module. | |
| article_feedback_negative | Negative feedback was given for an article. | |
| article_opened | An article was opened by a customer. | |
| audio_message_requested | A customer was asked to record an audio message in the audio message process module. | |
| audio_message_uploaded | A customer has uploaded an audio message in the audio message process module. | |
| auth0_authenticated | A customer was authenticated with Auth0. | |
| birthdate_entered | A customer has entered their birthday in the birthdate process module. | |
| borderless_message_clicked | A borderless message element was clicked. | |
| borderless_quick_replies_shown | Borderless quick replies were shown. | |
| campaign_message_sent | A campaign message was sent. | |
| code_entered | A customer has entered a code in the code process module. | |
| code_entered_correct | A customer has entered a correct code in the code process module. | |
| code_entered_incorrect | A customer has entered an incorrect code in the code process module. | |
| code_registered | A code entered by a customer was registered. | |
| code_uploaded | A code was uploaded. | |
| conversation_clicked | A conversation entry was clicked. | |
| conversion | A conversion event was tracked. | |
| coupon_code_issued | A coupon code was issued to a customer in the coupon code process module. | |
| coupon_code_uploaded | A coupon code was uploaded in the LoyJoy backend. | |
| customer_updated | A customer was updated, e.g. by entering personal information such as name or birthdate. | |
| data_collection_answer | A user has given a pre-defined answer in a questionnaire process module (this includes e.g. quick reply type questions, but not text type). | |
| data_collection_answer_idontknow | A user has clicked the "I don't know option" in an questionnaire. | |
| data_collection_answer_ordered_1 | Ordered answer option 1 was selected in a questionnaire. | |
| data_collection_answer_ordered_2 | Ordered answer option 2 was selected in a questionnaire. | |
| data_collection_answer_ordered_4 | Ordered answer option 4 was selected in a questionnaire. | |
| data_collection_answer_ordered_5 | Ordered answer option 5 was selected in a questionnaire. | |
| data_collection_answer_ordered_7 | Ordered answer option 7 was selected in a questionnaire. | |
| data_collection_answer_ordered_8 | Ordered answer option 8 was selected in a questionnaire. | |
| data_collection_nps_survey_score_0 | A customer has given the score of 0 in the NPS question type of the questionnaire | |
| data_collection_nps_survey_score_1 | A customer has given the score of 1 in the NPS question type of the questionnaire | |
| data_collection_nps_survey_score_10 | A customer has given the score of 10 in the NPS question type of the questionnaire | |
| data_collection_nps_survey_score_2 | A customer has given the score of 2 in the NPS question type of the questionnaire | |
| data_collection_nps_survey_score_3 | A customer has given the score of 3 in the NPS question type of the questionnaire | |
| data_collection_nps_survey_score_4 | A customer has given the score of 4 in the NPS question type of the questionnaire | |
| data_collection_nps_survey_score_5 | A customer has given the score of 5 in the NPS question type of the questionnaire | |
| data_collection_nps_survey_score_6 | A customer has given the score of 6 in the NPS question type of the questionnaire | |
| data_collection_nps_survey_score_7 | A customer has given the score of 7 in the NPS question type of the questionnaire | |
| data_collection_nps_survey_score_8 | A customer has given the score of 8 in the NPS question type of the questionnaire | |
| data_collection_nps_survey_score_9 | A customer has given the score of 9 in the NPS question type of the questionnaire | |
| data_collection_question | A question was asked in a questionnaire. | |
| data_collection_question_answered | A question was answered in a questionnaire (this includes all question types). | |
| data_collection_variable_set | A variable was set in a questionnaire. | |
| email_asked | A customer was asked to enter an email address. | |
| email_entered | A customer has entered their email address in an email process module. | |
| end | When an BPMN end event is reached in the process (denoted by a bold circle in the process flow). | |
| firstname_entered | A customer has entered their first name in a firstname process module. | |
| gender_diverse | A customer has entered their gender as diverse in a gender process module. | |
| gender_entered | A customer has entered their gender in a gender process module. | |
| gender_female | A customer has entered their gender as female in a gender process module. | |
| gender_male | A customer has entered their gender as male in a gender process module. | |
| handover_email_sent | A handover email was sent. | |
| home_view_conversation_clicked | A conversation was clicked in the home view. | |
| home_view_elastic_search | An Elastic search action was triggered in the home view. | |
| home_view_hero_clicked | A hero element was clicked in the home view. | |
| home_view_opened | The home view was opened (non-unique). | |
| home_view_screen_time | 15 seconds of screen time were reached in a home view (iterative). | |
| home_view_web_component_clicked | A web component was clicked in the home view. | |
| intent_answered | A user intent was answered. | |
| intent_evaluated | An intent was evaluated (i.e. a user has entered free text). | |
| intent_matched | A matching intent (above threshold) was found when evaluating intents. | |
| interaction | A customer has interacted for the first time in a process / agent, i.e. has manually typed something in the chat, clicked an element in the chat etc. | |
| jump_auto | An automatic jump process module was executed. | |
| jump_borderless_1 | Borderless jump option 1 was selected. | |
| jump_borderless_3 | Borderless jump option 3 was selected. | |
| jump_decision_1 | The preceding jump_decision_question was answered with the 1st option | |
| jump_decision_2 | The preceding jump_decision_question was answered with the 2nd option | |
| jump_decision_3 | The preceding jump_decision_question was answered with the 3rd option | |
| jump_decision_4 | The preceding jump_decision_question was answered with the 4th option | |
| jump_decision_5 | The preceding jump_decision_question was answered with the 5th option | |
| jump_decision_6 | The preceding jump_decision_question was answered with the 6th option | |
| jump_decision_7 | The preceding jump_decision_question was answered with the 7th option | |
| jump_decision_question | The question where to jump was asked in a jump decision process module. | |
| jump_persistent_1 | The 1st persistent jump quick-reply was clicked | |
| jump_persistent_2 | The 2nd persistent jump quick-reply was clicked | |
| jump_persistent_3 | The 3rd persistent jump quick-reply was clicked | |
| jump_persistent_4 | The 4th persistent jump quick-reply was clicked | |
| jump_persistent_5 | The 5th persistent jump quick-reply was clicked | |
| keycloak_authenticated | A customer was authenticated with Keycloak. | |
| lastname_entered | A customer has entered their last name in a lastname process module. | |
| link_clicked | A link was clicked (external link, product gallery process, markdown link). | { "process_id": <PROCESS_ID>, "process_name": <PROCESS_NAME>, "url": "https://example.org" } |
| live_agent | A live-agent event was triggered. | |
| live_chat_duration | A certain duration was reached during a live chat. | |
| live_chat_ended | A live chat was ended. | |
| live_chat_started | A live chat was started. | |
| live_waiting_time | A live chat waiting-time milestone was reached. | |
| loyalty_first_received | A customer has received their first loyalty points. | |
| loyalty_points_emitted | Loyalty points were emitted to a customer. | |
| loyalty_points_spent | A customer has spent loyalty points. | |
| loyalty_referral | A customer has signed up after being referred by another customer via the loyalty referral process module. | |
| loyalty_reward_redeemed | A customer has redeemed their loyalty points for a reward. | |
| mail_sent | A mail was sent in the mail process module. | |
| mail_to_customer_sent | A mail was sent in a mail to customer process module. | |
| main_prize_sent | The main prize was shown in the main prize process module. | |
| markdown_link_clicked | A text link was clicked. | |
| message_evaluation_correct | A message evaluation was marked as correct. | |
| message_evaluation_incorrect | A message evaluation was marked as incorrect. | |
| microsoft_entra_id_authenticated | A customer was authenticated with Microsoft Entra ID. | |
| mini_program_clicked | A mini program was clicked. | |
| name_entered | A customer entered their name. | |
| newsletter_double_opt_in | A customer has given the newsletter double opt-in via clicking the link in a double opt-in email. | |
| newsletter_opt_out | A customer has opted out to newsletter via clicking the unsubscribe link in an email or the settings menu in chat. | |
| newsletter_single_opt_in | A customer has given the newsletter single opt-in by agreeing in the chat. | |
| newsletter_single_opt_in_asked | A customer was asked in chat whether they want to receive a newsletter. | |
| newsletter_single_opt_in_rejected | A customer did not agree to receive the newsletter in chat. | |
| nps_survey_free_text_answered | A customer has answered the text question in the NPS process module. | |
| nps_survey_score_0 | A customer has given the score of 0 in the NPS process module. | |
| nps_survey_score_1 | A customer has given the score of 1 in the NPS process module. | |
| nps_survey_score_10 | A customer has given the score of 10 in the NPS process module. | |
| nps_survey_score_2 | A customer has given the score of 2 in the NPS process module. | |
| nps_survey_score_3 | A customer has given the score of 3 in the NPS process module. | |
| nps_survey_score_4 | A customer has given the score of 4 in the NPS process module. | |
| nps_survey_score_5 | A customer has given the score of 5 in the NPS process module. | |
| nps_survey_score_6 | A customer has given the score of 6 in the NPS process module. | |
| nps_survey_score_7 | A customer has given the score of 7 in the NPS process module. | |
| nps_survey_score_8 | A customer has given the score of 8 in the NPS process module. | |
| nps_survey_score_9 | A customer has given the score of 9 in the NPS process module. | |
| opening_hours_closed | A request happened outside configured opening hours. | |
| participant_bpmn_process | A customer has participated for the first time in process / agent. | |
| participant_giveaway | A customer has participated for the first time in a giveaway. | |
| participation | A customer has participated in a giveaway. | |
| participation_already_participated | Participation was rejected because the customer had already participated. | |
| password_entered | A customer has entered a password in the password process module. | |
| pattern_split_ai_content_policy | AI split-pattern routing hit a content-policy case. | |
| pattern_split_ai_routed | AI split-pattern routing selected an AI path. | |
| pattern_split_ai_timeout | AI split-pattern routing hit a timeout case. | |
| pdf_generated | A PDF was generated. | |
| pdf_mail_to_customer_sent | A PDF was sent to a customer by email. | |
| phone_number_entered | A customer has entered their phone number in a phone number process module. | |
| places_address_entered | A customer entered an address in places flow. | |
| places_places_api_autocomplete | Places API autocomplete was used. | |
| places_places_api_autocomplete_error | Places API autocomplete returned an error. | |
| platform_facebook | A customer has chatted via Facebook messenger. | |
| platform_rest | A customer has chatted via the chat UI on the website. | |
| platform_viber | A customer has chatted via Viber. | |
| platform_wechat | A customer has chatted via WeChat. | |
| platform_whatsapp | A customer has chatted via WhatsApp. | |
| postal_address_confirmed | A customer has confirmed the postal address they entered. | |
| postal_address_updated | A customer has entered their postal address in a postal address process module. | |
| prize_details_sent | A customer has requested the details for a prize in a prize process module. | |
| prize_sent | A prize was sent in a prize process module. | |
| proceed_confirmed | A customer has proceeded in a proceed process module. | |
| process_liked | A customer has liked a process. | |
| product_displayed | A product was displayed. | |
| product_gallery_shown | A product gallery was shown. | |
| product_link_clicked | A product link was clicked. | |
| profiling_double_opt_in | A customer has given the profiling double opt-in via clicking the link in a double opt-in email. | |
| profiling_opt_out | A customer has opted out to profiling via clicking the unsubscribe link in an email or the settings menu in chat. | |
| profiling_single_opt_in | A customer has given the profiling single opt-in by agreeing in the chat. | |
| profiling_single_opt_in_asked | A customer was asked in chat whether they agree to profiling. | |
| profiling_single_opt_in_rejected | A customer did not agree to profiling in chat. | |
| pub_sub_failed | A message to Pub/Sub could not be posted. | |
| pub_sub_published | A message was posted to Pub/Sub in a Pub/Sub process module. | |
| questionnaire_question | A question was asked in a questionnaire (legacy). | |
| quiz_answer | A customer has used a pre-defined answer in a quiz. | |
| quiz_answer_correct | A customer has given a correct, pre-defined answer in a quiz. | |
| quiz_answer_freetext | A customer has given a free text answer in a quiz. | |
| quiz_answer_incorrect | A customer has given an incorrect, pre-defined answer in a quiz. | |
| quiz_answer_not_freetext | A customer has given a pre-defined answer in a quiz. | |
| quiz_question | A question was asked in a quiz. | |
| reach_five_authenticate_consent_1 | Consent 1 has been given | |
| reach_five_authenticate_consent_2 | Consent 2 has been given | |
| reach_five_authenticate_consent_3 | Consent 3 has been given | |
| reach_five_birthdate_entered | A birth date has been entered while signing up with personal data | |
| reach_five_firstname_entered | A first name has been entered while signing up with personal data | |
| reach_five_sign_in | A customer has signed in | |
| reach_five_sign_up | A customer has signed up | |
| reach_five_sign_up_personal_data_requested | A customer has been asked to enter personal data while signing up | |
| reach_five_sign_up_requested | A customer has been asked to sign up for an email address entered | |
| redemptions_redeemed | A redemption was completed. | |
| reminder_double_opt_in | A customer has given the reminder double opt-in via clicking the link in a double opt-in email. | |
| reminder_opt_out | A customer has opted out to reminder via clicking the unsubscribe link in an email or the settings menu in chat. | |
| reminder_opt_out | A customer has opted out to reminder via clicking the unsubscribe link in an email or the settings menu in chat. | |
| reminder_single_opt_in | A customer has given the reminder single opt-in by agreeing in the chat. | |
| reminder_single_opt_in | A customer has given the reminder single opt-in by agreeing in the chat. | |
| reminder_single_opt_in_asked | A customer was asked in chat whether they agree to receive a reminder. | |
| reminder_single_opt_in_asked | A customer was asked in chat whether they agree to receive a reminder. | |
| reminder_single_opt_in_rejected | A customer did not agree to receive a reminder in chat. | |
| reminder_single_opt_in_rejected | A customer did not agree to receive a reminder in chat. | |
| reset | A customer has triggered a chat reset. | |
| restart | A customer has triggered a process re-start via the chat menu. | |
| reward_redeemed | A customer has redeemed a reward in a rewards process module. | |
| scanner_barcode_scanned | A barcode was scanned in scanner flow. | |
| screen_time | Screen time was recorded in a chat. | |
| session_interacted | After a new chat session has started (cf. session_started), a customer has interacted for the first time in a process / agent, i.e. has manually typed something in the chat, clicked an element in the chat etc. | |
| session_interacted_bpmn_process | First customer interaction occurred within a BPMN process session. | |
| session_started | A customer has started a new chat session. A chat session starts as soon as a chat message occurs, either from a bot or a customer. It expires after 30 minutes of inactivity (cf. Google Analytics). | |
| session_started_bpmn_process | A BPMN process session was started. | |
| session_started_bpmn_process_internal | An internal BPMN process session was started. | |
| shared_facebook | Content was shared via Facebook. | |
| shared_mailto | Content was shared via mailto link. | |
| shared_twitter | Content was shared via Twitter. | |
| sign_in | A customer has signed in. | |
| sign_in_email_address_blocked | An email address was blocked because it was found on the block list for one-time email hosters. | |
| sign_in_email_address_not_allowed | Sign-in failed because the email address is not allowed. | |
| sign_in_ip_address_blocked | A customer was blocked from signing up because there were already too many sign ups from their IP address. | |
| sign_in_pin_failed | A customer has entered an incorrect PIN / code when signing up / signing in. | |
| sign_in_pin_mail_sent | A customer was sent an email with their PIN / code. | |
| sign_in_pin_succeeded | A customer has entered a correct PIN / code when signing up / signing in. | |
| sign_out | A customer has signed out via the chat menu. | |
| sign_up | A new customer has signed up. | |
| sign_up_requested | A customer was asked to sign up via entering the email address. | |
| sikom_callback_sent | A SiKom callback was sent. | |
| sms_double_opt_in | A customer has confirmed the text message double opt-in via entering the code they received via text. | |
| sms_opt_in_code_sent | A customer has received a code via text in the text opt-in process module. | |
| sms_single_opt_in | A customer has given the text single opt-in by agreeing in the chat. | |
| sms_single_opt_in_asked | A customer was asked in chat whether they agree to receive text messages. | |
| sms_single_opt_in_rejected | A customer did not agree to receive texts in chat. | |
| snapshot_barcode_scanned | A customer has scanned a barcode in a snapshot process module. | |
| snapshot_image_uploaded | A customer has uploaded an image in a snapshot process module. | |
| split_decision_answers | A split-decision answer event was tracked. | |
| start | A process was started. | |
| story_read | A customer has read a story. | |
| sub_process_visited | A sub process / process module was shown to a customer. | |
| talkevent_handover_sent | A TalkEvent handover was sent. | |
| terms_accepted | A customer has accepted the agent / process terms. | |
| terms_rejected | A customer has rejected the agent / process terms. | |
| user_agent_desktop | A customer on a desktop computer has chatted. | |
| user_agent_mobile | A customer on a mobile device has chatted. | |
| variable_set | A variable was set in a variable process module. | |
| voice_call_started | A voice call was started. | |
| voice_call_transferred | A voice call was transferred. | |
| web_push_double_opt_in | A customer has given the web-push double opt-in via agreeing to the question shown by their browser. | |
| web_push_opt_in_subscription_request | A request was sent to a customer's browser to ask for web-push opt-in. | |
| web_push_single_opt_in | A customer has given the web-push single opt-in by agreeing in the chat. | |
| web_push_single_opt_in_asked | A customer was asked in chat whether they agree to receive web-push messages. | |
| web_push_single_opt_in_rejected | A customer did not agree to receive web-push messages in chat. | |
| web_push_subscription_gone | A customer's web-push subscription (handled by the browser) could not be found (was likely deleted by user). | |
| welcome_sent | A welcome message was sent in a welcome process module to a new customer. | |
| welcome_sent_recurrent | A welcome message was sent in a welcome process module to a recurrent customer. | |
| welcome_sent_recurrent_named | A welcome message was sent in a welcome process module to a signed-in customer with name. | |
| win_lost | A customer has not won in a win process module. | |
| win_participant_bpmn_process | A customer has participated for the first time in a process in a win process module. | |
| win_participant_bpmn_sub_process | A customer has participated for the first time in a win process module. | |
| win_participation | A customer has participated in a win process module. | |
| win_won | A customer has won in a win process module. |