Skip to content
Live Tennis API Free API key ↗
Menu
Integrations

Free n8n workflow templates for tennis data

Live Tennis API publishes five n8n workflows you can import and run. They send live score alerts to Telegram, a daily order of play to Discord and weekly ranking changes by email. The other two write finished matches to Google Sheets and post break-point alerts to Slack. Each one comes in two versions, one built on n8n's HTTP Request node and one on the Live Tennis API community node. The JSON is free to use and change under the MIT licence.

  1. Live score alerts to Telegram (Free plan)
  2. Daily order of play to Discord (Free plan)
  3. Weekly ranking changes by email (Free plan)
  4. Finished matches to Google Sheets (BASIC plan or above)
  5. Break-point alerts to Slack (ULTRA plan)

Which version should I import?

Take the HTTP Request version if you are not sure. It uses only nodes that ship with n8n, so it runs on n8n Cloud and on your own server with nothing to install. The community node version uses n8n-nodes-livetennisapi. It adds a Live Tennis API node with every resource and operation listed, so you pick them from menus instead of typing URLs. n8n lists the package as a verified community node, which means you can add it from the nodes panel. On a self-hosted instance you can also install it under Settings, Community nodes, as n8n's guide explains.

What do I need before I import one?

The files hold no API key and no credential. After you import one, create the credential once and pick it on each node. For the HTTP Request version, that is a Header Auth credential with these two fields, with your own key in place of the placeholder:

Name:  X-API-Key
Value: YOUR_LIVE_TENNIS_API_KEY

For the community node version, create a Live Tennis API credential and paste in your API key.

How do I import a template?

  1. Copy the link of a JSON file below.
  2. In n8n, open a new workflow. In the three-dot menu next to its name, choose Import, then From URL, and paste the link. For a downloaded file, choose From file instead.
  3. Open each node that shows a warning and select your credentials.
  4. Fill in the Config node. Every value you need to change is there, with a placeholder or an example.
  5. Run the workflow once to check the result, then activate it.

Each workflow also carries its setup steps in a yellow note on the canvas.

Live score alerts to Telegram

Plan
Free plan
Runs
Every 20 minutes
Sends to
Telegram
Uses
72 requests a day, plus a few for each match awaiting its result

Get a Telegram message when a player you follow goes on court and at the end of each set. When the match ends, the message has the final score. The workflow polls the live list every 20 minutes and compares it with the last run. A score you already have is never sent twice. Club organisers and coaches can follow a few players this way without watching a scores page.

HTTP Request version (JSON), Live score alerts to TelegramCommunity node version (JSON), Live score alerts to Telegram

The Live score alerts to Telegram workflow in the n8n editor, HTTP Request version
What it does:
  1. Every 20 minutes: get live matches
  2. Keep followed players, compare with the last run
  3. Finished match: read the final result
  4. Send a Telegram message

Full-size screenshots: HTTP Request version, community node version.

How to set it up

  1. Create the API key credential described above and select it on every node that calls Live Tennis API.
  2. Create a Telegram bot with @BotFather and add a Telegram credential with its token.
  3. In Config, set followedPlayerIds and telegramChatId.
  4. Activate the workflow. It only remembers the last run while it is active, not in manual test runs.

Daily order of play to Discord

Plan
Free plan
Runs
Every morning at 7
Sends to
Discord
Uses
about four requests a day

Post one Discord message each morning with the matches your players have in the next 24 hours, with start times in your own time zone. It matches players on id where the schedule has one and on surname where it has only a name. That way qualifying matches still show up. A fan server or a fantasy league can share one schedule like this.

HTTP Request version (JSON), Daily order of play to DiscordCommunity node version (JSON), Daily order of play to Discord

The Daily order of play to Discord workflow in the n8n editor, HTTP Request version
What it does:
  1. Every morning: get the coming fixtures
  2. Keep followed players by id or name
  3. Format start times in your zone
  4. Post to Discord

Full-size screenshots: HTTP Request version, community node version.

How to set it up

  1. Create the API key credential described above and select it on every node that calls Live Tennis API.
  2. Create a webhook in your Discord server (Server settings, Integrations, Webhooks) and add a Discord Webhook credential with its URL.
  3. In Config, set followedPlayerIds, followedNames and timezone.
  4. Run it once to check the message, then activate it.

Weekly ranking changes by email

Plan
Free plan
Runs
Every Monday at 9
Sends to
Email (SMTP)
Uses
one request per player each week

Every Monday, get a short email on how the players you follow moved in the ranking. It shows places gained or lost and points won or dropped, biggest moves first. Players who entered or left the ranking are named too. If you track a short list of players, you get the week in one email instead of looking each one up.

