[New Feature] Connecting 2 Bubble apps

Well you would do this with a workflow (post)

Great Feature - beats using API connector for Bubble Apps and writing constraints :slight_smile:

When trying to access data in another app now all of the sudden i get this error:

d

and i can’t select data source any more in the editor.

You can even use one app as an authentication provider and have your users login in one app with the credentials of another app.

Could someone please explain how this is done?
I have setup the the app connector but cannot figure out how to use one login database for the 2 apps.

Think of it this way, one bubble app handles your users. If you open your api in this “user” app, your other apps will be allowed to use the “user” app.

1 Like

Hello there,

For my app I thought of creating a separated app dedicated to administration of the app and connect it via the Bubble App Connector.

At first I thought that it would allow me to rapidly update the administration app if I had to perform a specific database operation, without disturbing the users of my main app (as pushing an update will temporarily stop all suers from running workflows).
Indeed, some maintenance operations might require complex workflows to be run on the whole database. So the main idea was to be able to design these workflows on a separate application so that the main users wouldn’t be impacted if I needed to push a new type of workflow.

However, from what I get, using the Bubble App Connector “only” give you access to the already existing workflows defined in the API Workflows of the main app.

Does this mean that if I want to run a new workflow on a list of items of my database, I must define this workflow in the main app and cannot do this from a separate app? Is there another way to achieve my first goal?

Thanks

Hello,

Yes, you should define the workflows on the main app.

I’d like to move a part of my main app into a separate app but keep the connections with the main app. Looking into connecting them using the app connector but I wonder:

If app A is the main app and App B is the secondary app, will users sign up for A or B? Let’s say I have a landing page on B that prompts for signing up, do I let those users sign up in B and use their data in A or would I create a sign up API workflow in A and make use of this in B?

Even if both are possible, what is the smart thing to do here in terms of app/database speed?

Would you be able (does it even make sense) to add the connector to both apps and use both Apps’ data and workflows both ways?

Edit:
Would someone familiar with connecting two apps push me in the right direction with a short intro with my specific use case, perhaps through a screen sharing session?

The basic idea is this:
We have an internal app to manage projects. We have a dashboard that is accessible by external users to monitor the status of their project and provide additional data to help the project along. These are users with different roles that see different data in the same dashboard. We will also introduce a fully external sign up process where private individuals can sign up and manage a project.

I want to now cut out that dashboard from the main app and put it in its own app but connecting it with the main app so our employees can keep working on their projects while data is being pushed into the dashboard app. At the same time, data is being pulled from the dashboard app that has been manipulated by our external users.

I’d like to know how to best handle user signup, privacy settings, benefits of pulling data out of dashboard app vs pushing data from the dasboard app into the main app etc.

Help is much appreciated! (I’ll write up a how to once I have figured out, but in this case its a matter of resources that I’m looking for a shortcut :P)

I have connected my two apps and got the login working, now the annoying part starts: switching all ‘Project’ data sources to ‘App A’s Project’.

One thing I don’t understand is why I’m missing some contraint options for the User object. I have for example ‘Project’s Manager’ which is a User. (Actually I now see it is all objects, not just the User)

I have constraints that say: when this group’s Project’s Manager is empty > something.

Through the API I cannot reference the ‘is empty’, ‘is not empty’ parameters. Why?

edit:

I’m having a hard time getting data to actually display in the B app. Not sure what I’m doing wrong here. As far as I understand I do not have to setup anything using the API connector in App A because the connection is made and the calls are installed in App B’s app connector…

I have this:

Added the ‘Job’ call which is exposed in the API settings in App A

I use the get App A Job api provider to get the data in app B in a RG.

52

The RG shows 0 results :frowning:
55

EDIT2:

OK, I found out that the RG actually loads up to 35 items. After that it just seems to time out or something. I really hope the Bubble team can reassure me that this is because of the fact I’m testing this on the free plan. I see the server maxing out so that would make sense.

Still, it takes minutes to load a RG with 35 items…

Anyway, running into the next couple of issues:

I’m getting this error when loading two other RG’s on my dashboard:

A:

Bubble App Connector error: {“message”:“Unexpected server error, please try again later”,“code”:“1514670224631x73”}

