v4 fails to add metadata when using v1 action
Hey there folks, I just updated my self hosted playground to v4, using helm but setting the image version to v4 and it seems that v1 actions are broken.
The following code:
Running on pre userinfo creation will fail with the following:
(char limit, check thread)

11 Replies
and I made it to fail auth when the function fails because I want to ensure a customer_id is always present
*PS don't mind the v7 on UUID, it is there because I sent a PR with it and was testing the code
hey @jaysonsantos its a known limitation tthat actions are gonna move completely to v2
https://zitadel.com/docs/concepts/features/actions_v2
if you want to test the action you wrote above(all correct btw), run any
v3.x.x
image or just run a cloud instance (running v3.3.2
atm) and it should workhey @Rajat got it. the UI says it is still supported, that is why I kept with the same.
is there a 1 to 1 event on v2 that can be used with that purpose?
yes because it IS supported, its only that some of the actions fails because they're migrating to v2(which is when we sill stop working with v1 actions) for 1:1 event, you can check this out
https://zitadel.com/docs/guides/integrate/actions/testing-request#create-target
bacisally, you need to create a "target" and an "execution" and what happens is whenever that event is "exectuted", it will call the "target"
does this mean that the javascript within zitadel will die?
I also wanna know cause it's quite nice to have stuff like logging inside Zitadel without needing to call a 3rd party endpoint just to get more information about requests for example. I guess some functionality will stay
true, in terms of functionally, IMHO it is a loss there.
my usecase was to assign an uuid v7 on first login but, i guess i'll need to call the api by hand
hey @jaysonsantos The main shift is that Actions v1 ran js directly within zitadel's environment, with v2 tho, your custom code is now hosted externally, zitadel makes an HTTP POST to your endpoint (Target), sending a JSON payload.
But this also means that you can use any language or framework, deploy to your own infra, and take full control over logs/libs/envs, this makes Actions V2 far more adaptable to complex use cases .
the downside is that you need to set up a framework that receives and responds to zitadel's payloads and that can take some time to get started with, also considering that signing needs to be implemented etc., it's harder to accomplish security-wise. I'm gonna do it in our organization, maybe I'll deploy a sidecar to Zitadel for it
It might be more adaptable for complex use cases, but it makes everything much harder for simple use cases. Not everything needs a rocket ship when a bicycle will do.
you are right but in bigger aspects, it gives you full control over languages/libs, you can setup multipule functions/requests/events/responses
you can still do a lot of v1 actions in v2 https://zitadel.com/docs/guides/integrate/actions/migrate-from-v1 , give it a try here you can spin up your own server on localhost with ngrok 🙂