Functions pre-release available to try in Dev!

Great news for everyone excited for reusable trigger logic and Functions-

:wrapped_gift: Pre-release available now - We’re excited to announce that Functions Pre-release is ready to pilot in development and test instances.

:megaphone: 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.

:right_arrow: 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.

:date: 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.

Image 2: Running a Function from your App is also easy, and works just like invoking a connector function.

Limitations of Early Access/Dev Sandbox Release

  • Import/Export not yet supported - Importing/Exporting Apps won’t yet include functions
  • Can’t rename, update descriptions, or archive functions yet - these are also coming soon
  • Only Account Owners, Workspace Owners, and Admins have access to build functions today - in the future we’ll have full custom roles and permissions

Encounter other limitations, have a feature request or just want to drop a note for the team? Fill in the Functions Feedback Form or comment below! :down_arrow:

9 Likes

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

Will the usage of these functions be included as a part of station based licensing or will these count as actions like automations usage?

4 Likes

Hi @danielpomeranz , Functions v1 will run client side and be included in existing licensing.

Hi @OlgaStroilova

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!

Do you get my point?

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.

1 Like

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.

1 Like

Hello @ta-aoki , great question!

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!

1 Like