# Swoop Changelog
Source: https://docs.swoop.it/changelog
Swoop changelog and product updates. Stay up to date with new features, improvements, and bug fixes shipped in Swoop.
## Project Folders
Organize your decks in All Projects — create folders, drag cards in, or use the menu to move. Workflows now auto-file their generated decks into a folder named after the workflow.
## Visuals — on-brand image creation
A new Visuals tool lets you generate image variations from a text prompt with your brand's visual style applied automatically. Generate up to four variations per prompt in five aspect ratios, save results to your brand library, and get transparent backgrounds with GPT Image 1.
## Social media post creation
Swoop can now create social media posts directly from the editor.
## Swoop ChatGPT app
The Swoop app is now available in the ChatGPT app store, powered by the Swoop MCP Server.
## Brand Studio
Brand Studio is a dedicated home for your brand in Swoop — set it up once from a website URL, PPTX, PDF, or image, and every visual asset you generate stays on-brand automatically. Fine-tune colors, fonts, logos, and AI image style, manage a brand library, save multiple brands, and share your brand with teammates.
## Upload fonts to your brand
You can now upload custom font files directly to your brand in Brand Studio.
## More brand assets
The Brand manager now includes a section for Brand assets — both reference images and sharable images that can be reused across your team.
## Microsoft SSO sign-in
Microsoft is now available as a single sign-on option, letting you sign in to Swoop with your Microsoft account.
## Composio reconnection notice
A notice banner has been added to inform users who need to reconnect their Composio integrations following Composio's May 2026 security incident.
## MCP Server stability improvements
Error messages now give clearer context and actionable steps. The server now surfaces early bail messages (like "insufficient credits") immediately, and tool calls lock the agent conversation to prevent race conditions from overlapping actions.
## Embed presentations
Swoop projects can now be embedded via OEmbed link or HTML embed code, using a responsive iframe that automatically adjusts to the parent container. Works in Notion and other compatible platforms — or ask the chat agent for embed links and HTML code directly.
## Attach images from connected integrations
The attach image button now opens a modal where you can pull images from Google Drive or Canvas if those integrations are connected.
## Workflows UI refresh
The Workflows interface has been updated with a refreshed visual design.
## Movable slide elements
Most slide elements can now be freely repositioned, giving you more control over your presentation layout.
## Referral and credits visibility improvements
A new sidebar banner highlights the option to earn credits by inviting others, and low-credits banners now showcase both purchasing and earning free credits. The signup page also now reflects when you've arrived via a referral link.
## Make project unlisted
You can now mark a project as unlisted to prevent it from being indexed by search engines.
## Workflows landing page live
A dedicated landing page for Swoop Workflows is now live on the website.
## Workflows generally available
Workflows is now available to all users, with an improved agent, better UI, and a new in-product helper to help you configure your own workflow agent.
## Smarter design and image handling
Slide styles are now decoupled from image counts, giving you more creative control over presentations. Swoop scans your outline to decide if visuals are needed, and asks for your preference when unsure so the first draft matches your intent.
## Referral links
You can now share Swoop with friends using referral links. When someone you refer registers, you earn 200 credits.
## New workflow starting page
Workflows have a redesigned starting page to help you get up and running faster.
## Improved help setting up workflows
Setting up workflows is easier with improved in-product guidance, and a new icon makes it easier to connect apps.
## Talking points and presenter view
Talking points and scripts are now available to all users. The presenter view supports customizing font sizes, slide preview, timer, and other display options, and you can specify what AI-generated speaker notes should contain.
## GIF support in presentations
You can now ask Swoop for GIFs and upload your own GIFs into presentations.
## Public pricing page
The Swoop public website now has a pricing page, making it easier for new users to discover monthly plans and flexible credit packs.
## Improved workflow schedule picker
The frequency schedule picker in workflows has a refreshed UX, making it easier to configure recurring runs.
## Theme and brand selection in workflows
You can now select a theme or brand in the workflow configuration step, and it will be applied consistently across workflow runs.
## Change brand after creating a presentation
You can now change the brand and style of an already-created presentation. Brand and style selections respect each other, so you can experiment with different visual combinations.
## Set a default brand
Mark a brand as your default and it will be automatically selected before each new conversation.
## Payments and Credits
Swoop now supports paid plans. Subscribers can hide the Swoop watermark, credits are charged for presentation creation and export, and all new users receive 500 free credits to get started.
## Improved brand detection from PPTX
When you upload a PPTX as a brand file, the generated slides now match the source style more closely.
## Simplified Share Dialog Download Flow
The download flow in the Share dialog has been simplified with two clear action buttons.
## More Integration Links Recognized in Chat
Pasting a link from any Composio-connected integration in agent chat now works. Previously, only a limited set of services (Google Drive, Notion, GitHub, and others) could be auto-associated — that restriction has been lifted.
## Swoop Links with Embedded Thumbnails
When you share a Swoop link, a thumbnail from the first slide of your deck will be shown.
## 10 New Style Presets
The design library now includes 10 new presets — Aurora, Neo-Brutalist, Forest, Canvas, and more — bringing the total to 29 designer-grade styles, with a new visual style picker featuring high-quality thumbnails.
## Improved Image Editing in Chat
You can now regenerate multiple images at once, swap images with your own uploads, and Swoop will ask clarifying questions when it needs more context — all without losing previous context.
## Brands visible in home panel
Next to your recent projects, you now get a quick overview of your brands directly from the home panel.
## AI chat suggestions focus on content
Swoop AI chat suggestions now focus on content improvements rather than styling changes.
## Improved shared document viewer
Slides now expand to fill the full screen on desktop, display as a vertical stack or single-slide landscape view on mobile, and viewers get a progress bar, copy link button, and fullscreen Present button.
## Dashboard redesign
The dashboard now focuses on the conversation input, with recent projects shown in a bottom drawer and brand and style selection moved to separate dialogs.
## Messages and attachments unified
What you send in one message now appears as a single message, keeping your context together.
## Notification sound timing fixed
The completion sound now plays only after slides have appeared on screen.
## Logo detection from uploaded PPTX
Swoop now identifies logos from uploaded PPTX files and applies them automatically.
## 120+ fonts with professional pairings
The font library has expanded from 8 to over 120 Google Fonts, with curated typography pairings per style preset, correct script support for non-Latin languages, and improved font loading.
## Lazy-loading websites now fetched
Websites that use lazy-loading (including swoop.it) can now be fetched for content when creating a presentation from a URL.
## Composio connection onboarding
When you connect your first Composio integration, you'll now see a contextual banner in chat explaining how to use the new connection.
## Fonts embedded in PPTX export
Exported PPTX files now have fonts embedded directly, so you no longer receive a ZIP file when downloading.
## New UI for questions and suggestions
The in-chat interface for agent questions and suggested next steps has been redesigned.
## Agent questions no longer auto-skip
Fixed a bug where the agent would sometimes dismiss clarification questions without waiting for user input.
## Improved chat editing
Editing your presentation through chat is now significantly more reliable, covering full deck redesigns, individual slide redos, image removal and regeneration, and slide range operations.
## Logo and image detection from uploaded files
Images in uploaded documents are now analyzed for type and content. Detected logos are automatically applied as the presentation logo (PDF uploads).
## New outline UI
The presentation outline now has an updated interface in chat.
## Present mode
You can now present directly from the Swoop editor. Choose between presenting in a browser tab, fullscreen, or with your webcam overlay — use arrow keys to navigate and Esc to return to the editor.
## Expanded icon library
Icons now draw from a library of over 10,000 visually consistent options, with smarter search, better matching, and improved contrast on both light and dark backgrounds.
## Web research in agent
The Swoop agent can now proactively search the web for up-to-date information and shows sources inline when it does.
## Image replacement in Freeform
You can now replace images in Freeform projects by uploading your own or generating a new one.
## Start new project improvements
All "start new" entry points now open the Create slides tab directly. A new + button is also available in the collapsed sidebar.
## Auto style preset selection
The agent now automatically picks the most suitable visual style preset based on your prompt.
## Logos extracted from brand URLs
When you start from a brand URL, Swoop extracts the favicon and applies it as the presentation logo. Used logos are also saved to your brand library.
## New chart types
Create charts with new built-in chart options.
## More standard URL pasting
When you paste a URL for content fetching, the full URL stays visible in your prompt text (instead of being hidden behind a chip).
## Smarter layouts and readability across styles
Improved layout decisions for data-heavy slides, and better style-specific text readability including when using your own background images.
## Paste images from clipboard
You can now paste images directly from your clipboard into the chat input, making it easy to add screenshots and other images as context.
## Create from URL with assets in Freeform
Freeform can now create presentations from a URL and pull in assets directly from the source website.
## Download an individual slide as PNG
Export any single slide as a high-quality PNG from the slide menu (Download slide → PNG image).
## Fewer repeated clarification prompts
Fixed an issue where chat could ask for clarification multiple times.
## Faster agent edits
Editing actions like redesigning the first slide, replacing the first slide image, and fixing typos are now faster.
## Better performance in large decks
Chat feels more responsive when working with presentations that have many slides.
## Editable tables
Tables now render properly and can be edited.
## Style picker in chat
Choose a visual style directly in the prompt, with the selected style pinned inline and a one-click option to clear it. Styles are now organized into tabs (All, Editorial, Illustrative, Expressive).
## Connect any Composio integration
In the Connectors modal, you can now search for any Composio integration and connect it.
## Connector chip in chat
When Composio shares a link to connect another integration, you’ll now see a Connector chip in chat to quickly connect or disconnect.
## A new slide generation system
Presentations now start with more polished, visually original first drafts, with stronger art direction, better layout variety, and more consistent design across the deck.
## Home tab on the dashboard
New creators get a clear entry point for Swoop’s main workflows, and returning creators can quickly pick up from their most recent projects.
## Smarter image generation by default
Swoop now uses an improved default image model with better text, layout, and composition awareness, plus stronger contrast and text-region positioning controls.
## Documentation is now easier to find
Access [docs.swoop.it](http://docs.swoop.it) directly from the User Menu, including quick links to the MCP Server Guide and the Swoop Changelog.
## Smarter pre-generation questions
Swoop now asks the right questions more reliably before generating a presentation.
## Help and support is now available
You can now access in-product help and support directly in Swoop.
## Improve PowerPoint presentations (up to 200 slides)
Import an existing deck, quickly modernize the design, and retarget it for a new audience.
## Slides timeline panel
Reorder slides by dragging, click to navigate, and quickly duplicate or delete slides from a new timeline panel.
## Swoop documentation is live
Visit [docs.swoop.it](http://docs.swoop.it) for the latest product documentation.
## Less derailment in chat
Swoop now stays on task more reliably and will steer off-topic questions back toward creating a presentation.
## Send projects via Gmail (if connected)
If you have Gmail connected, you can send your presentation to an email address directly from chat (PPTX by default, or specify PDF).
## Fixed black thumbnails in freeform projects
New and recently edited projects now show the correct thumbnails on the dashboard.
## Auto-generate slides after the outline
Slides now start generating automatically right after the outline, so you no longer need to click the Generate button.
## 36 new website languages
The Swoop website and onboarding journey are now available in 36 languages.
## Image attachments in chat
Attachments are now more reliable and easier to use, with redesigned attachment chips, drag and drop support, and image attachments that Swoop can use when creating or editing slides.
## Brand extraction in themes
In the theme panel, you can now upload a brand guide file (image, PDF, or PPT) or paste a URL, and Swoop will detect and apply branding to your slides.
## Upload to OneDrive and Box
You can now upload presentations directly to your connected OneDrive and Box accounts.
## Better image edits via chat
Making changes to images in chat is more reliable (for example adjusting colors, flipping or rotating, scaling, and small content tweaks).
## Use URLs and web search
Paste a URL for Swoop to pull in content, and use web search to find information online.
## More upload file types
You can now upload more file types, including XLSX, CSV, TXT, JSON, and HTML.
## Connectors button in chat
A new connectors button in the conversation input opens the connectors modal.
## More languages
Swoop is now available in 8 languages.
## Undo/redo in the toolbar
You can now use undo and redo directly from the editor toolbar.
## More file types supported for “Start from file”
PPTX and DOCX files are now accepted.
## Theme customizer (early branding controls)
A new theme customizer makes it easier to add brand styling to your presentation.
## Notification sound and favicon animation
When Swoop finishes a task in the background, you’ll hear a subtle sound and see a pulsing green dot on the favicon.
## Project export via chat
If you ask for your presentation in chat, Swoop will automatically start downloading it (PPTX by default, or PDF if you request it).
## All Projects “Start new” shortcuts
New shortcut buttons make it easier to create a new project from the All Projects view, including when you have no projects yet.
## Smarter slide layouts and images
Improved layout selection to keep slides more content-focused, plus better image generation when a slide contains multiple images.
## Responsive “Start from file” button
The “Start from file” label now hides on narrow layouts to improve responsiveness.
## Sidebar workflow improvements
“Start new” is now a Home item, the sidebar remembers your collapsed state, and Home and All Projects stay accessible when the sidebar is collapsed.
## Improved stop experience in chat
The stopped banner is now dismissible, no longer covers message history, and better restores your latest input (including suggested next steps and Try again).
## More realistic images
Improved image realism and grounding, reduced forced abstraction, and stronger “no text in images” behavior.
## PPTX is now the default download option
The default download format is now PPTX instead of PDF.
## PDF import
You can now import PDFs into Swoop.
## Single send/stop button
The conversation input now uses one action button that toggles between Send and Stop.
## Outline in chat
The outline is now shown in chat, so you won’t see the right panel opening when creating an outline.
## Outline locking
After slides are generated, the outline is hidden and no longer editable.
## More integrations
16 more integrations are now supported for creating Swoop presentations, including Slack, Dropbox, LinkedIn, YouTube, and Salesforce.
## Integration files
You can now create Swoop presentations from integration files. Google Drive, Google Sheets, Google Slides, Notion, and Figma are supported, with more on the way.
## Theme picker
You can pick a theme before generating slides.
## Icon replacement
You can now replace an icon in the editor (select an icon → Replace → search → done).
## Duplicate projects
You can now duplicate projects (useful for trying variations, languages, etc.).
## Chat input improvements
The chat input auto-expands as you type (up to a limit), and the Integrations banner no longer breaks on mobile.
## Slide edit versioning (via chat)
Slide edits are now versioned through chat. Edits via chat and the UI are unified.
## French Localization
Swoop Home is now available in French.
## Progressive Slide Generation
You no longer need to wait for slides to be fully constructed; generation now falls into place dynamically.
## Agent Controls
Stopping the agent mid-generation is now possible! Your latest message is saved in the input so you can continue where you left off.
## Bug Fixes
Resolved issues causing slide duplication and empty slides.
## Camera Controls
Added an option to go fullscreen with the camera, which is now resizable and can be moved around.
## Invite Friends
The "Invite Friend" button on the projects page has been updated with an improved copying experience.
## Chat Experience
Added a delightful chat loading animation.
## UI Update
The View page now includes the project's title in the page title.
## RTL Support
Minor improvements for Right-To-Left projects, including proper thumbnail rendering and fixed cover image gradients.
## Swoop is Live!
The product is now publicly accessible.
## Google OAuth
A faster and easier way to sign up and sign in is now available.
## Image Replacement
You can now replace an AI image with your own uploaded image.
## Personalization
Personal details like name, email, and date are now inserted automatically.
## Themes
Themes have new names that align better with Swoop's confident and creative style.
## UI Update
The Dashboard received a small design update.
## User Profiles
A new user profile menu is available to edit profile details.
## Bug Fix
Fixed an issue with flicking messages in the chat interface.
# Swoop documentation
Source: https://docs.swoop.it/index
Create presentations with the Swoop AI agent
Swoop is an AI presentation agent built by Prezi.\
Describe your idea, and Swoop explores, develops, and designs a polished deck for you.
Connect your favorite AI clients via the Model Context Protocol (MCP) and pull in content from Google Drive, Notion, GitHub, and 850+ other app integrations as context for your presentations.
## Get started
Use Swoop from Claude or any MCP client.
Fetch data, save content, and perform actions across 850+ app integrations.
# Connecting app integrations
Source: https://docs.swoop.it/integrations/connecting
Connect and manage app integrations in Swoop
Swoop uses OAuth to securely connect to your app integrations. You authorize access once, and Swoop can then fetch content from that app integration whenever you need it.
## Connect a new app integration
In the Swoop dashboard, open a chat and click the **app integrations** icon, or go to your account settings and select **App integrations**. (Or alternatively navigate to the [app integrations panel](https://swoop.it/dashboard?modal=integrations) directly)
Browse the list of available app integrations and click **Connect** on the one you want to add.
You are redirected to the service's OAuth sign-in page (e.g., Google, GitHub, Notion). Sign in and grant Swoop the requested permissions.
After authorization, you are redirected back to the Swoop dashboard. The app integration now shows as **Connected**.
You can also connect an app integration mid-conversation. If Swoop needs access to an app integration you haven't connected yet, it will prompt you with a connection request directly in the chat.
## Manage existing connections
To view or remove your connected app integrations:
1. Navigate to the [app integrations panel](https://swoop.it/dashboard?modal=integrations) in Swoop
2. Find your connected app integration in the "Connected" section
3. Click the three-dot menu (⋮) next to the app integration and select **Disconnect**
Disconnecting an app integration does not delete any presentations that were created using its content. It only prevents Swoop from fetching new content from that app integration.
## Re-authentication
If a connection expires or is revoked on the provider side, Swoop will prompt you to reconnect. Click the connection request in chat or reconnect from the app integrations panel.
Composio does not automatically refresh expired tokens. If you see authentication errors for a previously connected app integration, disconnect and reconnect it.
# Integrations
Source: https://docs.swoop.it/integrations/overview
Connect app integrations to fetch data, save content, and perform actions
Swoop integrates with 850+ app integrations through [Composio](https://composio.dev), giving the AI agent the ability to fetch data, save content, and perform actions across your connected tools — all while building your presentations.
## What app integrations can do
Pull files, documents, and information from connected app integrations to use as context for your presentations. For example, fetch a file from Google Drive, a page from Notion, or a spreadsheet from Google Sheets.
Push finished content back to your connected app integrations. For example, save a presentation to Google Drive, export a file to Dropbox, or upload to OneDrive.
Trigger actions through connected app integrations. For example, send an email via Gmail, post a message to Slack, or create an event in Google Calendar.
## Popular app integrations
## Discover more app integrations
Beyond the popular app integrations listed above, Swoop supports **850+ app integrations** through Composio. You can discover and connect any of them:
* **Search in the app** — Open the [App integrations menu](https://swoop.it/dashboard?modal=integrations) in Swoop and type at least 3 characters to search across all available app integrations
* **Ask in chat** — Type something like "Please connect to \[service name]" in the chat and Swoop will start the connection flow without leaving your conversation
## How it works
1. **Connect an app integration** — Authorize Swoop to access your account through a secure OAuth flow
2. **Reference your content** — When chatting with Swoop, mention a document URL or ask it to search a connected app integration
3. **Swoop fetches the data** — The agent reads the relevant content and uses it as context for your presentation
4. **Export back** — Optionally export the finished presentation to Google Drive, Dropbox, Box, or OneDrive
Content fetched from app integrations is truncated at 50,000 characters to ensure optimal performance.
## Next steps
Learn how to connect and manage your app integrations.
See how to reference connected content in your prompts.
# Using app integrations
Source: https://docs.swoop.it/integrations/usage
Reference connected app integrations and documents in your Swoop prompts
Once you have [connected an app integration](/integrations/connecting), you can reference its content directly in your conversations with Swoop.
## Fetching content
There are two ways to pull content from a connected app integration:
### Share a URL
Paste a document URL directly into your prompt. Swoop detects the app integration and fetches the content automatically.
**Example prompts:**
* "Create a presentation based on this doc: [https://docs.google.com/document/d/abc123](https://docs.google.com/document/d/abc123)"
* "Turn this Notion page into a slide deck: [https://notion.so/my-page-xyz](https://notion.so/my-page-xyz)"
* "Use the data from this spreadsheet: [https://docs.google.com/spreadsheets/d/abc123](https://docs.google.com/spreadsheets/d/abc123)"
### Ask Swoop to search
If you don't have a specific URL, ask Swoop to search a connected app integration.
**Example prompts:**
* "Search my Google Drive for the Q1 report and use it for a presentation"
* "Find my recent Notion pages about product roadmap"
* "Look through my Gmail for the latest investor update email"
## Bulk document import
You can reference multiple documents (up to 10) in a single request. Swoop fetches all of them and combines the content into a presentation outline.
**Example:**
* "Create a presentation using these three documents: \[URL1], \[URL2], \[URL3]"
## Exporting presentations
After creating a presentation, you can export it back to a connected cloud storage app integration.
**Supported export destinations:**
* Google Drive
* Dropbox
* Box
* OneDrive
**Example prompts:**
* "Export this presentation to my Google Drive"
* "Save the deck as a PPTX to Dropbox"
## Limitations
Fetched content is truncated at 50,000 characters. For very large documents, consider splitting them or pointing Swoop to the most relevant sections.
Spreadsheet reads are bounded to the range A1:ZZ50000. Data beyond this range is not included.
Figma fetches the full file JSON, which can be slow for large design files. Text content is extracted recursively from the document tree.
Large Notion databases are not fully paginated. For best results, link to specific pages rather than entire databases.
# Authentication
Source: https://docs.swoop.it/mcp/authentication
Authenticate with the Swoop MCP server using OAuth or API keys
The Swoop MCP server supports two authentication methods. All requests must include a valid Bearer token in the `Authorization` header:
```
Authorization: Bearer
```
Choose the authentication method that fits your workflow.
Swoop supports OAuth 2.0 with the authorization code flow. Most of this is handled automatically by the MCP client — you only need to sign in and approve the consent screen.
**Best for:** Interactive use from desktop AI clients like Claude Desktop.
## How it works
1. Your MCP client discovers the authorization server via `/.well-known/oauth-protected-resource`
2. A browser window opens for you to sign in with your Swoop account
3. You review and approve the requested permissions on a consent screen
4. The client receives an access token and includes it automatically with each request
## OAuth discovery
The Swoop MCP server implements [RFC 9728 (OAuth Protected Resource Metadata)](https://datatracker.ietf.org/doc/html/rfc9728) for OAuth discovery. Clients can retrieve the OAuth configuration metadata at:
```
GET /.well-known/oauth-protected-resource
```
This returns the resource metadata including the authorization server URL and required scopes (`profile`, `email`). Clients use this information to locate the authorization server and initiate the OAuth flow.
The authorization server metadata is available at:
```
GET /.well-known/oauth-authorization-server
```
This endpoint returns the full authorization server configuration, including the authorization endpoint, token endpoint, and supported grant types.
## Dynamic Client Registration
The authorization server supports [Dynamic Client Registration (DCR)](https://datatracker.ietf.org/doc/html/rfc7591). Clients can discover the registration endpoint URL from the authorization server's metadata (obtained via the OAuth Protected Resource metadata endpoint) and register automatically without manual configuration.
## Authentication errors
When authentication fails, the server returns a `401 Unauthorized` response with a `WWW-Authenticate` header similar to:
```
WWW-Authenticate: Bearer error="invalid_token", error_description="No authorization provided", resource_metadata="https://swoop.it/.well-known/oauth-protected-resource"
```
Clients should use this URI to discover the authorization server and initiate the OAuth flow.
API keys are long-lived tokens that don't require a browser-based login. They are prefixed with `ak_`.
**Best for:** Automated workflows, CI/CD pipelines, or environments where the OAuth browser flow is not practical.
Go to [swoop.it](https://swoop.it) and sign in.
Navigate to your user profile and create a new API key. Copy the key immediately — it won't be shown again.
Configure your MCP client to send the API key as a Bearer token:
```
Authorization: Bearer ak_your_api_key_here
```
Treat API keys as secrets. Do not commit them to version control or share them publicly. If a key is compromised, revoke it immediately from the Swoop dashboard.
# ChatGPT
Source: https://docs.swoop.it/mcp/chatgpt
Add the Swoop app to ChatGPT and create presentations from your conversations
Swoop is available as a [ChatGPT app](https://chatgpt.com/apps/swoop/asdk_app_69cbd604693c81918680b5f4c0ec3b63). Once enabled, you can ask ChatGPT to create and edit real, viewable Swoop decks without leaving the conversation — and an interactive Swoop widget renders inline as your deck is generated.
Unlike a generic MCP connector, the Swoop ChatGPT app is a published, OAuth-secured integration. You enable it from the ChatGPT apps directory — no URLs or config files to manage.
## Prerequisites
* A Swoop account at [swoop.it](https://swoop.it)
* A ChatGPT account with apps enabled (apps are rolling out across plans and regions; availability varies)
## Enable the Swoop app
The flow is the same across clients: open the apps directory, enable Swoop, and authenticate with your Swoop account. Platform-specific entry points are below.
Go to the [Swoop app in the ChatGPT directory](https://chatgpt.com/apps/swoop/asdk_app_69cbd604693c81918680b5f4c0ec3b63), or in ChatGPT expand the left-side menu → Apps and search for **Swoop**.
Click **Connect** (or **Enable**) on the Swoop listing.
A window opens to sign in with your Swoop account. After signing in and approving access, the app is connected.
Start a new chat. Open the **+** (apps) menu in the composer — **Swoop** should appear in the list of available apps.
The ChatGPT desktop app (macOS / Windows) uses the same directory as the web client.
In the ChatGPT desktop app, open **Settings**, then **Apps**, then **Browse apps** and search for **Swoop**. You can also open the [directory listing](https://chatgpt.com/apps/swoop/asdk_app_69cbd604693c81918680b5f4c0ec3b63) in your browser.
Click **Connect** on the Swoop listing.
Sign in with your Swoop account and approve access when prompted.
Open a new chat and check the **+** (apps) menu for **Swoop**.
In the ChatGPT Android app, tap your profile, open **Apps**, then **Browse apps** and search for **Swoop**.
Tap **Connect** on the Swoop listing.
Sign in with your Swoop account and approve access.
Open a new chat and tap the **+** menu in the composer — **Swoop** should be listed.
App support on mobile clients is still rolling out. If you don't see **Apps** or the Swoop app, update to the latest version of the ChatGPT app, or enable Swoop on web first — connected apps follow your account.
In the ChatGPT iOS app, expand the left-side menu (top-left corner of the screen), open **Apps** (If you don't see it, you might need to click **More** first to expand the options), and search for **Swoop**.
Tap **Connect** on the Swoop listing.
Sign in with your Swoop account and approve access.
Open a new chat and tap the **+** menu in the composer — **Swoop** should be listed.
App support on mobile clients is still rolling out. If you don't see **Apps** or the Swoop app, update to the latest version of the ChatGPT app, or enable Swoop on web first — connected apps follow your account.
## How Swoop works in ChatGPT
The ChatGPT integration behaves differently from a plain MCP client in a few important ways. Knowing them explains what you'll see during a conversation.
### ChatGPT gathers details before building
Swoop runs **non-interactive** in ChatGPT — there is no in-deck clarification step. So before creating a deck, ChatGPT collects the details Swoop needs directly in chat: your target **audience**, **deck length**, **purpose**, and **time available** to present. If you don't supply these up front, ChatGPT will ask. Provide them in your first message to skip the back-and-forth.
### The Swoop widget renders inline
When you create or edit a deck, ChatGPT shows an interactive **Swoop widget** (an embedded iframe) inside the conversation. It displays slide thumbnails as they render and links through to the full deck in the Swoop dashboard.
### Generation continues in the background
Presentation generation takes longer than a normal chat reply. The `create_presentation` and `edit_presentation` tools return early — within roughly 20 seconds — while the deck keeps rendering in the background. When a response is still in progress (`isInProgress` is true), ChatGPT relays the `dashboardLink` instead of describing slides it hasn't seen yet. Open that link to watch live progress and view the finished deck.
## Usage
Once the app is enabled, ask ChatGPT to use Swoop naturally:
* "@Swoop create a presentation about our Q1 sales results."
* "Make a 10-slide pitch deck for Series A investors about our product. Use @Swoop"
* "Edit my @Swoop deck — refocus the intro on enterprise IT buyers."
* "Show me my recent @Swoop presentations."
It's important to use `@Swoop` to mention the app for ChatGPT to consistently route requests to Swoop.
ChatGPT reuses the deck's `threadId` automatically within a conversation, so follow-up edits build on the same presentation. To act on an older deck, ask ChatGPT to search your presentations first.
## Available tools
The Swoop ChatGPT app exposes five tools. ChatGPT routes your request to the right one by intent — you don't call them directly.
### `create_presentation`
Creates a new, viewable, exportable Swoop deck from a natural-language description.
| Property | Value | Description |
| ----------- | ----- | -------------------------------------------- |
| Read-only | No | Creates a new presentation |
| Destructive | No | Always produces a new deck on a fresh thread |
| Idempotent | No | Each call creates a new presentation |
Natural-language description of the deck — topic, framing, and content angles. Example: "10-slide pitch deck about our Q4 product launch for enterprise IT buyers; emphasize security and integrations."
Target audience for the deck (e.g. "Series A investors", "internal engineering team"). ChatGPT asks for this in chat if you don't specify it.
Number of slides to generate (1–30). Typical: 5–8 for an overview, 10–15 for a pitch, 20+ for a workshop. ChatGPT asks if unspecified.
What the deck is for: pitch, investor update, lesson, internal report, workshop, sales proposal, etc. ChatGPT asks if unspecified.
Tone of voice: formal, casual, confident, educational, playful, etc. Optional — defaults to neutral-professional.
How long you have to present (e.g. "5 minutes", "self-paced"). Used to right-size slide density. Optional.
### `edit_presentation`
Modifies a deck created earlier in the conversation — adding slides, rewording, redesigning, or refocusing on a different audience or angle.
| Property | Value | Description |
| ----------- | ----- | ------------------------------------------------------------------------- |
| Read-only | No | Modifies an existing presentation |
| Destructive | Yes | Edits overwrite existing slides, though previous versions can be reverted |
| Idempotent | No | Each call applies additional changes |
Natural-language description of the edit. Be specific. Example: "Replace the third slide with a customer testimonial quoting Acme Corp; keep the rest of the deck unchanged."
Thread identifier returned by `create_presentation` or a previous `edit_presentation` call. Identifies the deck to edit.
Optionally retarget the deck's audience. Same context fields as `create_presentation` (`slideCount`, `purpose`, `tone`, `timeAvailable`) are also accepted.
### `search_presentations`
Finds the current user's Swoop presentations by title, or lists the most recently modified decks. Each result includes a `threadId` to pass to `edit_presentation`, `share_presentation`, or `get_presentation`.
| Property | Value | Description |
| ----------- | ----- | ------------------------------------------ |
| Read-only | Yes | Only reads existing presentations |
| Destructive | No | — |
| Idempotent | Yes | Returns current results for the same query |
Partial or full title to search for (case-insensitive). Omit to list your 10 most recently modified presentations ("show me my decks").
Maximum number of results to return. Defaults to 10; values above 50 are clamped to 50.
### `share_presentation`
Generates a public, no-auth share link for the latest presentation on a thread.
| Property | Value | Description |
| ----------- | ----- | ----------------------------------------------- |
| Read-only | No | Creates a public view link if one doesn't exist |
| Destructive | No | Does not modify deck content |
| Idempotent | Yes | Returns the same share link on repeat calls |
Thread identifier from `create_presentation`, `edit_presentation`, or `search_presentations`.
The response includes a `shareLink` (public URL — anyone with it can view the deck), a `dashboardLink`, the `threadId`, and the deck `title`.
### `get_presentation`
Reads a lightweight, read-only summary of the latest presentation on a thread — per-slide titles, short text snippets, and an image flag. ChatGPT uses this to ground edits in the deck's current content.
| Property | Value | Description |
| ----------- | ----- | ----------------------------------- |
| Read-only | Yes | Direct read; does not run the agent |
| Destructive | No | — |
| Idempotent | Yes | Reflects current deck state |
Thread identifier from `create_presentation`, `edit_presentation`, or `search_presentations`.
The response includes `title`, `slideCount`, and a `slides` array (`slideNumber`, `title`, `textSummary`, `hasImage`, `thumbnailUrl`). The `isInProgress` flag is true while the deck is still generating — clients poll until it turns false.
## Common output fields
`create_presentation` and `edit_presentation` return a structured response:
| Field | Type | Description |
| --------------- | ------------------ | ---------------------------------------------------------------------------- |
| `response` | string | The agent's text response |
| `threadId` | string | Reuse in follow-up requests for conversation continuity |
| `projectId` | string (optional) | The active presentation project ID |
| `title` | string (optional) | The presentation title |
| `thumbnailUrl` | string (optional) | Cover thumbnail (first slide); may 404 until rendered |
| `slides` | array (optional) | Per-slide thumbnail URLs for progressive rendering in the widget |
| `dashboardLink` | string (optional) | URL to view or edit the deck in the Swoop dashboard — always surfaced to you |
| `toolResults` | array (optional) | Results from internal tools executed during the request |
| `isInProgress` | boolean (optional) | True when the deck is still rendering in the background |
# Claude
Source: https://docs.swoop.it/mcp/claude
Connect Claude to Swoop via MCP — Desktop, web, and mobile
Connect Claude to the Swoop MCP server and create presentations directly from your conversations. Setup differs depending on which Claude client you use.
## Prerequisites
* A Swoop account at [swoop.it](https://swoop.it)
* Claude Desktop installed, or a Claude Pro/Max/Team account at [claude.ai](https://claude.ai)
## Desktop setup
Open the Claude Desktop configuration file:
```
~/Library/Application\ Support/Claude/claude_desktop_config.json
```
```
%APPDATA%\Claude\claude_desktop_config.json
```
Create the file if it doesn't exist.
Add the following configuration:
```json theme={null}
{
"mcpServers": {
"swoop": {
"command": "npx",
"args": [
"mcp-remote@latest",
"https://swoop.it/api/mcp"
]
}
}
}
```
This uses `mcp-remote` to connect to the Swoop server with automatic OAuth authentication.
Close and reopen Claude Desktop for the configuration to take effect.
On first use, a browser window opens for you to sign in with your Swoop account. After signing in, the connection is established automatically.
Look for the MCP tools icon in Claude Desktop's interface. You should see `ask_swoopAgent` listed as an available tool.
### Using an API key instead of OAuth
If you prefer API key authentication, use the `--header` flag with `mcp-remote`:
```json theme={null}
{
"mcpServers": {
"swoop": {
"command": "npx",
"args": [
"mcp-remote@latest",
"https://swoop.it/api/mcp",
"--header",
"Authorization:Bearer ak_your_api_key_here"
]
}
}
}
```
See [Authentication](/mcp/authentication) for details on creating API keys.
## Web and mobile setup
Go to [claude.ai](https://claude.ai), click your profile icon, and select **Settings**.
In the settings sidebar, select **Connectors** (or **MCP Servers** depending on your plan).
Click **Add custom connector** and enter the Swoop MCP server URL:
Follow the OAuth prompt to sign in with your Swoop account. Once authenticated, the integration is active.
Start a new conversation. You should see Swoop listed as an available integration. The `ask_swoopAgent` tool will be available to Claude.
### Using an API key instead of OAuth
If your organization requires API key authentication, you can configure the integration with a Bearer token. See [Authentication](/mcp/authentication) for details on creating API keys.
## Usage
Once connected, ask Claude to create presentations naturally:
* "Use Swoop to create a presentation about quarterly sales results"
* "Make a 10-slide deck explaining our product roadmap with Swoop"
Claude maintains the conversation thread automatically. Follow-up messages in the same conversation build on previous Swoop interactions, so you can iteratively refine your presentation.
# Error Handling
Source: https://docs.swoop.it/mcp/error-handling
Understand error responses and common error scenarios from the Swoop MCP server
## Error format
All tool errors are returned in a consistent MCP format:
```json theme={null}
{
"content": [
{
"type": "text",
"text": "Error message describing what went wrong"
}
],
"isError": true
}
```
The `isError: true` flag signals to your MCP client that the tool call did not complete successfully. The `text` field contains a human-readable description of the error.
## Common error scenarios
The request does not include a valid Bearer token, or the token has expired or been revoked.
The server returns a `401` response with a `WWW-Authenticate` header similar to:
```
WWW-Authenticate: Bearer error="invalid_token", error_description="No authorization provided", resource_metadata="https://swoop.it/.well-known/oauth-protected-resource"
```
**Resolution:**
* Verify your `Authorization` header format: `Bearer `
* For API keys, ensure the key starts with `ak_` and has not been revoked
* For OAuth, re-authenticate by completing the OAuth flow again
* Use the `resource_metadata` URI to discover the authorization server and obtain a new token
The request was sent to an incorrect URL.
**Resolution:**
* Verify you are using the correct URL: `https://swoop.it/api/mcp`
* Ensure there are no trailing slashes or extra path segments
Presentation generation can take 30–60 seconds. If the connection closes before the operation completes, the tool call will fail.
**Resolution:**
* Ensure your MCP client supports long-running operations (at least 120 seconds)
* Check that any proxy or load balancer between you and the server has a timeout of at least 120 seconds
* The server sends heartbeat notifications every 10 seconds — ensure your transport layer processes these to keep the connection alive
* Try a simpler prompt to verify connectivity
The Swoop MCP server allows cross-origin requests from all origins (`Access-Control-Allow-Origin: *`).
**Resolution:**
* Ensure you are using the correct endpoint URL
* Check that browser extensions are not modifying request headers
* Try in a private/incognito browser window
Unable to establish a connection to the server.
**Resolution:**
* Check that your network allows outbound HTTPS connections
* If behind a corporate firewall or VPN, ensure `swoop.it` is not blocked
* Test connectivity with a simple `curl` request:
```bash theme={null}
curl -I https://swoop.it/api/mcp
```
# Other clients
Source: https://docs.swoop.it/mcp/other-clients
Connect any MCP-compatible client to Swoop
Any client that supports the [Model Context Protocol](https://modelcontextprotocol.io/) can connect to Swoop. This guide covers the general setup for clients not listed in the dedicated guides.
## Prerequisites
* A Swoop account at [swoop.it](https://swoop.it)
* An MCP-compatible client that supports Streamable HTTP transport
## Endpoint
Point your client to the Swoop MCP server:
## Connection methods
If your client supports Streamable HTTP with OAuth natively:
In your client's MCP configuration, add a new server with the endpoint URL above.
Your client will initiate an OAuth flow. Sign in with your Swoop account and approve the consent screen.
Confirm that `ask_swoopAgent` appears in the list of available tools.
If your client only supports stdio-based MCP servers, use `mcp-remote` as a bridge:
```json theme={null}
{
"mcpServers": {
"swoop": {
"command": "npx",
"args": [
"mcp-remote@latest",
"https://swoop.it/api/mcp"
]
}
}
}
```
This translates the stdio protocol to Streamable HTTP and handles OAuth automatically.
For clients that don't support OAuth, authenticate with an API key by including it as a Bearer token in each request:
```
Authorization: Bearer ak_your_api_key_here
```
With `mcp-remote`, pass the key via the `--header` flag:
```json theme={null}
{
"mcpServers": {
"swoop": {
"command": "npx",
"args": [
"mcp-remote@latest",
"https://swoop.it/api/mcp",
"--header",
"Authorization:Bearer ak_your_api_key_here"
]
}
}
}
```
See [Authentication](/mcp/authentication) for details on creating API keys.
## Tested clients
The following clients have been verified to work with the Swoop MCP server:
| Client | Transport | Auth |
| ---------------------------------- | ---------------------- | ----- |
| [Claude Desktop](/mcp/claude) | stdio via `mcp-remote` | OAuth |
| [Claude Web & Mobile](/mcp/claude) | Streamable HTTP | OAuth |
If your client isn't listed above, it should still work as long as it supports MCP over Streamable HTTP (directly or via `mcp-remote`). If you run into issues, check [Troubleshooting](/mcp/troubleshooting).
# MCP Server
Source: https://docs.swoop.it/mcp/overview
Connect your AI tools to Swoop via the Model Context Protocol
The Swoop MCP server is a [Model Context Protocol](https://modelcontextprotocol.io/) (MCP) implementation that provides AI assistants with programmatic access to Swoop's presentation creation capabilities. Instead of switching to the Swoop dashboard, you can create and manage presentations directly from Claude Desktop or any other MCP-compatible client.
## What is MCP?
The Model Context Protocol is an open standard that allows AI assistants to connect to external tools and data sources through a unified interface. MCP defines how clients discover available tools, authenticate, and exchange structured messages with servers — making it possible for any compatible AI client to use Swoop without custom integration work.
## Architecture
The Swoop MCP server sits between your AI client and the Swoop presentation engine:
```mermaid theme={null}
flowchart LR
A["AI Client
(Claude, etc.)"]
B["MCP Server
/api/mcp"]
C["Swoop Agent"]
D["Presentation
Engine"]
A -- MCP tool call --> B
B -- Authenticate & route --> C
C -- Create, edit, generate --> D
D -- Stream response --> A
```
The server creates a fresh MCP server instance per request, making it fully stateless and compatible with serverless deployment environments.
## Protocol details
The Swoop MCP server implements the following protocol standards:
| Standard | Description |
| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Streamable HTTP** | Primary transport — JSON-RPC 2.0 messages over HTTP with Server-Sent Events (SSE) for streaming responses |
| **JSON-RPC 2.0** | Message format for all client-server communication |
| **OAuth 2.0** | Authentication via authorization code flow with [RFC 9728](https://datatracker.ietf.org/doc/html/rfc9728) (Protected Resource Metadata) and [RFC 7591](https://datatracker.ietf.org/doc/html/rfc7591) (Dynamic Client Registration) |
| **MCP Structured Output** | Tool responses include both text content and machine-readable structured content validated against output schemas |
## Endpoint
The Swoop MCP server is available at:
## Session and thread management
The MCP server is stateless — it does not persist sessions between requests. Conversation continuity is managed through **thread IDs**:
* The first call to the Swoop agent returns a `threadId` in the response
* Pass this `threadId` back in subsequent requests to maintain conversation context
* The Swoop agent uses the thread to recall prior instructions, outlines, and edits
### Progress notifications
Presentation generation can take 30–60 seconds. To keep the connection alive during long-running operations, the server sends **heartbeat notifications** every 10 seconds using the MCP `notifications/progress` message with the client's `progressToken`. These heartbeats prevent proxies and load balancers from closing the connection prematurely.
## How it works
1. **Discovery** — Your AI client connects to the MCP server and discovers available tools via the MCP `tools/list` method
2. **Authentication** — The server authenticates your request via OAuth 2.0 or API key (see [Authentication](/mcp/authentication))
3. **Tool call** — Your client invokes `ask_swoopAgent` with a prompt and optional thread ID (see [Tools](/mcp/tools))
4. **Agent execution** — The Swoop agent processes your request, calling internal tools to create outlines, generate slides, edit content, and more
5. **Streaming response** — Results are streamed back via SSE with structured output including the agent's response, a dashboard link, and detailed tool results
6. **Continuation** — Use the returned `threadId` in follow-up requests to iterate on the same presentation
## Next steps
Set up OAuth or API key access.
Explore available tools, parameters, and response fields.
Connect from Claude Desktop, web, or mobile.
Understand error responses and common scenarios.
Fix common connection issues.
# Available Tools
Source: https://docs.swoop.it/mcp/tools
Detailed reference for the tools exposed by the Swoop MCP server
The Swoop MCP server exposes a single tool that routes requests to the Swoop presentation agent.
## `ask_swoopAgent`
Use this tool to create, edit, or manage presentations. Your prompt is forwarded to the Swoop agent, which coordinates internal tools to fulfill your request.
### Characteristics
| Property | Value | Description |
| ----------- | ----- | ------------------------------------------------------------------------------------------------------- |
| Read-only | No | The tool creates and modifies presentations, outlines, and slides |
| Destructive | Yes | Edits and regenerations overwrite existing slides or outlines, though previous versions can be reverted |
| Idempotent | No | Each call may create new content or apply additional changes, even with the same prompt |
### Input parameters
Your request to Swoop. Describe the presentation you want to create, edit, or manage. Be as specific as possible — include details about topic, number of slides, tone, audience, and any structural preferences.
Thread ID from a previous interaction. Reuse this to continue a conversation and maintain context across multiple requests. The agent uses the thread to recall prior instructions, outlines, and edits.
### Output
The tool returns a structured response with the following fields:
| Field | Type | Description |
| --------------- | ----------------- | -------------------------------------------------------------------- |
| `response` | string | The agent's text response describing what was done |
| `threadId` | string | Thread ID to reuse in follow-up requests for conversation continuity |
| `projectId` | string (optional) | The active presentation project ID |
| `dashboardLink` | string (optional) | URL to view or edit the presentation in the Swoop dashboard |
| `toolResults` | array (optional) | Results from internal tools executed during the request |
### Structured output
The Swoop MCP server supports MCP structured output. Tool responses include both:
* **`content`** — An array of text content blocks containing the JSON-stringified form of the structured data, for human-readable display and backwards compatibility
* **`structuredContent`** — The same payload as a parsed object, validated against the tool's output schema for programmatic access
Clients that support structured output can use `structuredContent` for programmatic access to response fields like `projectId`, `dashboardLink`, and `toolResults` without parsing text.
### Progress notifications
Presentation generation can take 30–60 seconds. When your client provides a `progressToken` in the tool call's `_meta` field, the server sends periodic `notifications/progress` messages every 10 seconds. These heartbeats keep the connection alive and signal that the operation is still in progress.
If you are building a custom MCP client, ensure your transport layer can handle long-lived connections (at least 120 seconds) and process incoming SSE notifications during tool execution.
## Example workflow
A typical interaction follows this pattern:
Call `ask_swoopAgent` with a descriptive prompt:
```json theme={null}
{
"prompt": "Create a 10-slide presentation about Q1 sales results with a professional tone"
}
```
The response includes a `dashboardLink` to preview the presentation and a `threadId` for follow-up requests.
Use the same `threadId` to refine the presentation:
```json theme={null}
{
"prompt": "Add a slide comparing Q1 vs Q4 results and make the conclusion more impactful",
"threadId": "thread_abc123"
}
```
# Troubleshooting
Source: https://docs.swoop.it/mcp/troubleshooting
Resolve common MCP connection issues
## Common issues
Verify you are using the correct endpoint URL:
Check that your network allows outbound HTTPS connections. If you are behind a corporate firewall or VPN, ensure `swoop.it` is not blocked.
The OAuth sign-in opens a browser window. If the flow doesn't complete:
* Check that your browser is not blocking pop-ups for the sign-in page
* Try clearing cookies for `swoop.it` and signing in again
* Ensure `mcp-remote` is up to date: `npx mcp-remote@latest`
* If the browser window doesn't open, try copying the URL from the terminal and opening it manually
If your API key is not accepted:
* Verify the key starts with `ak_`
* Check the key has not been revoked in the Swoop dashboard
* Ensure the `Authorization` header format is correct: `Bearer ak_your_key_here`
* Create a new key if the issue persists
Presentation generation can take 30-60 seconds. The server sends progress heartbeats every 10 seconds to keep the connection alive. If you still experience timeouts:
* Ensure your MCP client supports long-running operations
* Check that any proxy or load balancer between you and the server has a timeout of at least 120 seconds
* Try a simpler prompt to verify connectivity
The Swoop MCP server allows cross-origin requests from all origins. If you see CORS errors:
* Ensure you are using the correct endpoint URL
* Check that your browser extensions are not modifying request headers
* Try in a private/incognito browser window
## Testing with MCP Inspector
Use the MCP Inspector to debug connection and authentication issues:
```bash theme={null}
npx @modelcontextprotocol/inspector
```
In the browser UI:
* Set **Transport type** to **Streamable HTTP**
* Set **URL** to `https://swoop.it/api/mcp`
Complete the OAuth flow when prompted, then browse available tools and test `ask_swoopAgent` with a sample prompt.