# Callback plugin Types

**URL:** <https://forum.ansible.com/t/callback-plugin-types/23168>\
**Category:** Ansible Developer\
**Created:** [December 4, 2016, 12:21am UTC](https://forum.ansible.com/t/callback-plugin-types/23168 "2016-12-04T00:21:37Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mumshad\_Mannambeth](https://avatars.discourse-cdn.com/v4/letter/m/3da27b/32.png) [@Mumshad\_Mannambeth](https://forum.ansible.com/u/Mumshad_Mannambeth)\
**Post date:** [December 4, 2016, 12:21am UTC](https://forum.ansible.com/t/callback-plugin-types/23168/1 "2016-12-04T00:21:37Z")

</div>

What are the different types of Callback\_plugins - notification, stdout, aggregate ? Any more?

And what are the differences?

I am trying to develop a callback\_plugin using the json plugin as base. But I would like stdout call back to remain default - skippy. And use my callback plugin as an add on. I added my custom plugin in ansible.cfg whitelist. But it doesn’t call my plugin as it was of type stdout. So I changed it to notification and now it works, but it doesnt work like how it did with stdout. It doesnt retain the data properly between calls. Any advise?

How can I retain default stdout and enable my plugin while having my plugin type to be stdout?

Thanks  
Mumshad

---

<div class="post-metadata">

**Author:** ![sivel](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/sivel/32/1198_2.png) [@sivel](https://forum.ansible.com/u/sivel)\
**Post date:** [December 4, 2016, 12:46am UTC](https://forum.ansible.com/t/callback-plugin-types/23168/2 "2016-12-04T00:46:35Z")

</div>

There are no real functional differences between any types of callback plugins. It is more just a convention to describe what they do.

stdout = writes to stdout  
notification = sends some sort of notification based on an event  
aggregate = summarizes an execution

Really the only difference is that Ansible enforces that only a single `stdout` callback can be enabled at any 1 time. That is because the `stdout` plugin controls writing to stdout for output. So you cannot enable more than 1.

Honestly though, there is nothing stopping you from just giving it some other type.

---

<div class="post-metadata">

**Author:** ![Mumshad\_Mannambeth](https://avatars.discourse-cdn.com/v4/letter/m/3da27b/32.png) [@Mumshad\_Mannambeth](https://forum.ansible.com/u/Mumshad_Mannambeth)\
**Post date:** [December 4, 2016, 2:04am UTC](https://forum.ansible.com/t/callback-plugin-types/23168/3 "2016-12-04T02:04:20Z")

</div>

Thank you for the prompt response. I figured out my issue. The member ‘results’ under result was being cleared as there were new callback plugin calls, which was causing issues for me.

Thank you!!
