Skip to main content
Skip table of contents

Artifact Relationships

LAST UPDATED: SEPTEMBER 19, 2025

PREREQUISITES

Artifact relationships define how different artifact entities interact and influence one another. By configuring relationships, analysts can model real-world behaviors, visualize connections on the Artifact Behavior diagram, and understand how multiple entities link together.

Worked Examples

PART 1 Relationship Configuration and Insights

  1. Set up the following event source.

  2. Add the following two EFM records:

    Frame 26-20250917-225452.png
    Frame 20-20250917-225509.png
  3. Add the following relationship.

    Frame 28-20250917-225601.png
Relationship Configuration: Mini Guide and Key Insights*

  1. Navigate to the Artifacts module.

    Frame 33-20250917-232545.png
  2. Click on the Relationships sidebar item, then click on the + Add New Relationship button.

    Frame 17-20250917-225542.png
  3. Select a source artifact (Artifact 1) and a destination artifact (Artifact 2), each with a corresponding role.

    Frame 36-20250918-005605.png
    • The artifact role must be specified during EFM setup before it can be selected here.

    • The relationship type name is a label that specifies the effect of the source artifact on the destination artifact.

    • Two artifact types cannot be directly related to each other more than once.

    • An artifact cannot form a direct relationship with itself.

    • An integration and event source can optionally be specified to restrict artifact relationships so they form only after data ingestion and field mapping have been completed for that integration event source.

      • EXAMPLE

        Frame 34-20250918-001852.png

        Selected EFM Event Source

        Frame 35-20250918-001907.png

        Corresponding Inputs for Source Conditions

        This prevents artifact relationships from forming for event sources of other integrations, as well as for other event sources within the same integration (Zendesk in this case), when EFM matches occur.

  1. Verify that a corresponding relationship record has been added to the table.

    Frame 18-20250917-225642.png
  2. Send the following POST webhook request.

    JSON
    {
        "results": [
            {
                "id": "0008",
                "discriminator": "demo",
                "target1": "value1",
                "target2": "value2"
    
            }
        ]
    }
    Frame 29-20250917-225656.png
  3. Verify that two artifact entities have been created and are linked by the configured relationship.

    Frame 31-20250917-225713.png

PART 2 Alternative Example with Additional Artifact Entities

  1. Add the following two EFM records:

    Frame 21-20250917-225727.png
    Frame 22-20250917-225740.png
  2. Delete the relationship configured in step 3.

    Frame 37-20250918-010344.png
  3. Add the following relationship.

    Frame 24 (1)-20250918-010935.png
  4. Send the following POST webhook request.

    JSON
    {
        "results": [
            {
                "id": "0010",
                "discriminator": "demo",
                "target1": "value1",
                "target2": "value2",
                "target3": "value3",
                "target4": "value4"
    
            }
        ]
    }
    Frame 30-20250917-225809.png
  5. Verify that four artifact entities have been created, and that Custom Type 3 and Custom Type 4 are linked by the configured relationship.

    Frame 19-20250917-225826.png

ROLE DISTINGUISHES ARTIFACT INSTANCES

When two EFM records are configured to instantiate the same artifact type but are assigned different roles, the resulting artifact instance whose role matches the one specified in the Relationship popover is used to form the relationship. See FAQ 1.


PART 3 Multiple Relationships

  1. Add the following relationship.

    Frame 25-20250917-225903.png
  2. Send the following POST webhook request.

    JSON
    {
        "results": [
            {
                "id": "0012",
                "discriminator": "demo",
                "target1": "value1",
                "target2": "value2",
                "target3": "value3",
                "target4": "value4"
    
            }
        ]
    }
    Frame 38-20250918-160601.png
  3. Verify in the new D3 event that adding the "Communicates with" relationship between the Custom Type artifact entity and the Custom Type 4 artifact entity results in two disconnected relationship groups.

    Frame 23-20250917-225923.png

PART 4 Modeling Complex Interactions

  1. Add the following relationship.

    Frame 51 (2)-20250918-213101.png
  2. Send the following POST webhook request.

    JSON
    {
        "results": [
            {
                "id": "0014",
                "discriminator": "demo",
                "target1": "value1",
                "target2": "value2",
                "target3": "value3",
                "target4": "value4"
    
            }
        ]
    }
    Frame 40 (1)-20250918-180231.png
  3. Verify in the corresponding D3 event that adding the additional "Activates" relationship between the Custom Type 4 and Custom Type 3 artifact entities results in an interconnected, directed interaction flow.

    Frame 43 (2)-20250918-180915.png

FAQ

What happens if two EFM records instantiate the same artifact type but have different roles?

SCENARIO The following example is based on these configurations.

Event Source Configuration

Frame 50 (2)-20250918-211139.png

Event Field Mapping Configurations

Frame 46 (1)-20250918-203911.png

Relationship Configurations


  1. Send the following webhook Post request.

    Frame 44 (1)-20250918-205500.png
  2. Verify that the relationship is established between artifact entities value2 and value5, not between value2 and value1.

    Frame 49 (1)-20250918-210418.png

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.