Search all guides

Reference · Tools

MISP integration

Interact with the MISP threat intelligence platform to manage events, attributes, organisations, feeds, galaxies, tags, users, and more.

Action Development v1

The MISP node manages the objects that make up a threat intelligence platform — events, attributes, tags, feeds, organisations, users, galaxies, noticelists, objects and warninglists. A typical build is creating a MISP event from an alert and attaching the observed indicators as attributes for sharing.

Works as
Action
Tool name
misp
Parameters
95
Outputs
Output, Error
Credentials
MISP API
Official docs
MISP docs misp-project.org

What you can build with MISP

  • Get all events from MISP.
  • Create a new attribute on a MISP event.
  • Search MISP attributes by IOC value.
  • Publish a MISP event.
  • Add a tag to a MISP event.

Overview

MISP (Malware Information Sharing Platform) is an open-source threat intelligence platform for sharing, storing, and correlating Indicators of Compromise (IOCs) of targeted attacks, threat intelligence, financial fraud information, vulnerability information, or even counter-terrorism information. This tool provides CRUD operations on MISP resources including events, attributes, organisations, feeds, galaxies, noticelists, objects, tags, users, and warninglists.

Node Type

Action — processes input items and produces output

Input / Output

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

This tool requires MISP API credentials. See the Credentials Guide for setup instructions.

Resources

ResourceValue
Attributeattribute
Eventevent
Event TageventTag
Feedfeed
Galaxygalaxy
Noticelistnoticelist
Objectobject
Organisationorganisation
Tagtag
Useruser
Warninglistwarninglist

Operations

Each resource has its own Operation list, and most resources reuse the same operation values (create, delete, get, getAll, update). Pick the resource first, then the operation.

ResourceOperationValue
AttributeCreatecreate
AttributeDeletedelete
AttributeGetget
AttributeGet ManygetAll
AttributeUpdateupdate
EventCreatecreate
EventDeletedelete
EventGetget
EventGet ManygetAll
EventPublishpublish
EventUnpublishunpublish
EventUpdateupdate
Event TagAddadd
Event TagRemoveremove
FeedCreatecreate
FeedDisabledisable
FeedEnableenable
FeedGetget
FeedGet ManygetAll
FeedUpdateupdate
GalaxyDeletedelete
GalaxyGetget
GalaxyGet ManygetAll
NoticelistGetget
NoticelistGet ManygetAll
OrganisationCreatecreate
OrganisationDeletedelete
OrganisationGetget
OrganisationGet ManygetAll
OrganisationUpdateupdate
TagCreatecreate
TagDeletedelete
TagGet ManygetAll
TagUpdateupdate
UserCreatecreate
UserDeletedelete
UserGetget
UserGet ManygetAll
UserUpdateupdate
WarninglistGetget
WarninglistGet ManygetAll

Parameters

Parameter values are sent to MISP exactly as you type them — this node does not evaluate {{ … }} expressions in its fields, so enter literal values. To drive a MISP call from upstream data, build the value in an Edit Fields or Code node first and read it back into a fixed field.

Distribution levels are numeric and mean the same thing everywhere they appear. Choosing 4 (Sharing Group) also requires a Sharing Group ID; leaving it blank fails the item with a clear message. Update operations reject an empty Update Fields collection rather than sending a no-op request.

Attribute: Create

ParameterTypeRequiredDefaultDescription
Event UUID (eventId)stringYes—UUID of the event to attach the attribute to.
TypeoptionsYestextThe attribute type.
Options: text, url, comment
ValuestringYes—The attribute value — the indicator itself.
Additional FieldscollectionNo{}Optional attribute properties.
— DistributionoptionsNo0Who will be able to see this event once published.
Options: 0 (your organization only), 1 (this community only), 2 (connected communities), 3 (all communities), 4 (sharing group), 5 (inherit event)
— Sharing Group IDstringNo—Required when Distribution is set to Sharing Group. The numeric ID of the sharing group.

Attribute: Get

ParameterTypeRequiredDefaultDescription
Attribute IDstringYes—UUID or numeric ID of the attribute.

