# Projects

> A project keeps one client or campaign's work together — and, when you attach it, teaches Endless everything it knows about them.

Source: https://endless.app/docs/concepts/projects

The product describes a **project*&#x2A; as &#x2A;"A space for each client or campaign. Keep their assets,
transcripts, and chats together so Endless always has the right context."*

That sentence hides the thing that trips people up. A project does three separate jobs, and
**doing one never does the others**. Once you know which job you're asking for, everything
about projects becomes predictable.

## Three jobs, kept separate

<Cards>
  <Card icon="<Folder />" title="1. It holds things">
    Assets, chats, canvases, the people with access and the project's knowledge.
    This is what fills the project's tabs.
  </Card>

  <Card icon="<Eye />" title="2. It grants access">
    Linking something into a project lets everyone who can open the project read
    it.
  </Card>

  <Card icon="<Notebook />" title="3. It supplies context">
    **Attaching** a project to a chat loads its knowledge and its skills into
    that conversation.
  </Card>
</Cards>

Only the first job shows up in the list: each project wears its reach next to the assets,
chats and canvases filed under it and the people with access.

<ImageZoom src="/docs/screenshots/projects.webp" alt="The Projects list, one row per project: each shows whether it is private or shared with the workspace, then the assets, chats and canvases filed under it and the people with access" width="1280" height="720" />

<Callout type="warn">
  **One never implies another.** Adding an asset to a project makes it readable
  by everyone who can open the project — and loads nothing into any chat.
  Mentioning a project in a chat loads its knowledge — and does not file that
  chat under the project. If you want both, do both.
</Callout>

## Who can open a project

You choose who it's for when you create it, under &#x2A;*"General access"**:

<Cards>
  <Card icon="<Lock />" title="Private">
    *"Only you and the people you add"*. Every new project starts here.
  </Card>

  <Card icon="<Globe />" title="Workspace">
    **"Everyone in the workspace"** can open it, at **Can view** or **Can
    edit**. It starts at **Can view**.
  </Card>
</Cards>

Either way, &#x2A;*"Add person"** shares the project with someone directly. Each person starts at
**Can view** and you can raise them to **Can edit**. A person's own role wins over the
workspace's, even when it's lower.

| Role         | What it lets you do                                                                                                  |
| ------------ | -------------------------------------------------------------------------------------------------------------------- |
| **Can view** | Open the project and read everything filed in it, its knowledge included                                             |
| **Can edit** | Also rename it, edit its knowledge, link and unlink canvases and skills, and file their own chats and assets into it |
| Owner        | The person who created it: also decides who has access, archives it and deletes it                                   |

Besides the owner, anyone whose workspace role includes &#x2A;*"Delete content created by others"**
can delete a project they can open.

Editing also needs your workspace role to let you create content. Only the owner changes who
has access later, from the project's **Access*&#x2A; tab; everyone else sees who has it, and can
&#x2A;*"Leave"** a project shared with them — unless leaving would give them more access than they
had, say they hold **Can view** while the workspace has **Can edit**.

Linking something into a project takes two things: it's yours, and you can edit the project.
From then on everyone who can open the project can view it — in the project's **Assets** tab
and in their own library — but not edit it. Only a chat's creator can file it in a project, and
then whoever can open the project can read it.

<Cards>
  <Card icon="<Layers />" title="Assets and visibility" href="/docs/concepts/assets-and-visibility">
    The full picture of who can see a file, of which project links are one
    branch.
  </Card>
</Cards>

## Attaching a project to a chat

Attachment is the context job — the one that actually changes what Endless knows while it
works with you.

