# Endpoint Joins

Endpoint Joins let you combine data from multiple endpoints within a Smart Filter. This is useful when related information lives in different API endpoints and you want to see it together — for example, matching tickets with their assigned users, or orders with their customer details.

# How Joins Work

A join links items from one endpoint to items in another based on a shared field (a foreign key relationship). When you view the filter, Weavestream looks up the matching item in the joined endpoint and pulls in its fields alongside the original item.

For example, if you have:

  • A "Tickets" endpoint where each ticket has a user_id field
  • A "Users" endpoint where each user has an id field

You can join them so that each ticket displays the associated user's name, email, and other details right in the item view.

# Setting Up a Join

Joins are configured in the Data Joins section of the Smart Filter window. This section appears when your filter includes two or more applicable endpoints.

# Creating a Join

  1. Click Add Data Join
  2. Configure the join:

    From — The primary endpoint and the field that contains the reference

    • Select the endpoint (e.g., "Tickets")
    • Select the field (e.g., user_id)

    Join — The endpoint to look up and the field to match on

    • Select the endpoint (e.g., "Users")
    • Select the match field (e.g., id)
  3. Include Fields — Choose which fields from the joined endpoint to display. These appear as selectable chips. Pick the ones you want to see (e.g., name, email, department).
  4. Field Prefix (optional) — Add a prefix to the joined fields to avoid confusion when both endpoints have fields with the same name. For example, a prefix of user_ would display the joined fields as user_name, user_email, etc.

# How Joined Data Appears

When viewing items in a filter with joins, the detail view shows the joined data in a separate section with an orange tint. The section header shows which endpoint the data came from and which specific item was matched.

# Output Fields

The Output Fields section in the Smart Filter window lets you control which fields are included when the filter's data is used with AI Analysis. This is especially useful with joins, as joined data can add many fields.

  • Select All / Clear All — Quick selection buttons
  • Fields are grouped by endpoint
  • Each endpoint has its own "Select All" and "Clear" buttons

Limiting output fields helps the AI focus on the most relevant data and reduces token usage.

# Example: Combining Alerts with Device Information

Imagine you have two endpoints in a monitoring source:

  • "Active Alerts" with fields: id, device_id, severity, message, created_at
  • "Devices" with fields: id, name, location, os, last_seen

To see device details alongside each alert:

  1. Create a Smart Filter that includes both endpoints
  2. Add a Data Join:
    • From: Active Alerts → device_id
    • Join: Devices → id
    • Include fields: name, location, os
    • Prefix: device_
  3. Now each alert shows device_name, device_location, and device_os in its detail view

# Tips

  • Joins work on exact matches. The "from" field value must exactly match the "join" field value.
  • One-to-one matching. Each item matches at most one item in the joined endpoint. If multiple matches exist, the first one is used.
  • Joins don't affect the item count. The filter still shows items from all selected endpoints. Joins add extra fields to items that have matches, but items without matches are still shown.
  • Use prefixes to avoid confusion. If both endpoints have a name or status field, a prefix makes it clear which is which.

# Next Steps