Agent and modules generated by the plugin Agents. Each agents: block becomes one XML document (in tentacle / local modes). Agent identity comes straight from the template: name , alias , parent_agent_name , description , version , os_name , os_version , timestamp , address , group , interval , agent_mode . In agent_plugin mode no agent header is emitted — only fragments — and with several agents: blocks each module name is prefixed - (separator configurable via transfer.module_prefix_separator ) so modules cannot collide under the one real agent. Modules. One module per resolved module block (a for_each block resolves to one module per element). Module type is whatever the template declares ( generic_data , generic_data_inc , generic_data_string , async_data , ...) — the executor forwards the module fields to the dataserver unchanged. The full set of supported module fields is listed in Template reference . A failed task (execution error, non-2xx HTTP status, filter with 0 matches) leaves its variable unset and logs a warning; a module that references an unset variable is skipped with a warning and the remaining modules are still delivered. --strict turns any of the above into an abort (exit code 2).