<Steps>
  <Step>
    ### Attach it

    Type &#x2A;*`@`** followed by the project's name in the composer, or pick it from the composer's
    add menu. A chip appears above the composer with the project on it.
  </Step>

  <Step>
    ### Confirm what that did

    Open the chip and it tells you: &#x2A;"This project's knowledge and skills are loaded into this
    chat."* Context is never silent — if a project is feeding the conversation, you can see it.
  </Step>

  <Step>
    ### It stays attached

    You don't re-mention a project every message. Once attached, it stays attached for the rest of
    that conversation, on any device you open it from.
  </Step>

  <Step>
    ### Detach when you're done with it

    Remove the chip — &#x2A;*"Remove from chat"** — and the project's knowledge and skills stop loading,
    even if the project was mentioned earlier in the conversation.

    **A detach is remembered on that device only.** Attachment is worked out from the conversation
    itself, so it follows you everywhere; the removal is a local note on top of it. Open the same
    chat on another computer or phone and the project comes back attached — remove the chip there
    too.
  </Step>
</Steps>

<Callout type="info">
  Endless can attach a project by itself mid-conversation when the work is
  clearly about one, and it says so when it does. If that isn't what you wanted,
  remove the chip.
</Callout>

## Each project has one knowledge entry

Every project owns a single, permanent **Knowledge** entry. Endless keeps it current, it stays
out of the general skills list, and it loads into a chat when you mention the project.

This is the project's memory. When you tell Endless something durable about the client — how
their name is written, the tone their posts use, what always needs approval — it saves that
rule into the project's knowledge and shows a &#x2A;*"Saved to"** card naming the project, so you
know it happened. Next time you attach the project, it starts from there instead of from nothing.

<Cards>
  <Card icon="<Notebook />" title="It is the project's, permanently">
    The knowledge entry can't be unlinked from its project or deleted while the
    project exists. It goes when the project goes.
  </Card>

  <Card icon="<Tag />" title="It loads only when attached">
    Knowledge is inlined into a conversation when the project is attached to it
    — never into every chat by default.
  </Card>
</Cards>

You can read it from the project's **Knowledge** tab, and edit it there if you can edit the
project. It's an ordinary skill
underneath, so the same ideas apply — see [Skills and
knowledge](/docs/concepts/skills-and-knowledge).

## Archiving a project

Only the project's owner can archive it. Archiving hides the project from everyone but its
owner without deleting anything, and what is linked into it stops being shared through it while
it's archived. Archived ones live in
**Settings → Archived*&#x2A;: &#x2A;"Archived projects are hidden from your workspace. Unarchive
one to bring it back."*

<Cards>
  <Card icon="<Refresh />" title="It's reversible">
    Unarchiving — again the owner's call — restores the project exactly as it
    was, keeping its links and who has access. It is a way to tidy up a finished
    campaign, not a way to delete one.
  </Card>

  <Card icon="<FolderOpen />" title="Different from deleting">
    Deleting a project is a separate, destructive action: it doesn't go to the
    Trash and can't be undone from the app. Archiving touches nothing inside the
    project.
  </Card>
</Cards>

<Callout type="info">
  The **Free plan** is the only one that caps how many projects a workspace can
  have; every paid plan is unlimited. If you hit the cap, Endless says so when
  you try to create the next one — and archiving doesn't free a slot, because
  archived projects still count. Deleting one does.
</Callout>

## Which one do I want?

| I want to…                                          | Do this                                          |
| --------------------------------------------------- | ------------------------------------------------ |
| Keep a client's files together                      | Link the assets into the project                 |
| Let a colleague reach a client's files              | Share the project with them (its **Access** tab) |
| Have Endless write in the client's voice            | Attach the project to the chat (`@` its name)    |
| Teach Endless a rule that should stick              | Say it in a chat with the project attached       |
| Stop a project influencing the current conversation | Remove its chip                                  |
| Get a finished campaign out of the way              | Archive it                                       |

<Cards>
  <Card icon="<Users />" title="Workspaces and members" href="/docs/concepts/workspaces-and-members">
    Projects live inside a workspace, and the people in it are who you can share
    them with.
  </Card>

  <Card icon="<Notebook />" title="Skills and knowledge" href="/docs/concepts/skills-and-knowledge">
    What a skill is, and how a project's knowledge relates to the rest of them.
  </Card>
</Cards>
