I'm having a killer time learning how to build plugins

I’ve gone through several tutorials but I’m still struggling to understand how to make a plugin useful.

I can run all kinds of Javascript in a plugin, but I can’t figure out how to do anything with the output.

The simple example I came up with: a plugin that tells you if a number is even.

The idea is you run a workflow and input the number into the plugin action. Then you find out if the number is even or not.

I just can’t figure out how to actually get the result. It seems that I’d either have to put a useless element on the page or make a useless call to the server in order to do this simple operation. Am I missing something here?

Any suggestions for good plugin tutorials or documentation that go into depth on all the options instead of just giving 1 or 2 quick examples?

Client side action cant return value without an element and serverside action are executed on the server. So yes. You only have those two options.

2 Likes

Where can I find documentation on this stuff? For example: how do I pass something from an action to a element? I haven’t seen any kind of documentation that covers things like that. I have about a million questions and haven’t found sufficient documentation to help me out.

If you find it let me know. I learned it using the instructions inside the editor.

1 Like

Can you share what you have done for now?

1 Like

I’d be happy to jump on a call and show you around the plugin editor sometime! There’s lots of fun tricks and intricacies to know when learning bubbleese

1 Like

I believe that if you want to use it in flow, the correct way is to use a server action and define a return value after processing the code.

You can return values ​​from the server just by setting:

return {
property: value
}

2 Likes

It depends what kind of element you are creating.

If it is a “Visual element”, you may return the value using “publishState”. If you want to be sure that the app handles that change, you can also do “triggerEvent” so it can respond to the change immediately.

If you are using a “Server Side” action, you may return it directly on the structure that you define as “returned values” like { “key”: “value” }.