Skip to main content

Teamfight Tactics Game Events

Please read the overwolf.games.events documentation page to learn how to use Overwolf game events.

Game ID

5426

Note that TFT and LOL share the same Game ID.

tip

If you would like to know when the user is going to play TFT (hit the "Play" button), you can listen to the LoL Launcher lobby_info info-update, and check the queueID. If it's 1090 or 1100 - it's TFT.

Note: Riot is working on a new TFT mode named "Hyperoll". The mode is currently available in the PBE servers and soon in live servers and can be detected as 1130 in the `queueID`.

Sample Apps

Available Features

Game events status

It's highly recommended to communicate errors to your users. Check game event status here or easily verify event status directly from your app using our API.

important

Because LOL and TFT share the same GameID, when checking TFTs game event status please use 21570 as the unique GameID for TFT.

gep_internal

Info Updates

keyCategoryValuesNotesSince GEP Ver.
gep_internalgep_internalLocal + Public version numberSee notes143.0

gep_internal note

Data Example:

{"info":{"gep_internal":{"version_info":"{"local_version":"157.0.1","public_version":"157.0.1","is_updated":true}"}},"feature":"gep_internal"}

live_client_data

Info Updates

keyCategoryValuesNotesSince GEP Ver.
active_playerlive_client_dataIn-game data received by the client.See notes143.1
all_playerslive_client_dataIn-game data received by the client.See notes143.1
eventslive_client_dataIn-game data received by the client.See notes143.1
game_datalive_client_dataIn-game data received by the client.See notes143.1

active_player note

Data Example:

{
"info":{
"live_client_data":{
"active_player":"{"abilities":{"E":{"abilityLevel":5,"displayName":"Unspeakable Horror","id"
:"NocturneUnspeakableHorror"
,"rawDescription":"GeneratedTip_Spell_NocturneUnspeakableHorror_Description"
...
,"rawDisplayName":"GeneratedTip_Spell_NocturneUnspeakableHorror_DisplayName"}
{"id":5008,"rawDescriptio":"perk_tooltip_StatModAdaptive"},{"id":5002,"rawDescription":"perk_tooltip_StatModArmor"}]},"level":17,"summonerName":"Sh4rgaas"}"
}
},
"feature":"live_client_data"
}

all_players note

Data Example:

{
"info":{
"live_client_data":{
"all_players":"[{"championName":"Sett","isBot":false,"isDead":true,"items":
[{"canUse":false,"consumable":false,"count":1,"displayName":"Dead Man's Plate"
,"itemID":3742,"price":1100,"rawDescription":"game_item_description_3742","rawDisplayName":"game_item_displayname_3742","slot":0}
,{"canUse":false,"consumable":false,"count":1,"displayName":"Bramble Vest"
...
{"displayName":"Flash","rawDescription":"GeneratedTip_SummonerSpell_SummonerFlash_Description","rawDisplayName"
:"GeneratedTip_SummonerSpell_SummonerFlash_DisplayName"},"summonerSpellTwo":
{"displayName":"Ignite","rawDescription":"GeneratedTip_SummonerSpell_SummonerDot_Description"
,"rawDisplayName":"GeneratedTip_SummonerSpell_SummonerDot_DisplayName"}},"team":"CHAOS"}]"
}
},
"feature":"live_client_data"
}

events note

Data Example:

{
"info":{
"live_client_data":{
"events":"{"Events":[{"EventID":0,"EventName":"GameStart"
,"EventTime":0.041107501834630966},{"EventID":1,"EventName":"MinionsSpawning",
"EventTime":65.05073547363281},{"Assisters":
["CHOWCHOWTHEPAIN","CHAXILICIOUSLOL"],
...
"EventID":2,"EventName":"ChampionKill","EventTime":321.79498291015625,"KillerName":"Adoucissant",
"VictimName":"finite area"},{"Assisters":["finite area","Dilipa"],"EventID":101,"EventName":
"ChampionKill","EventTime":2256.623291015625,"KillerName":"St4ubwedel","VictimName":"CHOWCHOWTHEPAIN"}]}"
}
},
"feature":"live_client_data"
}

