ATARC is an apex trigger framework designed to optimize apex trigger handlers/helpers execution within apex triggers to maximize resources availability and minimize utilization.

Try now and experience a smoother apex trigger handlers/helpers support, managing as atarc processes to unlock ATARC features.

Organize

Forcing apex trigger handlers/helpers to use standard structure ensure a better and cleaner code readibility. Simple abstraction yet powerful and flexible keeping your focus on the business logic.

Control

Runtime control over the Atarc Processes, easy to understand what is going on in production just by looking at the ATARC Process Settings.

Better with Async

Upgrade Atarc Process to Async when applicable and improve your dml transactions performance, more room for more business automation available to use.

ATARC Features

Better estructure and organized code

By isolating specific business logic within apex handler/helper classes it helps in many aspects, easy to maintain, easy to identify what the apex handler/helper does, easy to identify where is the respective code for specific process.

Dynamic Process Injection by Configuration

Apex triggers should never be married or bound to apex handler/helper classes. By having the ability to dynamically inject what apex handler/helper class should run in runtime the apex trigger has no dependency to any apex handler/helper at all, this is one of the most powerful feature of this framework.

Execute Process Based on Running User

Executing code if user has specific profile, role, wether is in a particular group, permission set, queue or even when the user has specific field value. You can do it here.

Real time turn on/off of process

By making possible to activate or deactivate specific atarc process in real time it makes the business happy.

Order of execution

The control of knowing what code executes first, visually, it is a big deal when it comes to having a big organization with a lot of process implemented.

Catch code exceptions

Each atarc process execution is actually controlled so that if it throws an exception it's trapped and we could do whatever we want with it.

Processes in Async mode

This is very powerful also, besides allowing switch between async or synchronous in runtime, allowing for more room since another transaction will be generated out of the queueable context.

Process execution dependency

Besides process order, we can specify that if atarc process A didn't executed successfully atarc process B cannot be executed

Passing data between processes

Not only you could pass outputs between processes (atarc process A returns an output and atarc process B use it) for synchronous Atarc Processes but also you can do it for async Atarc Processes if applicable.

Control over process recursion (running more than once per transaction)

If by any reason a transaction has to run apex triggers two times or more, you can control if your Atarc Process should also be executed this many times

Bypass API

An api is available to bypass by category, object, event, or even the atarc process name. A global bypass flag is available also to prevent all the processes from being executed.

Debug different

If you use the api to write debug logs provided by the engine's trigger context, you may be able to easily turn on or off the debug on the fly.