Actions Limitations

The following limitations exist when using Actions:

Actions

  • Each Action should not exceed 100 kB. The larger the size, the more latency is introduced, which may have an impact on the performance of your system. This size limit does not include any npm modules that may be referenced as part of any require statements.

Account Linking (setPrimaryUser)

  • primary_user_id is limited to 128 characters

  • setPrimaryUser can be called once per transaction

  • Any userMetadata set in the same Action as setPrimaryUser is discarded and will be lost. Subsequent Actions within the same transaction will retain userMetadata on the new primary user.

  • setPrimaryUser can not be used in the same transaction where a Rule sets context.primaryUser.

Cached data

  • Cached items persist for a maximum of 24 hours.

  • A maximum of 20 entries can be cached per Trigger.

  • Cache keys have a maximum size of 64 bytes and values have a maximum size of 4kB.

  • The cumulative size of cached keys and their values must not exceed 8kB.

  • The cache should be available for all Actions in the same trigger for a single execution reliably, however for subsequent executions (such as a different flow, another user login, or a user returning from a redirect action) it is not guaranteed.

  • Actions that perform an Execution that yields back (such as a redirect) may result in subsequent actions being scheduled on a separate instance with a different cache state. Cached data could be inconsistent from one Action to the next even if it is the same execution.

Dependencies

  • Each Action may have a maximum of 10 npm modules.

Entity limits

  • Each tenant may have a maximum of 100 Actions (including both deployed and undeployed). When an Action is deleted, it no longer counts toward the limit.

  • Each Action may have a maximum of 50 associated versions (both draft and active). Once the limit is reached, every additional version that is added will result in the oldest version being deleted.

  • Each trigger may have a maximum of 20 active bound Actions.

Executions

  • Each execution of a trigger must complete in 20 seconds or less or the processing will end in an error. Limiting HTTP requests is the best way to keep within this time limit.

  • Each execution of a trigger must complete in 20 seconds or less or the processing will end in an error. Limiting long-running processes, like outbound HTTP requests without a timeout, is necessary to keep within this time limit. An Action that redirects users to an external page has a separate timeout before the redirect and after.

  • A new event.request object is issued anytime an Action trigger is suspended and then subsequently resumed (for example, due to a redirect or MFA challenge).

Logs

  • A maximum of 256 characters may be persistently stored for console.log() outputs for each Action.

  • Execution logs are retained for 10 days.

Programming languages

  • We do not support Typescript in actions. Source files must be written in JavaScript before being deployed.

Secrets

  • Each Action may have a maximum of 30 secrets.

  • Each secret key may have a maximum length of 128 characters.

  • Each secret value may have a maximum length of 4096 characters.

SAML attributes

  • A maximum of 100 SAML attributes can be changed or added by Actions.

  • SAML attribute names have a maximum size of 1kB.

  • SAML values have a maximum size of 2kB.

  • The total SAML assertions have a maximum size of 10kB.

SAML configuration

  • audience has a maximum size of 2kB

  • recipient has a maximum size of 2kB

  • destination has a maximum size of 2kB

  • nameIdentifierFormat has a maximum size of 0.5kB

  • nameIdentifierProbes has a maximum of 10 probes with a maximum size of 0.5kB each

  • authnContextClassRef has a maximum size of 0.5kB

  • signingCert has a maximum size of 4kB

  • encryptionCert has a maximum size of 4kB

  • encryptionPublicKey has a maximum size of 4kB

  • cert has a maximum size of 4kB

  • key has a maximum size of 4kB

Service requests

  • Calls made to the Auth0 Management API and User Metadata updates are rate limited.

  • HTTP calls to external services originate from these IP addresses.

Transaction metadata

  • Is available only on post-login Actions.

  • Is not persisted beyond the completion of an authentication trigger.

  • Cannot be accessed outside of the Actions within the same transaction. (*)

  • Keys are limited to 64 characters.

  • Values are limited to 8 KB.

  • Values only support string, number, and boolean types.

  • Has a maximum total metadata size of 16 KB within the same transaction.

  • Will not accept numbers that fail a safety check as valid values. Unsafe integer values should be safely serialized by the Developer. To learn more, read about safe integers.

Upstream tokens from external IdPs

  • Retrieving External IdP tokens from the Identities array

User metadata and app metadata

  • Each session may have a maximum of 32kB each of user metadata persistence and 32kB of app metadata persistence.

Learn more