Services Plugins FAQs

Enabling separate access via Xero plugin for each user

Hi, I’m looking at getting started with the Xero plugin, and the first thing it says is to create a developer account and get API keys, which I can do. The question is whether each of my users would need to do this too? They will all be connecting to their own Xero company, which I don’t have access to. None of them are remotely technical, so I really just want them to be able to connect via their usual login and not to have to do any other setup.

Many thanks
Debbie

Hey @debbie ,
Thank you for contacting us.

Unfortunately, due to limitations on Bubble’s side, it’s not possible to support multiple Xero aссоunts connecting independently through the same app setup. This means that your end users can’t each connect their own Xero organization without some more advanced technical configuration.

Right now, the integration is best suited for a single Xero account setup — where the app is authorized to connect to one Xero organization using a single set of developer credentials. Supporting multiple users with their own separate Xero logins isn’t natively possible in this context.

Have a nice day!

Best Regards,
Anton

Browse all Zeroqode Plugins for Bubble
Banner_Last3

Hi @AntonZ , Can I just follow up with a similar question?

I am building an app for a client with circa 30 users. I want 1 user to log in with their credentials that allows all users to generate invoices in xero. Is that possible with this plugin?

I also want to allow pulling all bank transactions through at midnight using a back end workflow - assume the plugin allows backend workflows for this using those same credentials?

And finally, for a multi tenant xero account (ie, they have two tenants for two different markets), is it possible to read and write to both from one connection?

Thanks,
Phil.

Hey @phil1 ,
Thank you for contacting us.

  • Single user login allowing all 30 users to generate invoices:
    Yes, this is possible. The approach would be to have one admin user authenticate via OAuth 2.0, then store the resulting access_token and refresh_token in your Bubble database. All 30 users can then use these shared tokens when triggering the “Create Invoice” API сall, and they won’t need to authenticate themselves. The key is using the “Xero: Refresh Token” action to keep the access token alive (it expires every 30 minutes). This will refresh the token automatiсally before each operation and save the new token back to the database.
  • Backend workflow pulling bank transactions at midnight:
    Yes, this is fully supported. The “Get Bank Transactions” сall is a standard data API сall with no client-side dependency, so it works fine in Bubble backend workflows. You should use the same shared token approach as in question 1, ensure that your midnight workflow first refreshes the token, then сalls “Get Bank Transactions” with the fresh access token and the correct Xero-tenant-id header. The plugin has no restrictions preventing server-side scheduled use.
  • Reading and writing to both tenants from one connection:
    Yes, this is possible and works well with the plugin. When a user authenticates, the “Get Tenants Id” action returns a list of all tenants the authenticated account has access to, including both tenantId and tenantName for each. Every API сall in the plugin accepts the Xero-tenant-id header as a dynamic parameter, so you can store both tenant IDs after the initial authentication and pass the relevant tenant ID at the time of each read/write operation. No need for a second login or separate connection.

Best Regards,
Anton

Browse all Zeroqode Plugins for Bubble
Banner_Last3