> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gable.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Dependencies (Cross-Service Edges)

> Create and manage cross-service edges that connect lineage between services and data stores

Use Gable's Lineage Explorer to create cross-service edges between components. Cross-service edges represent lineage that flows between two components, such as from a service to a data store, from a data store to a service, or from one service to another.

## Before you begin

Before creating a cross-service edge, make sure the components you want to connect already exist in Gable.

You need:

* A scanned code component or service
* Any data store components and schemas that should participate in the edge
* The upstream component and downstream component for the lineage flow
* The fields that should be mapped between them

Before adding cross-service edges, ensure all components exist in Lineage Explorer and make any desired path overrides. For more information, see:

* [Services & Data Components](/docs/onboarding/services-and-data-components)
* [Field Mappings & Overrides](/docs/onboarding/field-mappings-and-overrides)

## Identify the components to connect

1. Open Lineage Explorer.
2. Search for the first component you want to connect.
3. Confirm whether the component is a data store or a code component.
4. Search for the second component you want to connect.
5. Confirm the expected direction of lineage between the two components.

Before creating the edge, make sure you know which component is upstream (where data originates) and which component is downstream (where data flows to).

## Identify the fields to map

Before creating the edge, identify the fields that should be mapped between the upstream and downstream components.

For data store components, fields come from the data store schema. For code components, fields come from the service's payloads.

In the edge modal, you can filter each side by **field, payload, or friendly name** to find the right fields. If multiple fields have the same or similar names, confirm that you are selecting the field from the correct component and payload.

## Add a cross-service edge

1. Go to **Lineage Explorer**.
2. Select **Add Edge** in the top right.

<Frame caption="The Add Edge button in Lineage Explorer">
  <img src="https://mintcdn.com/gable/RBAV-TwSl3vAkure/docs/assets/product/add-edge-button.png?fit=max&auto=format&n=RBAV-TwSl3vAkure&q=85&s=2882a4446739767fe3a7a2970bb89cd5" alt="The Add Edge button in the Lineage Explorer header" width="3200" height="1766" data-path="docs/assets/product/add-edge-button.png" />
</Frame>

3. In the **Create Cross-Service Edge** modal, select the **Upstream Service** and the **Downstream Service** (either can also be a data store component). The two must be different components.
4. Use the filter on each side to narrow the field list by field, payload, or friendly name.
5. Map fields between the two sides:
   * Select a field on one side, then select the matching field on the other side. The pair is added to the **Mapped** list.
   * Repeat for each field relationship the edge should carry, or use [Auto-Map](#auto-map-field-mappings) to map fields automatically.
6. Review the mapped pairs, then select **Save**. Gable automatically determines the underlying connection points on each component when the edge is saved.

The new cross-service edge should now be visible in Lineage Explorer.

<Frame caption="Creating a cross-service edge with field mappings">
  <img src="https://mintcdn.com/gable/RBAV-TwSl3vAkure/docs/assets/product/create-cross-service-edge-modal.png?fit=max&auto=format&n=RBAV-TwSl3vAkure&q=85&s=88e1efb0e378f8fb207030de6ef4e218" alt="The Create Cross-Service Edge modal with mapped field pairs" width="2912" height="1708" data-path="docs/assets/product/create-cross-service-edge-modal.png" />
</Frame>

## Auto-Map field mappings

When the upstream and downstream fields have similar names, Gable can compute the field mappings for you:

* **Auto-Map Missing** — automatically maps any detected field relationships that do not yet exist. Existing mappings are left untouched.
* **Auto-Map All** — replaces *all* existing mappings between the two components with a fully auto-mapped set.

<Warning>
  **Auto-Map All is a destructive action.** If you have existing cross-service edge configuration between the two components — including manually curated field mappings — Auto-Map All replaces it entirely with the auto-computed set. Use **Auto-Map Missing** to add new mappings without affecting existing ones.
</Warning>

Auto-mapping matches fields based on field names using fuzzy matching. After it runs, review the suggested mappings carefully and confirm that each upstream field maps to the correct downstream field before saving.

## Editing edges

Use the **Edge Details** panel to review, update, or delete an existing cross-service edge.

1. Open Lineage Explorer.
2. Select an edge in the graph view.
3. Review the **Edge Details** panel that opens on the right side of the page.

The Edge Details panel shows the number of edge mappings between the two components, along with the details for each mapping. You can search the panel by field name.

From the Edge Details panel, you can:

* add additional field mappings with **Add Edge For This Pair**
* modify the edge configuration with **Modify**
* update existing field mappings
* delete the edge with **Delete**

When you delete an edge, it is permanently removed from the Lineage Explorer view. To restore it later, you will need to create the edge again.

<Frame caption="The Edge Details panel">
  <img src="https://mintcdn.com/gable/RBAV-TwSl3vAkure/docs/assets/product/edge-details-panel.png?fit=max&auto=format&n=RBAV-TwSl3vAkure&q=85&s=984c14204e172d3ed05647a0b9e4b28f" alt="The Edge Details panel" width="2912" height="1708" data-path="docs/assets/product/edge-details-panel.png" />
</Frame>

## Troubleshooting

After creating the edge, confirm that it appears as expected.

If the edge does not appear as expected, check that:

* the correct upstream and downstream components were selected
* the lineage direction is correct
* the expected data store schema exists
* field mappings were created and saved
* duplicate field names were mapped to the intended fields

## Example workflow

A typical workflow looks like this:

1. Find the two components in Lineage Explorer.
2. Determine which component is upstream and which is downstream.
3. Select **Add Edge**.
4. Select the upstream and downstream components.
5. Filter each side by field, payload, or friendly name to find the fields to connect.
6. Map fields manually or with **Auto-Map Missing**.
7. Review the mapped pairs and save the edge.
8. Validate that the edge appears in Lineage Explorer and supports the expected field lineage.

<Tip>
  Cross-service edges can also be managed programmatically — see the [`gable lineage edge`](/docs/cli/lineage/edge) CLI commands.
</Tip>
