The Epic Games connector lets your AI agent act in each user's Epic Games account. Each user signs in to Epic Games once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 7 tools.
- Tools
- 7
- What they doRead · write · destructive
- 7 · 0 · 07 read0 write0 destructive
- Users sign in with
- OAuth
- OAuth app
- Your own Epic Games app
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Epic Games connection
In AgentKit > Connections, create an Epic Games connection and copy its redirect URI. The name you give it is the
connection_nameyour code passes. See Configure connections.Register an OAuth app
Epic Games connections use your own OAuth app. Register one with Epic Games and add the redirect URI you copied.
Then enter the app's Client ID and Client Secret on the Epic Games connection.
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'epicgames'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Epic Games:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'epicgames_userinfo_get',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "epicgames"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Epic Games:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="epicgames_userinfo_get",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolepicgames_blocklist_listList the accounts a player has blocked.Read-onlyList Block List
List the accounts a player has blocked. Returns entries with accountId and created. Use epicgames_friends_get when the friends list is also needed. Requires the basic_profile and friends_list scopes.
Inputs
account_idstringrequired- Epic Account ID of the player (32-character hex string). The access token must belong to this same account. Get it from epicgames_userinfo_get (the sub claim). Example: 9626f441055349ce8cb7d7d5a483eaa2.
epicgames_ecom_entitlements_listList the direct entitlements a player holds, optionally filtered by sandbox or entitlement name.Read-onlyList Entitlements
List the direct entitlements a player holds, optionally filtered by sandbox or entitlement name. Returns entitlement records with id, entitlementName, namespace, catalogItemId, entitlementType, grantDate, consumable, status, useCount and entitlementSource. Use epicgames_ecom_ownership_check to test ownership of a specific catalog item. Requires the Ecom feature to be enabled on the OAuth client's client policy.
Inputs
account_idstringrequired- Epic Account ID of the player (32-character hex string). The access token must belong to this same account. Get it from epicgames_userinfo_get (the sub claim). Example: 9626f441055349ce8cb7d7d5a483eaa2.
entitlement_namestring- Only return entitlements with this entitlement name. Leave empty to omit the filter. Example: 942e8a7133464f0ea83179030536505e.
include_redeemedboolean- Set to true to include entitlements that have already been redeemed. Leave empty to use the service default.
sandbox_idstring- Sandbox (namespace) of the game title to list entitlements for. Leave empty to omit the filter. Example: 8894469f1120432095eff043a4529433.
epicgames_ecom_offers_listList the offers defined for a sandbox as they apply to a player.Read-onlyList Offers
List the offers defined for a sandbox as they apply to a player. Returns an elements array of offers (id, title, description, priceInfo, items, offerType, purchaseLimit, purchasedCount) and a paging object with count, start and total. Use epicgames_ecom_entitlements_list to see what the player already holds. Requires the Ecom feature to be enabled on the OAuth client's client policy.
Inputs
account_idstringrequired- Epic Account ID of the player (32-character hex string). The access token must belong to this same account. Get it from epicgames_userinfo_get (the sub claim). Example: 9626f441055349ce8cb7d7d5a483eaa2.
sandbox_idstringrequired- Sandbox (namespace) whose offers to list. Example: 8894469f1120432095eff043a4529433.
epicgames_ecom_ownership_checkCheck whether a player owns an item in the Epic Games Store catalog, including items granted through bundles and editions.Read-onlyCheck Item Ownership
Check whether a player owns an item in the Epic Games Store catalog, including items granted through bundles and editions. Returns an array with namespace, itemId and an owned boolean for the item. Use epicgames_ecom_entitlements_list to see the individual entitlement records instead. Requires the Ecom feature to be enabled on the OAuth client's client policy.
Inputs
account_idstringrequired- Epic Account ID of the player (32-character hex string). The access token must belong to this same account. Get it from epicgames_userinfo_get (the sub claim). Example: 9626f441055349ce8cb7d7d5a483eaa2.
ns_catalog_item_idstringrequired- Catalog item to check, written as sandboxId:catalogItemId (namespace, a colon, then the catalog item ID). Example: fn:ff150af93c9a4fb99fee12f5db49fa5b.
epicgames_friends_getRetrieve a player's friends list and block list in one call.Read-onlyGet Friends and Block List
Retrieve a player's friends list and block list in one call. Returns a friends array (accountId, created, favorite, nickname) and a blockList array (accountId, created). Use epicgames_friends_list for friends only, or epicgames_blocklist_list for the block list only. Requires the basic_profile and friends_list scopes.
Inputs
account_idstringrequired- Epic Account ID of the player (32-character hex string). The access token must belong to this same account. Get it from epicgames_userinfo_get (the sub claim). Example: 9626f441055349ce8cb7d7d5a483eaa2.
epicgames_friends_listList the friends of a player.Read-onlyList Friends
List the friends of a player. Returns friend entries with accountId, created, favorite and nickname. Use epicgames_friends_get when the block list is also needed. Requires the basic_profile and friends_list scopes.
Inputs
account_idstringrequired- Epic Account ID of the player (32-character hex string). The access token must belong to this same account. Get it from epicgames_userinfo_get (the sub claim). Example: 9626f441055349ce8cb7d7d5a483eaa2.
epicgames_userinfo_getRetrieve the profile of the connected Epic Games account from the OpenID Connect userInfo endpoint.Read-onlyGet User Info
Retrieve the profile of the connected Epic Games account from the OpenID Connect userInfo endpoint. Returns the Epic Account ID (sub) and the profile claims released by the granted scopes. Use this first to find the account_id that the friends and Ecom tools require.
Inputs
This tool takes no inputs.
No tools match.