# Integration action traits

As opposed to [local action traits](https://framework.deep-web-solutions.com/foundations-module/actions/local-action-traits) and [extension action traits](https://framework.deep-web-solutions.com/foundations-module/actions/extension-action-traits), integration action traits apply **only** to *initializable* and *setupable* objects. They are normally used for piping other actions at the end of the current one, if the current action is completed successfully.

They are similar to the extension action traits but have a few notable differences:

* Their methods are always prefixed with `integrate_`.
* The methods are called *after* the extension traits.
* The methods ***can*** return a different exception type so, in case of failure, the result may be wrapped in an exception of the proper type.
* The integration traits inherit different corresponding traits.

Let's use as an example the default `InitializableTrait` that you can find [here](https://github.com/deep-web-solutions/wordpress-framework-foundations/blob/master/src/includes/Actions/Initializable/InitializableTrait.php). If you check the `initialize` method, all the points above should be obvious by looking at the second `elseif` statement.

A good example of an integration trait is the [`SetupOnInitializationTrait`](https://github.com/deep-web-solutions/wordpress-framework-foundations/blob/master/src/includes/Actions/Initializable/Integrations/SetupOnInitializationTrait.php) which automagically calls the `setup` method of an object that initialized successfully and is also setupable.

{% hint style="info" %}
The Foundations module comes with a few pre-built piping actions. Make sure to check them out on GitHub for the initializable objects [here ](https://github.com/deep-web-solutions/wordpress-framework-foundations/tree/master/src/includes/Actions/Initializable/Integrations)and for the setupable objects [here](https://github.com/deep-web-solutions/wordpress-framework-foundations/tree/master/src/includes/Actions/Setupable/Integrations).
{% endhint %}