HTTP Request version (JSON), Weekly ranking changes by emailCommunity node version (JSON), Weekly ranking changes by email

The Weekly ranking changes by email workflow in the n8n editor, HTTP Request version
What it does:
  1. Every Monday: one item per followed player
  2. Get each player's ranking
  3. Compare with last week
  4. Send one email

Full-size screenshots: HTTP Request version, community node version.

How to set it up

  1. Create the API key credential described above and select it on every node that calls Live Tennis API.
  2. Add an SMTP credential for the sending address.
  3. In Config, set followedPlayerIds, emailTo and emailFrom.
  4. Activate it. The first run records a baseline, and changes show from the second week.

Finished matches to Google Sheets

Plan
BASIC plan or above
Runs
Every day at 6 UTC
Sends to
Google Sheets
Uses
three to eight requests a day

Keep a Google Sheet of every finished match: date, tour, level, tournament, round, surface, players, winner, set scores and outcome. Each morning the workflow asks for the completed matches that changed since its last run, so a late result or a corrected one still arrives. It adds or updates one row per match, keyed on match_id, so a repeat never makes a duplicate. It suits a model's training log or a results newsletter.

HTTP Request version (JSON), Finished matches to Google SheetsCommunity node version (JSON), Finished matches to Google Sheets

The Finished matches to Google Sheets workflow in the n8n editor, HTTP Request version
What it does:
  1. Every day: get the completed matches that changed since the last run
  2. Turn each match into a row
  3. Add or update rows by match_id
  4. Remember where to start next time

Full-size screenshots: HTTP Request version, community node version.

How to set it up

  1. Create the API key credential described above and select it on every node that calls Live Tennis API.
  2. Add a Google Sheets OAuth2 credential.
  3. Create a tab named Results whose first row is the column list below.
  4. In Config, set spreadsheetId. Leave tour empty for every tour, or set atp, wta, challenger or itf.
  5. Run it once, check the rows, then activate it.

The first row of the Results tab:

match_id, date, tour, level, tournament, round, surface, draw, player1, player2, winner, score, outcome, result_version, updated_at

Break-point alerts to Slack

Plan
ULTRA plan
Runs
A signed webhook from Live Tennis API
Sends to
Slack
Uses
one request for every break-point event on any live match

Post to a Slack channel the moment a break point comes up in a match of a player you follow. A second message says whether the game ended in a hold or a break. Live Tennis API sends each event as a signed webhook, so nothing polls. The workflow checks the HMAC signature and the timestamp before it reads the match. It suits a trading desk or a live blog that reacts to the points that swing a match.

HTTP Request version (JSON), Break-point alerts to SlackCommunity node version (JSON), Break-point alerts to Slack

The Break-point alerts to Slack workflow in the n8n editor, HTTP Request version
What it does:
  1. Webhook: receive the signed event
  2. Check the HMAC signature and timestamp
  3. Read the match and keep followed players
  4. Post to Slack

Full-size screenshots: HTTP Request version, community node version.

How to set it up

  1. Create the API key credential described above and select it on every node that calls Live Tennis API.
  2. Check that the API sends the X-LTAPI-Signature-V1 header. The workflow verifies only that header, so before that release every delivery stops at the check.
  3. Create a Crypto credential with any temporary HMAC secret and select it on Sign the time and the raw body. n8n will not activate the workflow without it.
  4. Add a Slack credential, then set followedPlayerIds and slackChannel in Config.
  5. Activate the workflow and copy the webhook node's production URL into Webhook URL.
  6. Run the bottom branch once. Replace the temporary secret in the Crypto credential with the signing secret from its output.

What should I know before relying on them?

If you would rather not run n8n at all, Break-point Alerts sends break points to email, Discord, Telegram or SMS with no workflow to maintain.

How were they tested?

On 28 October 2026 each file was imported into a new self-hosted n8n 2.44.6 with n8n-nodes-livetennisapi 0.2.1. Each one then ran against the live API. The Telegram, Discord and email nodes sent to a local test server that recorded each message. The break-point workflow was sent requests that were signed, altered, out of date, re-stamped, repeated or carrying only the old signature header. Only signed, current, first deliveries went through. The Slack and Google Sheets nodes passed n8n's own checks on their settings, but were not posted to a real workspace or sheet.

Can I change them or share them?

Yes. The templates are under the MIT licence, so you can copy, change and pass them on. The API reference for every endpoint they call is in the documentation. If you build something on one, or a node misbehaves, write to hello@livetennisapi.com.

Templates version 1.0, published 28 October 2026. Tested with n8n 2.44.6 and n8n-nodes-livetennisapi 0.2.1.