game_data note

Data Example:

{
"info":{
"live_client_data":{
"game_data":"{"gameMode":"CLASSIC","gameTime":2258.9697265625,"mapName":"Map11","mapNumber":11,"mapTerrain":"Mountain"}"
}
},
"feature":"live_client_data"
}

me

Info Updates

keyCategoryValuesNotesSince GEP Ver.
summoner_namemeSummoner name of the local playerSee notes133.0
xpmeCurrent player level, xp points, and xp points left to reach the next levelSee notes133.0
healthmeCurrent amount of health points of the playerSee notes133.0
rankmeCurrent standing of the playerSee notes133.0
goldmePlayer's spare gold in handSee notes133.0
augmentsmeAugments list availableSee notes197.1

summoner_name notes

Data example:

{"info":{"me":{"summoner_name":"PoSeIdOnPrOx1"}},"feature":"me"}

xp notes

Data example:

{"info":{"me":{"xp":"{"level":1,"current_xp":0,"xp_max":2}"}},"feature":"me"}

health notes

Data example:

{"info":{"me":{"health":"11"}},"feature":"me"}

rank notes

Data example:

{"info":{"me":{"rank":"2"}},"feature":"me"}

Meaning 1st place/8th place, etc.

("Index" rank data in roster is not accurate in real-time - only once the local player had died or won).

gold notes

Data example:

{"info":{"me":{"gold":"1"}},"feature":"me"}

augments notes

Data example:

{"feature":"augments","category":"me","key":"me","value":"{\"augment_1\":{\"name\":\"TFT6_Augment_CyberneticShell1\"}, \"augment_2\":{\"name\":\"TFT6_Augment_Dominance\"}, \"augment_3\":{\"name\":\"TFT6_Augment_BruteTrait\"}, }"}

match_info

Info Updates

keyCategoryValuesNotesSince GEP Ver.
pseudo_match_idmatch_infoCurrent match’s ID codeSee notes133.0
battle_statematch_infoBoolean. Whether a battle is in progressSee notes133.0
match_statematch_infoBoolean. Whether a match is in progressSee notes133.0
round_typematch_infoRound is PvE, PvP or Carousel, as well as stage numberSee notes133.0
round_outcomematch_infoOutcome of the previous roundSee notes133.0
opponentmatch_infoNames of your opponentsSee notes133.0
game_modematch_infoWhether the current game mode is TFT or default LoLSee notes133.0
local_player_damagematch_infoAmount of damage caused by your championsSee notes0.136

pseudo_match_id notes

This is an internal Overwolf-generated code, not related to Riot Games.

Data example:

a4e8fc75-b35e-466f-976c-09f4ee633d95

battle_state notes

Data example:

{"info":{"match_info":{"battle_state":"{"in_progress":true}"}},"feature":"match_info"}

match_state notes

Returns 'True' when match starts. Returns 'False' once local player dies or wins the match.

Data example:

{"info":{"match_info":{"match_state":"``{"in_progress":true}"}},"feature":"match_info"}{"info":{"match_info":{"match_state":"{"in_progress":false}"}},"feature":"match_info"}

round_type notes

Note: There is a known issue currently with carousel rounds that are not being counted (meaning they are skipped, 2-4 to 2-6 etc.), we will fix it in the near future.

Data examples:

{"info":{"match_info":{"round_type":"{"stage":"1-1","name":"Carousel","type":null}"}},"feature":"match_info"}

{"info":{"match_info":{"round_type":"{"stage":"1-2","name":"PVE","type":"Minions_1"}"}},"feature":"match_info"}

{"info":{"match_info":{"round_type":"{"stage":"2-1","name":"PVP","type":null}"}},"feature":"match_info"}

round_outcome notes

Data example:

