# Share, fork, and pull

> Source: https://elaichi.ai/docs/guides/connectors/sharing-and-forking/

Share a custom connector with teammates, fork one to edit your own copy, and pull upstream changes without redoing your work by hand.

**Where to find it:** **Connectors → Custom** (or **All**) → open a connector → **Share**, **Fork**, or **Pull from upstream**

## Share a connector

Sharing decides who can see and change a **custom** connector’s configuration and documentation. It does **not** share any connected accounts — everyone still connects with their own credentials.

You need `connector:share` and edit standing on the connector.

1. Open the connector and choose **Share**.
2. Pick who gets access: a **member**, a **team**, or the **entire organization**.
3. Choose the level:

| Level | What it allows |
| --- | --- |
| **View** | See the connector config |
| **Edit** | Modify config and documentation |

4. Add the share. Remove it again from the same dialog whenever you need to.

Detail badges show **Can view** / **Can edit** for current shares. Custom connectors are already visible inside the organization; shares are mainly how you grant **edit**.

## Fork a connector

Forking gives you an org-owned editable copy (config + documentation) without changing the original.

1. Choose **Fork** from the catalog row or the detail page (requires `connector:create`; not available when the connector is restricted for you or custom connectors aren’t on your plan).
2. Confirm the suggested **Name** (`{Label} (Fork)`) and **Slug** (`{slug}-fork`), or edit them (lowercase letters, digits, hyphens; unique in the org).
3. Create it. Your fork appears under **Custom connectors**.

New forks record upstream lineage (`upstream_slug` and fingerprints). That’s what makes **Pull from upstream** possible.

## Pull changes from the original

When the connector you forked from gains new tools or fixes, open **Pull from upstream** on the fork (requires edit access and an upstream link).

You’ll see a review surface grouped like this:

| Group | Meaning | Selected by default? |
| --- | --- | --- |
| **New tools** | Added upstream since you forked (or last baseline) | Yes |
| **Updated tools** | Changed upstream, and your fork still matched the previous upstream version (safe updates) | Yes |
| **Config changes** | Changes to how the connector is set up (base URL, auth, credentials, pagination, rate limit, and related keys) | Yes when safe or new from upstream; No when both sides changed |
| **Conflicts** | Changed upstream *and* locally (or differ with no baseline) | No — review carefully |
| **Removed upstream** | No longer exists in the original (destructive if applied) | No |

Use **Select defaults** / **Clear**, expand entries to **Compare sides** (Your fork / Upstream), tick what you want, and apply. Unselected changes stay exactly as they are on your fork.

:::callout{type="warning"}
Pulling a **Conflict** or **Removed upstream** item overwrites or deletes that piece on your fork. Read those before ticking them.
:::

### Older forks without lineage

Forks created before lineage existed may not show **Pull from upstream** until they are linked to an upstream connector. Linking is done via the API (`link-upstream`) with the upstream slug; after that, pull works like any other fork. Without a link, pull is refused.

## Good to know

- Catalog connectors can’t be edited directly — fork first.
- Sharing with a team needs a team to exist — create one under **Members & Roles → Teams**.
- Pull is selective: only the change IDs you select are applied.

## Related

- [Browse connectors](/guides/connectors/browse-connectors)
- [Build a custom connector](/guides/connectors/build-a-custom-connector)
- [Teams](/guides/members/teams)