Attribute: Get Many

ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo50Max number of results to return. (shown when Return All is false)
ParameterTypeRequiredDefaultDescription
Use JSON to Specify FieldsbooleanNofalseWhether to use JSON to specify the fields for the search request.
JSON (jsonOutput)jsonNo{ "value": "search value", "type": "text" }JSON body for the restSearch endpoint. See MISP API docs for available fields. (shown when Use JSON to Specify Fields is true)
ValuestringYes—The value to search for, e.g. an IP address or hash. (shown when Use JSON to Specify Fields is false)
Additional FieldscollectionNo{}Extra search criteria. (shown when Use JSON to Specify Fields is false)
— CategorystringNo—Restrict the search to one MISP category, e.g. Internal reference.
— DeletedbooleanNofalseWhether to include deleted attributes.
— TagsstringNo—Comma-separated list of tags.
— TypestringNo—Restrict the search to one attribute type, e.g. text.
— PublishedbooleanNofalseWhether to restrict the search to published data.

Attribute: Update

ParameterTypeRequiredDefaultDescription
Attribute IDstringYes—ID of the attribute to update.
Update FieldscollectionNo{}Attribute properties to change. Only the fields you add are sent, and at least one is required.
— DistributionoptionsNo0Who will be able to see this event once published.
Options: 0 (your organization only), 1 (this community only), 2 (connected communities), 3 (all communities), 4 (sharing group), 5 (inherit event)
— Sharing Group IDstringNo—Required when Distribution is set to Sharing Group.

Attribute: Delete

ParameterTypeRequiredDefaultDescription
Attribute IDstringYes—UUID or numeric ID of the attribute.

Event: Create

ParameterTypeRequiredDefaultDescription
Organization ID (org_id)stringYes—The numeric ID of the organization. Find IDs in the MISP dashboard under /organisations.
InformationstringYes—Information on the event - max 65535 characters.
Additional FieldscollectionNo{}Optional event properties.
— AnalysisoptionsNo0Analysis maturity level of the event.
Options: 0 (initial), 1 (ongoing), 2 (complete)
— DistributionoptionsNo0Who will be able to see this event once published.
Options: 0 (your organization only), 1 (this community only), 2 (connected communities), 3 (all communities), 4 (sharing group), 5 (inherit event)
— Sharing Group IDstringNo—Required when Distribution is set to Sharing Group.
— Threat Level IDoptionsNo1The threat level assigned to the event.
Options: 1 (high), 2 (medium), 3 (low), 4 (undefined)

Event: Get

ParameterTypeRequiredDefaultDescription
Event IDstringYes—UUID or numeric ID of the event.

Event: Get Many

ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo50Max number of results to return. (shown when Return All is false)
ParameterTypeRequiredDefaultDescription
Use JSON to Specify FieldsbooleanNofalseWhether to use JSON to specify the fields for the search request.
JSON (jsonOutput)jsonNo{ "value": "search value", "type": "text" }JSON body for the restSearch endpoint. See MISP API docs for available fields. (shown when Use JSON to Specify Fields is true)
ValuestringYes—The value to search for, e.g. an IP address or hash. (shown when Use JSON to Specify Fields is false)
Additional FieldscollectionNo{}Extra search criteria. (shown when Use JSON to Specify Fields is false)
— CategorystringNo—Restrict the search to one MISP category, e.g. Internal reference.
— DeletedbooleanNofalseWhether to include deleted data.
— Search AllstringNo—Search by matching any tag names, event descriptions, attribute values or attribute comments.
— TagsstringNo—Comma-separated list of tags.
— TypestringNo—Restrict the search to one attribute type, e.g. text.
— PublishedbooleanNofalseWhether to restrict the search to published data.

Event: Update

ParameterTypeRequiredDefaultDescription
Event IDstringYes—UUID or numeric ID of the event.
Update FieldscollectionNo{}Event properties to change. Only the fields you add are sent, and at least one is required.
— AnalysisoptionsNo0Analysis maturity level of the event.
Options: 0 (initial), 1 (ongoing), 2 (complete)
— DistributionoptionsNo0Who will be able to see this event once published.
Options: 0 (your organization only), 1 (this community only), 2 (connected communities), 3 (all communities), 4 (sharing group), 5 (inherit event)
— InformationstringNo—Information on the event - max 65535 characters.
— Sharing Group IDstringNo—Required when Distribution is set to Sharing Group.
— Threat Level IDoptionsNo1The threat level assigned to the event.
Options: 1 (high), 2 (medium), 3 (low), 4 (undefined)

Event: Publish

ParameterTypeRequiredDefaultDescription
Event IDstringYes—UUID or numeric ID of the event.

Event: Unpublish

ParameterTypeRequiredDefaultDescription
Event IDstringYes—UUID or numeric ID of the event.

Event: Delete

ParameterTypeRequiredDefaultDescription
Event IDstringYes—UUID or numeric ID of the event.

Event Tag: Add

