# Publish a workflow

Publish a workflow when it is ready for real use.

Click **Publish** in the top-right corner.

{% hint style="warning" %}
Before you publish, make sure the workflow runs without errors.
{% endhint %}

After publishing, the workflow becomes active.

What happens next depends on the workflow type.

<figure><img src="/files/OvvyLXh7Znv2XQOOlFIL" alt=""><figcaption></figcaption></figure>

## Publish Tools and Chats

After publishing a **Tool** or **Chat**, you can usually use it in 3 ways:

* share an **internal link**
* share a **public link**
* run it via **API**

<figure><img src="/files/btAJ6ZE0oMTlicdR99mw" alt=""><figcaption></figcaption></figure>

### Share with an internal link

Use an internal link when access should stay inside your workspace.

Signed-in users can open the workflow from that link.

<figure><img src="/files/lGpJSEmdQD4EgNuc39aK" alt=""><figcaption></figcaption></figure>

### Share with a public link

Use a public link when people outside your workspace need access.

You can copy the link and share it directly.

<figure><img src="/files/rG8Kw4gxqXScyLUultwf" alt=""><figcaption></figcaption></figure>

### Customize the public experience

For public Tools or Chats, you can update the shared page settings.

You can adjust:

* general details such as title, subtitle, logo, cover, color, and style
* input and output settings
* security, including public access or password protection

<figure><img src="/files/CYZ0Ssvgw0mnm0ejxnv7" alt=""><figcaption></figcaption></figure>

### Run via API

Use **API Docs** when you want to connect the workflow to another system.

Available examples include:

* Python
* JavaScript
* cURL

<figure><img src="/files/QDSCKONgKuJTSFCdNF4l" alt=""><figcaption></figcaption></figure>

### Publish Automation

Publishing also makes an **Automation** workflow active.

Automation does not use public sharing links like Tools and Chats.

### Tips

* Publish only after testing with real inputs.
* Use an internal link before switching to a public link.
* Use API access when the workflow needs to run from another app.

### Next steps

* Learn how to [manage a workflow](/workflow-builder/manage-a-workflow.md).
* Learn how to [unpublish a workflow](/workflow-builder/unpublish-a-workflow.md).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.diaflow.io/workflow-builder/publish-a-workflow.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
