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
- A ChatGPT account with apps enabled (apps are rolling out across plans and regions; availability varies)
Enable the Swoop app
- Web
- Desktop
- Android
- iOS
Open the Swoop app listing
Go to the Swoop app in the ChatGPT directory, or in ChatGPT expand the left-side menu → Apps and search for Swoop.
Authenticate
A window opens to sign in with your Swoop account. After signing in and approving access, the app is connected.
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. Thecreate_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.”
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.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.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 |