B:

Bubble App Connector error: {“statusCode”:400,“body”:{“status”:“INVALID_DATA”,“message”:“Invalid data for endpoint timeline, key view_list_text: Expected a string, but got a object (original data: ["Admin"])”}}

These are the constraints:

A: (I removed one constaint as you can still see in B)

42

B:
37

‘view’ is a list of texts and should contain the User’s role. For some reason I canot just select role because it expects a list. No idea why. In my logic I would select the current user’s main app’s user, but this is not possible.

Could someone give me a nudge in the right direction?

I’ll keep on asking questions :stuck_out_tongue:
I want to know the best way to make changes to a user from the sub app to the main app. I run into an error most likely because the app is not on a paid plan yet but there are a bunch of ways to do this and I’m looking for the most logical.

I setup an API workflow in the main app ‘updateuser’. It has User - User First name - text etc as fields.

In the subapp I add the api call in the app connector plugin. On ‘save’ I run the API workflow:

Now when I enter parent group’s MainApp User for User I get the error saying it needs to be anything saveable. So I need to change it to current user. This is the most confusing part because I set the API workflow up in the main app using the User object. So when I’m in the sub app, referring to the MainApp’s User would be the logical thing, however the error says it needs to be User not a MainApp’s User.

But what does that actually mean? Current user is the user in the sub app, it is not the same as the MainApp 's User.

Would I then have to send the Unique ID of the Main App’s User back to the main app through the API workflow and not update ‘user’ but actually do a search for Users that match the unique ID and update that User.
Or am I overcomplicating things here?

I’m still in doubt if this project of separating my main app into a main and sub app is the best way forward so I haven’t gotten around to upgrading my plan. Regardless, I’d like to know the best practice.

Thanks

1 Like

Disregard… ive re-read this How to make sub apps use the main app credentials for Login & Signup? i’d missed a step so all is goodness

I have the bubble app connector seemingly working but when i attempt to login the current user i’m getting “the email is already in use: emailblahplah”

App A: is my master app where people register etc do there stuff
App B: i would describe this as the slave app which leverages the users in app A

App connector configured and i can see all the relevant data

from App A i’ve got my Client ID and Secret etc and duly entered these into App B

I’ve set USER to OAuth in App B

In my workflow i can see the option to login via my app A …when when i try it states “the email is already in use: emailblahplah” which would indicate im trying to sign up a new user vs login the current user.

Hi ! That’s sounds very awesome ! Can I connect more than 2 apps ?

Thank you very much !

Hey does someone has a tutorial on how to initialize the API calls between the 2 apps please?

Thank a lot

Take a look here:

After connect both Apps, you will be able to Install Calls (backend workflows) from App1 into App2

Hi, I’m really new to bubble and I practically need to do that, but I don’t understand how to get the client ID, Private KEY data. Please help

Accessing the Option Set in a thing via the App Connector results in an empty string.

When I looked at the value in the inspector, it threw the following error
Option with invalid id "key_name" for option set "undefined"

Is there any way to resolve this?

@grace.hong I’ve found a couple of issues with using the App Connector, which significantly restrict the functionality.

1) Option Sets: This appears to be an oversight - it’s impossible to access the Option Set of a connected app; given how integral Option Sets now are in Bubble, we need to add the ability to select Option Sets in the Data Calls on the App Connector

2) Limited ability to reference list of Things: It’s not possible to reference a list of ‘Things’ from App B using ‘Do A Search For’ in App A. For example I’m trying to pass an ‘App B Status’ from App A to App B via an API workflow. I want to find a specific ‘App B Status’ by using ‘Do A Search For App B Status’ in App A. Even though I’ve setup ‘App B Status’ as a ‘Data’ call in App A - it won’t let me reference this in ‘Do A Search For’ - I can only reference it as a single item within a group or workflow. Instead I have to setup it up as an external API, which defeats the point of the App Connector.

Can either of these issues be fixed?

Is this active? If so, how do I make it happen?

I’m facing the same issue. I’m sure my data was equal, I’ve made a lot of tests and API CONNECTOR can’t match some Option Sets. Without accents, spaces etc.