Installing integrations on multi-tenant apps


#1

If multiple users (in my application) install the integration, how can I identify which user generated which installation? Since I’m not using OAuth to log in via GitHub, I have absolutely no link between an integration_installation webhook, and the users in my system.

I may be missing something here. I just don’t see a way to know who in my system triggered the installation webhook / link the resulting installation with anything in my system.

edit: A bit of context: I have multiple “teams” in the app (akin to orgs on GitHub). At some point, I will require someone from a team to install the integration, but what I’m missing is a way to link that installation event with the team it originated from.

Having some sort of parameter I could pass when installing that gets added to the webhook would be ideal (like the options query param in step 2 of the “Identifying Users” instructions.)

Thanks.


#2

Another potential solution would be to be able to override the webhook_url on a per-installation basis, so I could pass a team-specific URL for each installation.


#3

bump :slight_smile:


#4

@foca can’t you use the sender property from the IntegrationInstallationEvent payload? https://developer.github.com/early-access/integrations/webhooks/#integrationinstallationevent


#5

Not really. Without having a way to know who the current user in my system is on GitHub, I can’t link the sender to a local user.


#6

Ok, apparently a solution to this is in the works, so feel free to close / update this when that ships Installation Flow

Thanks @jmilas