Integration packs
Understand integration packs — pre-built node bundles that simplify connecting to external services.
What is an integration pack?
An integration pack is a portable bundle that provides ready-to-use nodes for a specific external service. Each pack handles authentication, request formatting, and response parsing so you do not have to wire those details manually. You drag a pack node onto the canvas, connect its pins, and the execution engine takes care of the rest.
For example, the VirusTotal pack provides a Get IP Report node. Instead of wiring five nodes together (Get Secret, Set Property, Format URL, HTTP Request, Get Property), you place one node, wire an IP address to its input pin, and read the report from its output pin.
Why packs exist
DRAGOPS supports integrating with any HTTP API using the HTTP Request node and manual wiring. This approach gives you full control over every header, parameter, and response field. However, it requires repetitive setup for common operations — the same authentication pattern, the same JSON extraction, the same error checking.
Integration packs eliminate that repetition. A pack author defines the HTTP details once in a declarative format, and every user of the pack gets pre-built nodes that handle those details automatically. Under the hood, pack nodes generate the same HTTP calls that manual wiring produces. The difference is convenience, not capability.
What a pack contains
Each pack is a single .dragops-pack.json file with four sections:
- Metadata — name, version, category, and tags that identify the pack in the node library
- Connection configuration — what credentials the service requires and how authentication works (API key, bearer token, basic auth, or OAuth2 client credentials)
- Nodes — one or more action nodes with typed input and output pins, each mapped to a specific API operation
- Defaults (optional) — shared settings like default headers or request timeout that apply to all nodes in the pack
How pack nodes work
Every pack node has an execution specification that maps its pins to an HTTP request:
- Input pins map to request parameters — path segments, query strings, headers, or body fields
- Authentication is handled automatically based on the pack's connection configuration and the user's stored credentials
- Output pins map to response fields — the response body (or a nested property), the HTTP status code, or specific response headers
When a pattern executes, the execution engine reads the node's input pin values, constructs the HTTP request, injects the credentials from the user's connection, sends the request, and delivers the response through the output pins. You do not need to understand the execution specification — you wire inputs, configure a connection, and read outputs.
Packs vs manual integrations
Both approaches are available and both are valid. Choose based on your situation:
| Integration pack nodes | Manual (HTTP Request) | |
|---|---|---|
| Best for | Services with a pre-built pack | Custom APIs, non-standard auth, services without a pack |
| Setup | Drag the node, configure a connection | Wire HTTP Request + Set Property + Get Property nodes |
| Control | Pin-level (typed inputs and outputs) | Full (headers, body, URL, response handling) |
| Inspectability | Execution logs show the HTTP call details | Execution logs show each node individually |
| Customization | Use the pack as-is | Modify any detail of the request or response handling |
If a pack exists for the service you need, start with the pack. If you need to customize beyond what the pack provides, you can always fall back to manual wiring.
Available packs
DRAGOPS ships with the following integration packs:
- VirusTotal — 5 nodes for data enrichment and reputation scoring (IP, domain, file, URL scanning)
- Jira — 4 nodes for issue tracking (create, search, get, and comment on issues)
Related
- Connections — how credentials are stored and used
- Nodes and pins — how nodes work in the visual editor
- Use integration pack nodes — step-by-step guide for using pack nodes
- Author an integration pack — create a custom pack for any HTTP API
- Integration packs reference — browse available packs