ParameterTypeRequiredDefaultDescription
Event IDstringYes—UUID or numeric ID of the event.
Tag IDstringYes—Numeric ID of the tag. Find IDs via Tag > Get Many.

Event Tag: Remove

ParameterTypeRequiredDefaultDescription
Event IDstringYes—UUID or numeric ID of the event.
Tag IDstringYes—Numeric ID of the tag. Find IDs via Tag > Get Many.

Feed: Create

ParameterTypeRequiredDefaultDescription
NamestringYes—A name for the feed.
ProviderstringYes—The organisation or source providing the feed.
URLstringYes—The URL the feed is fetched from.
Additional FieldscollectionNo{}Optional feed properties.
— DistributionoptionsNo0Who will be able to see this event once published.
Options: 0 (your organization only), 1 (this community only), 2 (connected communities), 3 (all communities), 4 (sharing group), 5 (inherit event)
— Rules (json)stringNo—Filter rules for the feed.

Feed: Get

ParameterTypeRequiredDefaultDescription
Feed IDstringYes—UUID or numeric ID of the feed.

Feed: Get Many

ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo50Max number of results to return. (shown when Return All is false)

Feed: Update

ParameterTypeRequiredDefaultDescription
Feed IDstringYes—ID of the feed to update.
Update FieldscollectionNo{}Feed properties to change. Only the fields you add are sent, and at least one is required.
— DistributionoptionsNo0Who will be able to see this event once published.
Options: 0 (your organization only), 1 (this community only), 2 (connected communities), 3 (all communities), 4 (sharing group), 5 (inherit event)
— NamestringNo—A new name for the feed.
— ProviderstringNo—A new provider for the feed.
— Rules (rules)jsonNo—Filter rules for the feed.
— URLstringNo—A new URL for the feed.

Feed: Enable

ParameterTypeRequiredDefaultDescription
Feed IDstringYes—UUID or numeric ID of the feed.

Feed: Disable

ParameterTypeRequiredDefaultDescription
Feed IDstringYes—UUID or numeric ID of the feed.

Galaxy: Get

ParameterTypeRequiredDefaultDescription
Galaxy IDstringYes—UUID or numeric ID of the galaxy.

Galaxy: Get Many

ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo50Max number of results to return. (shown when Return All is false)

Galaxy: Delete

ParameterTypeRequiredDefaultDescription
Galaxy IDstringYes—UUID or numeric ID of the galaxy.

Noticelist: Get

ParameterTypeRequiredDefaultDescription
Noticelist IDstringYes—Numeric ID of the noticelist.

Noticelist: Get Many

ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo50Max number of results to return. (shown when Return All is false)
ParameterTypeRequiredDefaultDescription
Use JSON to Specify FieldsbooleanNofalseWhether to use JSON to specify the fields for the search request.
JSON (jsonOutput)jsonNo{ "value": "search value", "type": "text" }JSON body for the restSearch endpoint. See MISP API docs for available fields. (shown when Use JSON to Specify Fields is true)
ValuestringYes—The value to search for, e.g. an IP address or hash. (shown when Use JSON to Specify Fields is false)
Additional FieldscollectionNo{}Extra search criteria. (shown when Use JSON to Specify Fields is false)
— CategorystringNo—Restrict the search to one MISP category, e.g. Internal reference.
— DeletedbooleanNofalseWhether to include deleted data.
— Search AllstringNo—Search by matching any tag names, event descriptions, attribute values or attribute comments.
— TagsstringNo—Comma-separated list of tags.
— TypestringNo—Restrict the search to one attribute type, e.g. text.
— PublishedbooleanNofalseWhether to restrict the search to published data.

Organisation: Create

ParameterTypeRequiredDefaultDescription
NamestringYes—The organisation’s name.
Additional FieldscollectionNo{}Optional organisation properties.
— Created by EmailstringNo—The email address recorded as the creator.
— DescriptionstringNo—A description of the organisation.
— NationalitystringNo—The organisation’s nationality.
— SectorstringNo—The organisation’s sector.
— TypestringNo—The organisation’s type.
— User CountnumberNo0The number of users in the organisation.

Organisation: Get

ParameterTypeRequiredDefaultDescription
Organisation IDstringYes—UUID or numeric ID of the organisation.

Organisation: Get Many

ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo50Max number of results to return. (shown when Return All is false)

Organisation: Update

