Skip to content
Endurance AnalyticsEndurance Analytics
  • Calendar
  • Trail Finder
  • Geo Quiz
  • Blog
  • AI Buddy
  • Contact
For organizers
Trail runningBiathlonSkiingSkimoOlympicsCalendarTrail FinderGPX AnalyzerRace Pace CalculatorAI BuddyComparePricingConnect AIBlog
For organizersRace website assistantFind my racePricingDocumentation

Know the course before you run it

© 2026 Endurance Analytics. All rights reserved.

Privacy policyTerms of serviceRefundsContact
  • How it works
  • Pricing
  • Documentation
  • Cabinet

Documentation

Four steps and the assistant answers runners on your site. Details below for anyone who needs more.

Quick start

  1. 1Sign up with Google or Strava.
  2. 2Find your race in the catalog and press “This is my race”. If it is not there, press “My race is not in the catalog” and we will help add it.
  3. 3That is all from you: we check by hand that the race is yours, usually within a day. The preview in the cabinet works right away, and you do not have to wait to install the code.
  4. 4On the Install tab enter the race website, copy the ready code and paste it before the closing body tag. The assistant id is already in the code, nothing to change.

Once confirmed, a chat button appears in the corner of your site. No access to the site code? Share the link or QR from the same tab.

Details

Race confirmation

Confirmation shows the race is yours. We check every connection by hand, nothing to change on your site. Until then the assistant answers only in the cabinet preview: the code can already be on your site, the button appears there after the confirmation.

Several races? Add each one in the cabinet: one assistant answers for all of them, with the same code. A new race joins it after our check.

Install on your site

Copy the code from the Install tab of the cabinet and paste it before the closing body tag. The id below is an example, the real one is in the cabinet.

HTML
<script src="https://endurance-analytics.com/agent.js" data-agent="ag_xxxx" async></script>

A button appears in the corner of the page. On a phone the chat opens full screen.

Attributes of the script

AttributeMeaning
data-agentRequired. The assistant id from the cabinet, like ag_xxxx.
data-modeSet to inline to show the chat as a block in the page instead of the corner button.
data-labelTooltip and screen reader name of the round button. By default a word in the page language.
data-colorButton color as #rrggbb. By default trail blue.
data-themelight or dark: the theme of the chat window.

Block inside the page

Put this script where the chat block should appear. The block is 560 px tall at first and then follows the height of the chat.

HTML
<script src="https://endurance-analytics.com/agent.js" data-agent="ag_xxxx" data-mode="inline" async></script>

WordPress

  1. Open a plugin that inserts code into the site footer, for example WPCode.
  2. Paste the script into the footer field and save.
  3. Open any page of the site: the button appears in the corner. For a block in a page, add a Custom HTML block and paste the inline script there.
HTML
<script src="https://endurance-analytics.com/agent.js" data-agent="ag_xxxx" async></script>

Google Tag Manager

  1. Tags, New, tag type Custom HTML.
  2. Paste the script.
  3. Trigger: All Pages.
  4. Save and publish the container.
  5. Open the site: the button appears in the corner.

Through Tag Manager use the corner button. The inline block needs the script to sit right where the block should appear.

Wix, Tilda, Squarespace

Paste the same script into the site-wide code field, at the end of the body:

  • Wix: Settings, Custom code, new code at the end of the body, all pages.
  • Tilda: Site settings, More, the field for your own HTML code.
  • Squarespace: Settings, Advanced, Code Injection, Footer.
HTML
<script src="https://endurance-analytics.com/agent.js" data-agent="ag_xxxx" async></script>

Check the installation

Open your site once with the code, then press Check installation in the Install tab: it shows when the widget was last seen on your site.

Link and QR

The chat also lives at its own address, no site needed. Put it in Instagram or print a QR for bib pickup. The link and the QR are in the Install tab of the cabinet.

URL
https://endurance-analytics.com/ask/your-slug

Add ?race=event_slug/season to open the chat on one race.

URL for a race
https://endurance-analytics.com/ask/your-slug?race=lovcen-skyrace/2026

App (WebView)

In a mobile app open the full-screen chat by this link in a WebView. No script is needed.

URL
https://endurance-analytics.com/agent/ag_xxxx?mode=app

Enable JavaScript in the WebView. The language follows the device, or add ?lang=de.

Your own answers

The assistant already knows the course, results and race questions from our catalog. On the Answers tab add what is missing: bib pickup, parking, shuttles. Only visitors of your assistant see your answers, and only after “Publish”.

Several races on one site

An assistant for one race does not need this. If your site has a calendar of many races, the assistant works out which race page the chat is open on and shows unclear pages on the Pages tab. To name the race explicitly, use the options below. The value is event_slug/season, for example lovcen-skyrace/2026.

Race of the page

Mark the page with data-ea-race so the assistant knows which race it is about. The value has the same format.

HTML
<div data-ea-race="lovcen-skyrace/2026"></div>

Button for a race

Any element with data-ea-ask opens the chat on a race. The value is event_slug/season.

HTML
<button data-ea-ask="lovcen-skyrace/2026">Ask about this race</button>

JavaScript

open() and close() show and hide the window. setContext tells the assistant the race when your site changes pages without a reload.

JavaScript
window.EA.open()
window.EA.close()
window.EA.setContext({ ref: 'lovcen-skyrace/2026' })

For aggregators: JSON-LD

If the page has SportsEvent markup whose url matches the page address, the assistant reads the name and the start date from it. Add it to every race page.

JSON-LD
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "SportsEvent",
  "name": "Lovćen SkyRace 2026",
  "url": "https://example.com/races/lovcen-skyrace-2026",
  "startDate": "2026-11-28"
}
</script>