Skip to content

Import, Export & Automation in the OTOBO-CMDB

The OTOBO-CMDB offers powerful interfaces and automation functions to keep your asset data up to date and simplify recurring tasks.


1. Data Integration via REST and SOAP APIs

Section titled “1. Data Integration via REST and SOAP APIs”
  • REST-API

    • CRUD operations on CI classes and DynamicFields
    • JSON payloads: Simple and lightweight integration
    • Authentication: Token-based or Basic Auth
  • SOAP-API

    • Legacy systems and deep functionality
    • XML payloads with WSDL descriptions
    • State-ful sessions and extensive methods for CI links
  1. Batch processing: Import data in batches to avoid timeouts.
  2. Error handling: Check return codes and log entries (“SysLog”).
  3. Rate limiting: Pay attention to API limits to prevent blocking.

  • CSV Import/Export

    • Field mapping: Column names → DynamicField names
    • Delimiter, character set, and header configurable
    • Bulk update for existing CIs via key attribute (e.g., name or ID)
  • XML Import/Export

    • Complex structures and nested fields
    • Mapping via XSLT stylesheets possible
    • Usage with SOAP clients and third-party tools
  1. Generate template: First, export an example CSV/XML.
  2. Enrich data: Adjust values and validate locally.
  3. Start import: Via Agent interface or CLI script.
  4. Check result: Check logs for error lines and warnings.

  • Network scanning: Detection of IP networks, devices, and services
  • Agent-based discovery: Local agents report system details to the CMDB
  • Integration of external tools: Ansible, Puppet, SCCM, Nagios, and many more.
  • Scheduled scans: Schedule regular inventory runs.
  • Overwrite vs. enrichment: Configure rules for update behavior.
  • Conflict resolution: Manual review or automatic prioritization of old vs. new data.

  • Trigger
    • Trigger actions upon field changes (e.g., notification, auto-assign)
    • Configuration directly in YAML under VersionTrigger or via script
VersionTrigger:
- DefinitionUpdate
- ValueUpdate
  • Use cases

    • Automatically update inventory log after a serial number change
    • Send email reminder upon certificate expiration

  • VersionTrigger: Controls which events trigger the creation of a new CI version

  • Common values

    • NameUpdate
    • ConfigItemCreate
    • ValueUpdate
    • DefinitionUpdate
VersionStringModule: Incremental
VersionTrigger:
- ConfigItemCreate
- ValueUpdate

Version history of all changes for traceability and audit compliance.


  • Calculated fields: Sum, average, dynamic text modules
  • Syntax: TemplateToolkit ([% … %])
DynamicFields:
TotalRAMGB:
FieldType: ScriptTemplateToolkit
Label: Total RAM (GB)
Config:
Expression: |
[% Count = DynamicField_RAMCount %]
[% Size = DynamicField_RAMSize %]
[% Total = Count * Size %]
[% Total %] GB
RequiredArgs:
- DynamicField_RAMCount
- DynamicField_RAMSize
Readonly: '1'
  • Cumulative values (e.g., total storage)
  • Status calculations (e.g., “critical” at certain thresholds)
  • Text generation (e.g., asset descriptions with placeholders)

  1. Automated Imports: Combine REST jobs with CSV imports in cron jobs.
  2. Discovery + Trigger: Detect new devices and start CI creation automatically.
  3. Reporting: Use script fields and version history for automated reports via API.

With these mechanisms, processes can be seamlessly integrated into the OTOBO-CMDB, data quality can be ensured, and manual routine tasks can be minimized.

Frequently asked questions

How can you import and export CMDB data in OTOBO, and what are the primary methods available?

OTOBO-CMDB provides robust mechanisms for both importing and exporting Configuration Item (CI) data, catering to various integration needs. For programmatic and real-time data exchange, you can leverage the REST-API for CRUD operations on CI classes and DynamicFields, using lightweight JSON payloads and token-based or Basic Auth authentication. Alternatively, the SOAP-API supports legacy systems and deeper functionalities with XML payloads and WSDL descriptions. These APIs are ideal for continuous data flow and dynamic updates. For bulk updates or migrations, file-based import/export is available via CSV and XML. CSV allows for straightforward field mapping, configurable delimiters, and bulk updates using key attributes. XML supports complex structures and nested fields, often used with XSLT stylesheets. When performing imports, it's crucial to follow best practices like batch processing, thorough error handling by checking SysLog entries, and respecting API rate limits. The recommended workflow involves generating a template, enriching your data, initiating the import via the Agent interface or CLI, and finally verifying the results in the logs.Quellen / Sources:- Import, Export & Automation in the OTOBO-CMDB- OTOBO REST API Guide – Configuration, Endpoints & Examples- Import/Export — OTOBO Admin Guide 11.0 documentation

What automation capabilities does the OTOBO CMDB offer to keep Configuration Item data current and streamline tasks?

