Skip to content
Get Started

Grant access keys from a Twitch drop

Use a Twitch drops campaign to grant players access keys.

Ask players to connect their Twitch account

Section titled “Ask players to connect their Twitch account”

Set up your flow to require players to connect Twitch in the sign-up step.

Sign Up Methods with Sign Up through Twitch enabled and Require Twitch to be connected turned on

Setup the keys FirstLook should grant.

  • Create a key type for the platform you’re distributing on.
  • Import your keys. See Adding Keys.

Two settings on the key type are worth deciding now:

  • Enable Key Limit caps how many keys one player can hold of this type. Set it to 1 if a player should only ever get one key from the campaign. See Key Type Configuration.
  • Inventory size. Upload enough keys to cover the campaign.

Twitch’s drops documentation is the authoritative guide for this part. At a high level, you’ll do the following in the Twitch Developer Console:

  1. Register an application under the organization that owns your game. Save the Client ID and Client Secret for the next section.
  2. Create a drops campaign under the same organization and attach it to your game. You can use your FirstLook sign-up page as the Drop Connection URL for the campaign.
  3. Add your rewards. Use your own reward IDs instead of Twitch-generated UUIDs. Readable IDs (for example, access_key_grant) make your reward mapping and drops table easier to audit.

From the side menu navigate to Integrations → Twitch and open the Configuration tab.

  1. Enter the Client ID and Client Secret from your Twitch application.
  2. For Organization and Game ID, paste the URL of your game’s analytics or boxart page from the Twitch Developer Console.
  3. Under Reward Mapping, pair your Twitch reward ID with the key type it should grant.
  4. Save your changes.

Before the campaign goes live, open the Monitor Drops tab and click Start Syncing button in the upper right corner.

Starting sync turns on two processes that work together:

  • An EventSub subscription. FirstLook subscribes to Twitch’s drop.entitlement.grant event, so Twitch notifies FirstLook as soon as a player claims a drop.
  • A background sync. Every 15 minutes, FirstLook fetches drops from Twitch to catch any it missed, and retries any Pending grants.

Monitor Drops tab with syncing running and claimed drops listed

To find these players, go to the Players page and filter by your key type. You can then invite all these players off the waitlist. Once they onboard, the granted access key will be available to them.

Players page filtered by the Twitch drop key type, with players selected and the bulk Invite action available

  • Claims from players who haven’t signed up are kept. If FirstLook can’t match a claim’s Twitch user ID to a player, it stores the claim without a player and sets the grant to Pending. Each sync retries the match. When that person signs up and connects the same Twitch account, they get their key.

  • Running out of keys is recoverable. If there are not enough keys available when a drop is processed, the grant stays Pending. Upload more inventory, and the next background sync will grant them.

  • FirstLook fulfills the drop on Twitch whether or not a key was granted. A claim can therefore show a Drop Status of Fulfilled alongside a Grant Status of Pending.

  • Player limit reached is final. This status means the player already holds the maximum number of keys allowed for that key type. These grants aren’t retried, so raising the limit later won’t result in a grant.

  • Restart syncing after rotating your Twitch credentials. Twitch may revoke the EventSub subscription when its credentials change, and FirstLook doesn’t resubscribe on its own. On the Monitor Drops tab, click Stop, then Start, to create a new subscription. Until you do, drops are still granted by the background sync every 15 minutes.