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

# Overview

> Get your Dify applications into users' hands with web apps, APIs, embeds, and integrations

<Frame>
  <img src="https://mintcdn.com/dify-6c0370d8/Z6MqdkI3dck9_1H6/images/use-dify/publish/publish-methods.png?fit=max&auto=format&n=Z6MqdkI3dck9_1H6&q=85&s=67e83841189ba2928e64295c0e1d69be" alt="Publish Methods" width="1020" height="1800" data-path="images/use-dify/publish/publish-methods.png" />
</Frame>

You've built something great in Dify. Now let's get it to your users. Every Dify application becomes available in multiple ways automatically—choose what works best for your situation.

## Start with Web Apps

Your fastest path to sharing is through web apps. These are generated automatically when you create any application and work immediately without setup.

<Steps>
  <Step title="Hit Publish">
    Click "Publish" in your app to activate the latest version.
  </Step>

  <Step title="Copy the URL">
    Find your web app link in the publish section.
  </Step>

  <Step title="Share immediately">
    Send the link to users—they can start using your app right away.
  </Step>
</Steps>

<Tip>
  Web apps work on any device and automatically adapt to screen sizes. No app store approvals or installation required.
</Tip>

## Publishing Options

<CardGroup cols={2}>
  <Card title="Web Apps" icon="globe" href="/en/use-dify/publish/webapp/chatflow-webapp">
    Instant, shareable applications. Perfect for testing ideas or serving end users directly.
  </Card>

  <Card title="API Integration" icon="code" href="/en/use-dify/publish/developing-with-apis">
    Build AI into your existing products. Full control over user experience and data flow.
  </Card>

  <Card title="Embed on Websites" icon="window" href="/en/use-dify/publish/webapp/embedding-in-websites">
    Deploy your web app as chat widgets or inline frames on any website.
  </Card>

  <Card title="MCP Server" icon="plug" href="/en/use-dify/publish/publish-mcp">
    Connect to AI tools like Claude Desktop and Cursor. Great for development workflows.
  </Card>
</CardGroup>

## How Publishing Works

When you publish an app, Dify creates a web app and API endpoint with your latest configuration:

* **Web apps** update immediately with new features and responses
* **API endpoints** serve the latest model and workflow configurations
* **Website embeds** (which display your web app) automatically reflect all changes
* **MCP servers** provide access to current app capabilities

<Warning>
  Publishing replaces your live app with the current configuration. Users will immediately see changes in their next interaction.
</Warning>

## Choose Your Approach

<AccordionGroup>
  <Accordion title="I want immediate user feedback">
    Use **Web Apps**. Share a link and start collecting feedback within minutes. Perfect for validating ideas or serving non-technical users.
  </Accordion>

  <Accordion title="I'm building a product">
    Use **API Integration**. You control the interface, user authentication, and data handling. Your app becomes part of your product ecosystem.
  </Accordion>

  <Accordion title="I have an existing website">
    Use **Embed on Websites**. Display your web app as a chat widget or inline frame on your current site. Works with any website technology.
  </Accordion>

  <Accordion title="I want to extend AI tools">
    Use **MCP Server**. Make your app available to Claude Desktop, Cursor, and other AI development environments as a native tool.
  </Accordion>
</AccordionGroup>

## Publishing Best Practices

Before you share your app, ensure you've configured these settings:

* **App description** - Helps users understand what your app does
* **Icon and branding** - Makes your app recognizable and professional
* **Access controls** - Decide if your app should be public or require authentication
* **Rate limits** - Protect your app from overuse (especially important for API access)

<Check>
  All publishing methods use the same app configuration. Set it once, publish everywhere.
</Check>