ParameterTypeRequiredDefaultDescription
Organisation IDstringYes—ID of the organisation to update.
Update FieldscollectionNo{}Organisation properties to change. Only the fields you add are sent, and at least one is required.
— DescriptionstringNo—A description of the organisation.
— NamestringNo—A new name for the organisation.
— NationalitystringNo—The organisation’s nationality.
— SectorstringNo—The organisation’s sector.
— TypestringNo—The organisation’s type.

Organisation: Delete

ParameterTypeRequiredDefaultDescription
Organisation IDstringYes—UUID or numeric ID of the organisation.

Tag: Create

ParameterTypeRequiredDefaultDescription
NamestringYes—The tag name.
Additional FieldscollectionNo{}Optional tag properties.
— Color (colour)stringNo—Hex color code for the tag (e.g. #ff0000).

Tag: Get Many

ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo50Max number of results to return. (shown when Return All is false)

Tag: Update

ParameterTypeRequiredDefaultDescription
Tag IDstringYes—ID of the tag to update.
Update FieldscollectionNo{}Tag properties to change. Only the fields you add are sent, and at least one is required.
— Color (colour)stringNo—Hex color code for the tag (e.g. #ff0000).
— NamestringNo—A new name for the tag.

Tag: Delete

ParameterTypeRequiredDefaultDescription
Tag IDstringYes—Numeric ID of the tag.

User: Create

ParameterTypeRequiredDefaultDescription
EmailstringYes—The new user’s email address.
Role IDstringYes—Role IDs are available in the MISP dashboard at /roles/index.
Additional FieldscollectionNo{}Optional user properties.
— GPG KeystringNo—The user’s public GPG key.
— Inviter Email or ID (invited_by)stringNo—User ID of the inviter. Find IDs via User > Get Many.
— Organization ID (org_id)stringNo—Numeric ID of the organization. Find IDs via Organisation > Get Many.

User: Get

ParameterTypeRequiredDefaultDescription
User IDstringYes—Numeric ID of the user.

User: Get Many

ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo50Max number of results to return. (shown when Return All is false)

User: Update

ParameterTypeRequiredDefaultDescription
User IDstringYes—ID of the user to update.
Update FieldscollectionNo{}User properties to change. Only the fields you add are sent, and at least one is required.
— EmailstringNo—A new email address for the user.
— GPG KeystringNo—The user’s public GPG key.
— Inviter ID (invited_by)stringNo—User ID of the inviter. Find IDs via User > Get Many.
— Organization ID (org_id)stringNo—Numeric ID of the organization. Find IDs via Organisation > Get Many.

User: Delete

ParameterTypeRequiredDefaultDescription
User IDstringYes—Numeric ID of the user.

Warninglist: Get

ParameterTypeRequiredDefaultDescription
Warninglist IDstringYes—Numeric ID of the warninglist.

Warninglist: Get Many

ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo50Max number of results to return. (shown when Return All is false)

All Operations

ParameterTypeRequiredDefaultDescription
Max ConcurrencynumberNo10Maximum number of items to process concurrently.

Output Data

The MISP response is merged onto the input item’s JSON at the top level — the returned fields sit alongside the fields the item already carried, so downstream nodes address them directly ({{ $json.uuid }}). A response field with the same name as an existing item field overwrites it. Binary data on the input item is forwarded.

OperationsOutput
Every Get Many, and Attribute / Event / Object SearchOne output item per record — a page of 50 events becomes 50 output items from a single input item. A response with no records produces no output items for that input.
Create, Get and Update on attributes, events, feeds, organisations, tags and usersOne output item carrying the record, already unwrapped from its MISP envelope so its fields sit at the top level rather than under Attribute or Event.
Delete, Publish, Unpublish, Feed Enable and Disable, Event Tag Add and RemoveOne output item carrying MISP’s confirmation message for the call.

An attribute arrives like this:

{
  "id": "12345",
  "event_id": "678",
  "object_id": "0",
  "category": "Other",
  "type": "text",
  "value": "203.0.113.10",
  "to_ids": false,
  "uuid": "5f8a7c1e-1234-4c5d-8e9f-0a1b2c3d4e5f",
  "timestamp": "1768478400",
  "distribution": "0",
  "sharing_group_id": "0",
  "comment": "",
  "deleted": false
}

Event: Get and Event: Update return the event without its attribute list. The Attribute array is removed so a single busy event cannot flood the workflow with a multi-megabyte item. To work with an event’s indicators, follow up with Attribute: Get Many or Attribute: Search.

Search results come back already unwrapped: an attribute search yields the attributes themselves, and event and object searches yield the events and objects. Turning Return All off trims the result list to the Limit.

Example Configuration

Create an event for a new incident:

{
  "type": "misp",
  "parameters": {
    "resource": "event",
    "operation": "create",
    "org_id": "1",
    "information": "Phishing campaign targeting finance team",
    "additionalFields": {
      "analysis": 1,
      "distribution": 1,
      "threat_level_id": 2
    }
  }
}

Attach an indicator to that event:

{
  "type": "misp",
  "parameters": {
    "resource": "attribute",
    "operation": "create",
    "eventId": "5f8a7c1e-1234-4c5d-8e9f-0a1b2c3d4e5f",
    "type": "url",
    "value": "http://malicious.example.com/login",
    "additionalFields": {
      "distribution": 5
    }
  }
}

Search attributes for a specific IOC:

{
  "type": "misp",
  "parameters": {
    "resource": "attribute",
    "operation": "search",
    "useJson": false,
    "value": "203.0.113.10",
    "additionalFields": {
      "type": "text",
      "tags": "tlp:amber,malware",
      "published": true
    }
  }
}

Run the same search with a raw restSearch body when you need fields the form does not expose:

{
  "type": "misp",
  "parameters": {
    "resource": "attribute",
    "operation": "search",
    "useJson": true,
    "jsonOutput": "{\"value\":\"203.0.113.10\",\"type\":\"ip-dst\",\"last\":\"7d\"}"
  }
}

List the most recent events:

{
  "type": "misp",
  "parameters": {
    "resource": "event",
    "operation": "getAll",
    "returnAll": false,
    "limit": 50
  }
}

Publish an event so partner communities can see it:

{
  "type": "misp",
  "parameters": {
    "resource": "event",
    "operation": "publish",
    "eventId": "678"
  }
}

Tag an event:

{
  "type": "misp",
  "parameters": {
    "resource": "eventTag",
    "operation": "add",
    "eventId": "678",
    "tagId": "42"
  }
}

Create a tag with a colour:

{
  "type": "misp",
  "parameters": {
    "resource": "tag",
    "operation": "create",
    "name": "campaign:finance-phish",
    "additionalFields": {
      "colour": "#ff0000"
    }
  }
}

Register a threat feed:

{
  "type": "misp",
  "parameters": {
    "resource": "feed",
    "operation": "create",
    "name": "OSINT URL feed",
    "provider": "Example CERT",
    "url": "https://feeds.example.org/urls.json",
    "additionalFields": {
      "distribution": 3
    }
  }
}

Turn a feed on:

{
  "type": "misp",
  "parameters": {
    "resource": "feed",
    "operation": "enable",
    "feedId": "7"
  }
}

Add an analyst account:

{
  "type": "misp",
  "parameters": {
    "resource": "user",
    "operation": "create",
    "email": "analyst@example.org",
    "role_id": "3",
    "additionalFields": {
      "org_id": "1"
    }
  }
}

Create a partner organisation:

{
  "type": "misp",
  "parameters": {
    "resource": "organisation",
    "operation": "create",
    "name": "Example CERT",
    "additionalFields": {
      "description": "National CERT partner",
      "nationality": "BE",
      "sector": "Government",
      "type": "CERT"
    }
  }
}

Raise an event’s threat level:

{
  "type": "misp",
  "parameters": {
    "resource": "event",
    "operation": "update",
    "eventId": "678",
    "updateFields": {
      "threat_level_id": 1,
      "analysis": 2,
      "information": "Phishing campaign — confirmed compromise"
    }
  }
}

Error Handling

ModeBehavior
stopHalts workflow on first error
continueSkips failed items, passes successful ones through
errorPortRoutes failed items to Error output port

Tips

This tool interacts with the MISP threat intelligence platform to manage events, attributes, and other intelligence objects. It is ideal when you need to perform create, read, update, or delete operations on specific MISP resources like events, attributes, or organizations. It produces updated MISP resources, search results, or the status of operations like publishing events or enabling feeds.

Frequently asked questions

What is the relationship between events and attributes?

An event is the container for an incident or report, and attributes are the individual indicators within it. Most workflows create the event first, then add attributes to it.

Can it manage sharing metadata?

Yes — tags, galaxies and organisations are all supported, which is how MISP expresses classification and who may see what.

What are warninglists and noticelists for?

They are MISP's mechanisms for flagging known-benign or noteworthy values. The node can manage both, so tuning false positives can be automated rather than done by hand.

Which credential does it need?

A MISP API credential pointing at your instance with rights for the resources you intend to manage.

Build with MISP

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need MISP API credentials first.

Open BusyBot

Last reviewed . Spotted something wrong? Tell us.