The OTOBO CMDB offers a comprehensive suite of automation capabilities designed to maintain data accuracy and reduce manual effort. Auto-discovery and synchronization features allow for detecting IP networks, devices, and services through network scanning or agent-based reporting. It also integrates with external tools like Ansible, Puppet, SCCM, and Nagios, enabling scheduled scans, configurable rules for overwriting versus enriching data, and conflict resolution. Furthermore, Triggers can be configured directly in CI definitions to initiate actions upon specific field changes, such as sending notifications or auto-assigning tasks after a serial number is modified or a certificate expiration date is reached. VersionTriggers control when a new version of a Configuration Item is created, ensuring a complete version history for traceability and audit compliance, with common triggers including NameUpdate or ValueUpdate. Lastly, Script Fields (using ScriptTemplateToolkit) enable the creation of calculated fields for cumulative values, status calculations, or dynamic text generation, further enhancing automation by deriving data automatically.Quellen / Sources:- Import, Export & Automation in the OTOBO-CMDB- Processes & Automation — OTOBO Admin Guide 11.1 documentation

When should I choose REST/SOAP APIs versus file-based CSV/XML for CMDB data integration?

The choice between REST/SOAP APIs and file-based CSV/XML import/export depends largely on the nature and frequency of your data integration needs. REST and SOAP APIs are ideal for ongoing, real-time, or near real-time system-to-system synchronization, where programmatic access is required. REST, with its lightweight JSON payloads, is excellent for modern integrations and CRUD operations, while SOAP, with XML and WSDL, is often preferred for integrating with legacy systems or when complex, state-ful transactions are necessary. These APIs are best for continuous data flow and dynamic updates. In contrast, file-based CSV/XML methods are better suited for one-off data migrations, initial bulk data loads from spreadsheets, or periodic mass updates. CSV is simpler for flat data structures and bulk updates via key attributes, while XML can handle more complex, nested data structures. The file-based approach typically involves a manual or scheduled batch process rather than continuous integration.Quellen / Sources:- Import, Export & Automation in the OTOBO-CMDB- OTOBO Interface: Web Services & Integrations

How does OTOBO CMDB's auto-discovery feature help in maintaining an up-to-date Configuration Item database?

OTOBO CMDB's auto-discovery feature is crucial for automatically populating and maintaining an accurate and current Configuration Item (CI) database, significantly reducing manual data entry and potential errors. It employs several methods, including network scanning to detect IP networks, devices, and services within your infrastructure. Additionally, agent-based discovery allows local agents to report detailed system information directly to the CMDB. The system also supports integration with external tools such as Ansible, Puppet, SCCM, and Nagios, enabling a broader range of data sources. Key features include the ability to schedule regular inventory runs for scheduled scans, configure rules for how new data interacts with existing CIs (e.g., overwrite vs. enrichment), and implement conflict resolution mechanisms, which can involve manual review or automatic prioritization of older versus newer data. This ensures that your CMDB reflects the current state of your IT assets with minimal administrative overhead.Quellen / Sources:- Import, Export & Automation in the OTOBO-CMDB

What are Triggers and VersionTriggers in the OTOBO CMDB, and how do they enhance automation and data traceability?

In the OTOBO CMDB, Triggers and VersionTriggers serve distinct but complementary roles in automation and data management. A Trigger is designed to initiate specific actions when a field within a Configuration Item (CI) changes. For instance, a trigger could automatically send a notification, assign a task, or update an inventory log after a serial number is modified or a certificate expiration date is reached. These are configured directly in YAML under VersionTrigger or via script. On the other hand, a VersionTrigger specifically controls which events will lead to the creation of a new version of a CI. Common values for VersionTriggers include NameUpdate, ConfigItemCreate, ValueUpdate, or DefinitionUpdate. The primary advantage of VersionTriggers is that they ensure a comprehensive version history of all changes made to a CI. This history is invaluable for traceability, allowing you to review past states of an asset, and is essential for audit compliance, providing a clear record of every modification.Quellen / Sources:- Import, Export & Automation in the OTOBO-CMDB

Can I create custom calculated fields in the OTOBO CMDB, and what are Script Fields used for?

Yes, the OTOBO CMDB allows you to create custom calculated fields using Script Fields, which leverage the ScriptTemplateToolkit. These fields enable dynamic data generation and calculations directly within your Configuration Items (CIs) without requiring external scripts or manual updates. The syntax used is TemplateToolkit ([% … %]), allowing for flexible expressions to define how the field's value is derived. For example, you can use a Script Field to calculate cumulative values, such as the TotalRAMGB by multiplying RAMCount and RAMSize from other DynamicFields. They are also useful for status calculations, where a field might display "critical" if certain thresholds are met, or for text generation, creating dynamic asset descriptions using placeholders. Script Fields enhance data quality and consistency by ensuring that derived information is always up-to-date based on its source fields, automating complex data representations within the CMDB.Quellen / Sources:- Import, Export & Automation in the OTOBO-CMDB