{"info":{"match_info":{"round_outcome":"{"Duzalth":{"outcome":"victory"},"Sacrada":{"outcome":"defeat"},"Broxaskh":{"outcome":"defeat"},"PoSeiDonProX1":{"outcome":"victory"},"Lil Jafi":{"outcome":"victory"}}"}},"feature":"match_info"}

opponent notes

Data example:

{"info":{"match_info":{"opponent":"{"name":"Eksuspuroshion"}"}},"feature":"match_info"}

game_mode notes

By default - 'game_mode' will always return "lol" value unless TFT is played.

Data example:

{"info":{"match_info":{"game_mode":"tft"}},"feature":"match_info"}
{"info":{"match_info":{"game_mode":"lol"}},"feature":"match_info"}

local_player_damage notes

This also includes the star level of each champion (1, 2 and 3 stars), indicated as "level 1, 2 or 3".

Data Example:

{"info":{"match_info":{"local_player_damage":"{"unit_0":{"name":"TFT4_Warwick","damage":658,"level":1},"unit_1":{"name":"TFT4_Fiora","damage":593,"level":2},"unit_2":{"name":"TFT4_Shen","damage":545,"level":1},"unit_3":{"name":"TFT4_Jax","damage":2115,"level":3},"unit_4":{"name":"TFT4_Kalista","damage":2015,"level":2},"unit_5":{"name":"TFT4_Yasuo","damage":1558,"level":2},"unit_6":{"name":"TFT4_Irelia","damage":138,"level":2},"unit_7":{"name":"TFT4_Janna","damage":113,"level":2},"unit_8":{"name":"TFT4_Yone","damage":1074,"level":1}}"}},"feature":"match_info"}

Events

EventEvent DataFired WhenNotesSince GEP Ver.
round_start"PVE"/"PVP"/"carousel"One round ends and another beginsSee notes133.0
round_endnullAt the round's endSee notes133.0
battle_start"PVP"/"PVE"Start of the battle vs an opponent or AISee notes133.0
battle_endnullEnd of the battle vs an opponent or AISee notes133.0
match_startnullBeginning of a TFT matchSee notes133.0
match_endnullEnding of a TFT matchSee notes133.0

round_start notes

Data example:

{"events":[{"name":"round_start","data":""}]}

round_end notes

Data example:

{"events":[{"name":"round_end","data":""}]}

battle_start notes

Data example:

{"events":[{"name":"battle_start","data":"PVE"}]}

battle_end notes

Data example:

{"events":[{"name":"battle_end","data":""}]}

match_start notes

Data example:

{"events":[{"name":"match_start","data":""}]}

match_end notes

Data example:

{"events":[{"name":"match_end","data":""}]}

roster

Info Updates

keyCategoryValuesNotesSince GEP Ver.
player_statusrosterFull list of players currently in the matchSee notes133.0

roster/player_status notes

The full roster of players will first appear during the loading screen.

Each player object includes the following data:

  • index
  • health
  • xp
  • localplayer
  • rank

Aside from summoner name which is received during the loading screen, the rest of the data mentioned above will be delivered once the actual game has begun.

Important note regarding "index" data

The final & accurate rank position of each player in the match will be given only at the end of the match when the local player had died or won.

Data example:

{
"info": {
"roster": {
"player_status": "{
"Zedester": {
"index": 1,
"health": 76,
"xp": 5,
"localplayer": true,
"rank": 0
},
"littlemelony": {
"index": 2,
"health": 94,
"xp": 4,
"localplayer": false,
"rank": 0
},
"XKrosX": {
"index": 3,
"health": 88,
"xp": 6,
"localplayer": false,
"rank": 0
},
"UP GuyFromMiddle": {
"index": 4,
"health": 62,
"xp": 6,
"localplayer": false,
"rank": 0
},
"Storas Tevas": {
"index": 5,
"health": 90,
"xp": 4,
"localplayer": false,
"rank": 0
},
"MAYAH MELISSA": {
"index": 6,
"health": 100,
"xp": 4,
"localplayer": false,
"rank": 0
},
"TabsWay": {
"index": 7,
"health": 92,
"xp": 5,
"localplayer": false,
"rank": 0
},
}"
}
},
"feature": "roster"
}

