Great news for everyone excited for reusable trigger logic and Functions-
Pre-release available now - We’re excited to announce that Functions Pre-release is ready to pilot in development and test instances.
What are Functions? - Functions are reusable logic blocks, streamlining app development and reducing repetitive work.
Functions combine the power of automations and the simplicity of apps, powered by an easy to use visual editor, native looping, and complex conditionals.
The initial version of Functions runs locally, synchronously with the app and is workspace-scoped.
In the future we plan to enable calling functions from other functions, and also calling a function asynchronously from automations. This is the first step to shared, reviewable business logic.
Try Functions today - To request access or a personal demo, reach out to your Customer Success manager. If you don’t yet have a test instance, we can provision via a Developer Sandbox.
Release Timelines & Feedback - We expect that production ready and generally available versions will come later 2025/early 2026.
In the meantime, sharing feedback on the pre-release is invaluable to how we evolve the feature.
Image 1: Building a Function is easy - even if you want to use loops or nested conditionals.
Is it plan to expose function as tools in MCP Server? My goal is to create function automatically based on OpenAPI specifications? Same questions for connectors
thanks for sharing. I appreciate, that this huge topic is finally happening.
How to organize Functions? Is it the same like Automations or Connectors?
To be honest, I was hoping for a more App scoped solution, not an Workspace level.
Direct access on App Variables
Build functions like triggers but reuse them
manage them in app (as the tables panel on the left side)
I also see the idea, to make them reusable for other apps, as you solved it, but for most use cases I find this more complex as needed.
I see the need to organize functions for one app or topic only, but also, by other criteria.
It this organized only by name? Or by Folder? Or (finally) tags?
How to make sure, they will not get misused? How to keep track, when an app gets deleted (and the function is only meant for that app)?
I think every App I built so far could have many reusable functions. So I could already have ~80 or so functions, but all of them with a single app scope. I think the organization is key, to not get a even bigger mess as we have already on custom widgets and connector functions!
Also limit a function to specific apps should be possible!
We started with workspace-scoped Functions so that folks could reuse business logic across apps.
Totally hear the questions about organizing them, and understand there’s a UX gap there. For now my suggestion would be to organize in name prefixes. On our end, we’re taking in all the Functions feedback and prioritizing which improvements are top across customers for iteration. I’m forwarding this to the team, for review.
I hope we can write Custom Function which we can use in “expression” . I would like to write that function in JavaScript such as in writing Excel custom function using VBA.
If we have those, we can create long awaited arctan function our selves. Function arctan(x) in expression .
I also think many array based functions (map/filter/sort/aggregate…)can be written using those functions.
By the way, the term “function“ is already used in the expression, so I think using the same term for this logic-blocks will create confusions.
Functions in the first iteration are callable from Apps and don’t yet contain JS code blocks.
Eventually, we’d look into calling Functions from other Functions, and eventually Automations. We’ve also discussed the possibility of calling from Expressions - but you’re right that there are a few questions here about naming. Likely in the short term we’d advise assigning a function to a variable and then using that variable in the expression.
We’re also considering the possibility of JS code blocks in Functions - but this won’t yet be available in our first release. Definitely a compelling future vision.
It sounds like you’re looking for a few more “basic” Expressions like arctan - there may be a way we can separately fast track that. Let me comment on the original Community post.
Agreed that Functions could be very helpful to implement array operations reusably in your apps – at least until these more basic array methods are available natively in the platform.
Great news - Functions are available to use in Production, via Early Access. Discuss with your CSM if you’re interested to see if your deployment could be a good fit!