store

Info Updates

keyCategoryValuesNotesSince GEP Ver.
shop_piecesstoreAvailable champions for purchaseSee notes134.0

shop_pieces note

Once you purchase a champion, there will be a new update which indicates "Sold" for a purchased slot.

Data Example:

{
"info":{
"store":{
"shop_pieces":"{
"slot_1":{
"name":"TFT_Blitzcrank"
},
"slot_2":{
"name":"TFT_Garen"
},
"slot_3":{
"name":"TFT_Nidalee"
},
"slot_4":{
"name":"TFT_Mordekaiser"
},
"slot_5":{
"name":"TFT_Ahri"
}
}"
}
},
"feature":"store"
}

board

Info Updates

keyCategoryValuesNotesSince GEP Ver.
board_piecesboardExact position of each chess piece on the grid, including their current level and the items they possessSee notes134.0

board_pieces note

Data Example:

{
"info":{
"board":{
"board_pieces":"{
"cell_9":{
"name":"TFT_Tristana",
"level":"1",
"item_1":"TFT_Item_GuinsoosRageblade",
"item_2":"",
"item_3":""
},
"cell_16":{
"name":"TFT_KhaZix",
"level":"1",
"item_1":"",
"item_2":"",
"item_3":""
}
}"
}
},
"feature":"board"
}

bench

Info Updates

keyCategoryValuesNotesSince GEP Ver.
bench_piecesbenchExact position of each chess-piece on the bench including their current level and items they possess (inventory)See notes134.0

bench_pieces note

Data Example:

{
"info":{
"bench":{
"bench_pieces":"{" slot_1":{
"name":"TFT_Garen",
"level":"1",
"item_1":"",
"item_2":"",
"item_3":""
},
"slot_2":{
"name":"TFT_Darius",
"level":"2",
"item_1":"",
"item_2":"",
"item_3":""
},
"slot_3":{
"name":"TFT_Leona",
"level":"1",
"item_1":"",
"item_2":"",
"item_3":""
},
"slot_4":{
"name":"TFT_Sejuani",
"level":"1",
"item_1":"",
"item_2":"",
"item_3":""
},
"slot_5":{
"name":"TFT_Leona",
"level":"1",
"item_1":"",
"item_2":"",
"item_3":""
},
"slot_6":{
"name":"TFT_Kayle",
"level":"1",
"item_1":"TFT_Item_RapidFirecannon",
"item_2":"",
"item_3":""
},
"slot_9":{
"name":"TFT_MissFortune",
"level":"1",
"item_1":"",
"item_2":"",
"item_3":""
}
} "
}
},
" feature":"bench"
}

Info Updates

keyCategoryValuesNotesSince GEP Ver.
carousel_piecescarouselNames of available champions in the carouselSee notes134.0

Data Example:

{
"info":{
"carousel":{
"carousel_pieces":"{
"slot_1":{
"name":"TFT_Morgana",
"item_1":"0"
},
"slot_2":{
"name":"TFT_Lissandra",
"item_1":"0"
},
"slot_3":{
"name":"TFT_Rengar",
"item_1":"0"
},
"slot_4":{
"name":"TFT_Veigar",
"item_1":"0"
},
"slot_5":{
"name":"TFT_Gangplank",
"item_1":"0"
},
"slot_6":{
"name":"TFT_Zed",
"item_1":"0"
},
"slot_7":{
"name":"TFT_Brand",
"item_1":"0"
},
"slot_8":{
"name":"TFT_Graves",
"item_1":"0"
},
"slot_9":{
"name":"TFT_Gnar",
"item_1":"0"
},
"slot_10":{
"name":"TFT_Chogath",
"item_1":"0"
}
} "}},"feature":"carousel"
}
Currently "level" and "item" are NOT available/accurate