# Best practices Source: https://docs.rocket.new/build/best-practices Prompt patterns, iteration strategies, and complexity management techniques for Rocket.new Build. This page is your reference for getting the most out of Build tasks. These patterns consistently produce better results: faster generation, cleaner code, fewer bugs, and apps that match your vision. ## Structuring prompts for complex apps The quality of your prompt directly determines the quality of the initial generation. A well-structured prompt saves rounds of iteration. Start by explaining what the app does and who it is for. This context shapes every decision Rocket makes about architecture, UI patterns, and component choice. **Good:** ```plaintext wrap theme={null} Build a project management tool for small marketing teams. They need to track campaigns, assign tasks to team members, and see progress at a glance. ``` **Less effective:** ```plaintext wrap theme={null} Build an app with a kanban board, user list, calendar, settings page, and charts. ``` The first prompt gives Rocket context to make intelligent design decisions. The second is just a list of features with no guiding purpose. Include three to five key features in your initial prompt. This is the sweet spot - enough detail to generate something useful, not so much that the app becomes unwieldy. After the initial build, add complexity through chat one feature at a time. This incremental approach produces cleaner, more reliable results than front-loading every feature. If you have strong visual preferences, state them separately from the feature list: ```plaintext wrap theme={null} WHAT TO BUILD: A client portal where users can view invoices, download receipts, and manage their subscription. HOW IT SHOULD LOOK: Clean and professional. White background, navy text, subtle gray borders. Use a sidebar navigation. Inspired by Stripe's dashboard. ``` This separation lets Rocket optimize each dimension independently. Instead of relying on Rocket to infer what screens you need, list them: ```plaintext wrap theme={null} Screens: Dashboard, Project List, Project Detail, Task Board, Team Members, Settings, Profile. ``` This ensures nothing important is missing and gives you control over the initial scope. Providing realistic example data makes the generated app much more useful for evaluation: ```plaintext wrap theme={null} Example data: Show 3 projects ("Q2 Brand Campaign", "Website Redesign", "Product Launch"). Each has 5-8 tasks with different statuses. Team members are "Sarah K.", "James L.", and "Priya M." ``` Without example data, Rocket uses generic placeholder text that makes it harder to evaluate the design. ## Iteration patterns Building a great app is an iterative process. These patterns help you iterate efficiently. After the initial generation, add complexity one feature per message: 1. "Add user authentication with email/password sign up and sign in" 2. "Add a settings page where users can update their profile and change their password" 3. "Connect Supabase and store task data in a tasks table" Each step builds on the last, and you can verify each addition before moving on. This is more reliable than asking for everything at once. If the initial generation missed the mark significantly, it is often faster to start a new task with a better prompt than to iterate the existing one into shape. Signs you should start over: * The app type or framework is wrong * The overall architecture does not match your needs * More than half the screens need major changes * The visual direction is completely off Copy what worked from the first attempt into your improved prompt. For apps where design matters (landing pages, consumer apps, portfolios), focus on getting the visual design right before adding functionality: 1. Generate the initial app 2. Use Visual edit and chat to perfect the layout, colors, and typography 3. Then add interactive features, data connections, and business logic This prevents logic changes from breaking visual progress. For internal tools, dashboards, and data-heavy apps, the opposite approach works better: 1. Generate the initial app 2. Add all features, data connections, and business logic 3. Then polish the visual design This prevents design polish from being wasted when feature changes restructure the layout. ## Managing complexity in large apps As apps grow, complexity becomes the main obstacle. These strategies keep large projects manageable. Break your app into logical phases and complete each phase before starting the next: **Phase 1: Core** - The essential screens and navigation. Your app should be usable (if basic) at the end of this phase. **Phase 2: Features** - Authentication, data persistence, connectors. The app becomes feature-complete. **Phase 3: Polish** - Responsive design, error handling, loading states, animations. The app becomes professional. **Phase 4: Optimization** - Performance, SEO, accessibility. The app becomes production-ready. Apps with more than 15-20 screens in a single task can become difficult to manage. If your app is larger: * Generate core screens in the initial task * Add additional screens through chat one at a time * Consider splitting into multiple tasks if sections are independent Rocket handles large apps well, but your ability to review and iterate effectively decreases as the screen count grows. When referring to specific elements during iteration, use precise names: * **Good:** "On the Dashboard page, move the revenue chart above the recent activity list" * **Too vague:** "Move the chart to the top" As your app grows, ambiguous references can cause Rocket to modify the wrong element. Check the preview after each feature addition or layout change. Catching issues immediately is much faster than discovering them later when the cause is unclear. See [Testing strategies](#testing-strategies) below for the full workflow. ## Working with generated code Understanding the generated code gives you more control over your app. When chat and Visual edit cannot achieve exactly what you want, open [Code](/build/editor/code) and edit the source directly. This is particularly useful for: * Adjusting specific pixel values * Adding conditional logic * Modifying component props * Fixing edge cases that chat cannot describe precisely [Custom code injection](/build/editor/custom-code) lets you add scripts, styles, and code snippets that Rocket does not generate natively. Use it for third-party widgets, custom analytics, advanced animations, or business logic that requires specific implementation. If you need capabilities beyond what the Rocket interface offers, such as automated testing, CI/CD pipelines, or custom build steps, download the project as a `.zip` from the Code toolbar (paid plan required) and continue in your preferred IDE. Familiarize yourself with where things live in the generated project. Knowing the structure helps you navigate Code and make targeted edits without guessing which file to open. ## Testing strategies Walk through the primary user flow from start to finish. Can a new user sign up, complete the core action, and see the expected result? If the happy path works, the app is functional. What happens when a list is empty? When a text field has 1,000 characters? When no image is provided? These edge cases reveal missing error handling and broken layouts. Resize the preview panel to mobile width (375px) and navigate every page. Mobile breakpoints are where most layout issues appear - overlapping elements, text overflow, unreachable buttons. After working on an app for hours, you lose perspective. Share the preview with someone who has not seen it. Fresh eyes catch confusing navigation, unclear copy, and broken flows that you may have become blind to. ## Common patterns and anti-patterns | Pattern | Why it works | | :-------------------------- | :----------------------------------------------------------------- | | Start with a focused prompt | Produces a cleaner initial generation that is easier to iterate on | | Add features incrementally | Each addition is isolated and testable | | Test after every change | Bugs are caught immediately, not compounded | | Reference specific designs | Anchors the visual direction and reduces ambiguity | | Separate design from logic | Lets you optimize each dimension without interference | | Anti-pattern | Why it fails | | :---------------------------------------- | :---------------------------------------------------------------------------------------- | | Front-loading every feature in one prompt | Produces cluttered, inconsistent results that need more rework | | Making many changes without testing | Bugs compound and become harder to diagnose | | Vague prompts ("make it better") | Produces generic improvements that miss your specific vision | | Ignoring mobile until the end | Forces major restructuring late in the process | | Over-iterating instead of shipping | Once the output looks good, ship it and get real feedback rather than polishing endlessly | ## What's next? Put these practices to work with a guided walkthrough. Add payments, databases, AI models, email, and more to your app. Live preview, responsive testing, and screenshot capture as you build. Publish your app to the web and connect a custom domain. # AdSense Source: https://docs.rocket.new/build/connectors/adsense Connect Google AdSense to Rocket and add display ads to your app - banner placements, in-article ads, and in-feed units, all wired up from chat. Describe where you want ads to appear in chat and Rocket generates the placement code, responsive ad units, and layout adjustments automatically. ## What you can do Place ads between articles, in the sidebar, and after post content to generate revenue from your blog traffic. Insert standard IAB ad units - leaderboard, medium rectangle, skyscraper - throughout your app. Insert ads after specific paragraphs in long-form content without disrupting the reading experience. Insert native-looking ads between items in content feeds, product listings, or search results. ## Before you connect You need your **Publisher ID** from Google AdSense. It looks like `pub-1234567890123456`. **Find your Publisher ID in the AdSense help center** Your Publisher ID (`pub-XXXXXXXX`) is embedded in your page's public HTML source and is not a secret. Entering it in the connection popup carries no security risk. AdSense is a **task-level** connector. Each Rocket task connects to its own Publisher ID independently. ## Connect AdSense You can connect from two places - both open the same popup. **Option 1: From chat** Type a prompt that mentions AdSense - for example, `Connect AdSense and add a banner ad to the homepage`. Rocket detects the intent and shows a **Connect** button inline. Click it and the popup opens. AdSense connection prompt in the Rocket chat panel. AdSense connection prompt in the Rocket chat panel. **Option 2: From the Connectors tab** Click the **`...`** button in the preview toolbar, then select **Connectors**. Toolbar dropdown with Connectors option highlighted. Toolbar dropdown with Connectors option highlighted. Click the **AdSense** card, then click **Connect**. Connectors panel showing the AdSense card with a Connect button. Connectors panel showing the AdSense card with a Connect button. **After clicking Connect** A popup opens. Enter your **Publisher ID**, then click **Connect**. A green dot appears next to AdSense when the connection is active. Connect AdSense popup with Publisher ID field. Connect AdSense popup with Publisher ID field. **Update or disconnect** Go to [**Connectors > AdSense**](#connect-adsense). Click **Edit** to update your Publisher ID or **Disconnect** to remove the integration. AdSense card showing Edit and Disconnect buttons. AdSense card showing Edit and Disconnect buttons. You can connect from two places - both open the same popup. **Option 1: From chat** Type a prompt that mentions AdSense. Rocket detects the intent, shows a **Connect** button, and the popup opens when you tap it. **Option 2: From the Connectors tab** 1. Tap the **More** button in the header. 2. Tap **Integrations**. 3. Tap the **AdSense** card, then tap **Connect**. **After tapping Connect** A popup opens. Enter your **Publisher ID**, then tap **Done**. A green dot appears next to AdSense when the connection is active. **Update or disconnect** Go back to the **AdSense** card in Integrations. Tap **Edit** to update your Publisher ID or **Disconnect** to remove it from this task. ## Example prompts | What you want | Prompt to use | | :--------------- | :---------------------------------------------------------------------------------------------------- | | Header banner | `Add a responsive AdSense leaderboard ad below the navigation bar on every page.` | | Sidebar ad | `Place a 300x250 medium rectangle AdSense ad in the sidebar, sticky on scroll.` | | In-article ad | `Insert an AdSense ad after the third paragraph of every blog post.` | | In-feed ad | `Add an AdSense in-feed ad after every 5th post in my blog listing.` | | Footer ad | `Place a responsive AdSense banner above the footer on all pages.` | | Mobile-only ad | `Show a full-width AdSense ad between content sections, only on mobile devices.` | | Desktop-only ad | `Add a skyscraper ad in the right sidebar, visible only on desktop screens wider than 1024px.` | | Between sections | `Insert an AdSense ad between the features section and the testimonials section on the landing page.` | ## Tips * **Ads only display on deployed tasks.** AdSense will not render in the Rocket preview. Deploy your task and test on the live URL. * **Google must approve your site.** Your domain and content must comply with [AdSense program policies](https://support.google.com/adsense/answer/48182) before ads appear. Approval can take days to weeks. New sites with thin or limited content may be rejected, so ensure your site has substantial, original content before applying. * **Ad blockers will hide ads.** A significant percentage of users run ad-blocking extensions. Keep this in mind when projecting revenue. * **Too many ads hurt user experience.** Google may limit ad serving if your page has an unfavorable content-to-ad ratio. Follow AdSense best practices for ad density. * **One Publisher ID per task.** Each Rocket task connects to one AdSense account. Use different tasks for different Publisher IDs. ## What's next? Track how ads affect user engagement and bounce rates with GA4. Pair AdSense with a headless CMS to monetize your content-driven site. Deploy your task so AdSense can start serving ads on your live site. Browse every available integration. # Comparison guide Source: https://docs.rocket.new/build/connectors/ai Compare AI integrations in Rocket.new: OpenAI, Anthropic, Gemini, Perplexity, and ElevenLabs for chat, content, search, analysis, and voice. Rocket supports five AI providers. Each has different strengths. Use this page to pick the right one for your app. ## Quick answer * For **general-purpose chat and content generation**, use **OpenAI** (GPT models). * For **careful, nuanced analysis and long-form writing**, use **Anthropic** (Claude models). * For **multimodal tasks** involving images, text, or video, use **Gemini**. * For **factual search with cited sources**, use **Perplexity**. * For **voice generation, text-to-speech, and voice cloning**, use **ElevenLabs**. Rocket uses the latest model for each provider automatically. You do not need to specify a model version when connecting. ## Comparison table *Scroll right to see all four providers* | Feature | OpenAI | Anthropic | Gemini | Perplexity | ElevenLabs | | ---------------------------- | -------------------------- | ----------------------------------- | ---------------------------------- | ----------------------------- | ----------------------------------- | | **Best for** | General-purpose AI | Nuanced analysis, long-form content | Multimodal (text + images + video) | Factual search with citations | Voice generation and text-to-speech | | **Default model** | Latest GPT (auto-selected) | Latest Claude (auto-selected) | Latest Gemini (auto-selected) | Sonar (auto-selected) | Latest voice model (auto-selected) | | **Chat and conversational** | Excellent | Excellent | Excellent | Good (search-focused) | No | | **Content generation** | Excellent | Excellent (especially long-form) | Good | Limited | No | | **Code generation** | Excellent | Excellent | Good | Limited | No | | **Image understanding** | Yes | Yes | Excellent (native multimodal) | No | No | | **Web search and citations** | No | No | Limited | Excellent | No | | **Voice and audio** | No | No | No | No | Excellent | | **Pricing** | Per token | Per token | Per token | Per token + per request | Per character | | **Connection method** | API key | API key | API key | API key | API key | ## Detailed recommendations ### General-purpose AI chatbot or assistant **Use OpenAI.** GPT models are the most versatile option. They handle chat, content generation, code writing, summarization, and classification well. OpenAI has the largest ecosystem and the most community examples. ```plaintext wrap theme={null} Add an AI chat assistant to my app using OpenAI. Include a message history, streaming responses, and a text input with a send button. ``` ### Careful, nuanced content or long document analysis **Use Anthropic.** Claude excels at tasks that require careful reasoning, following complex instructions, and producing nuanced, well-structured long-form content. It handles very large context windows, making it ideal for analyzing long documents. ```plaintext wrap theme={null} Build a document analysis tool using Anthropic Claude. Users upload a PDF, and the app generates a structured summary with key findings and recommendations. ``` ### Image, video, or mixed media analysis **Use Gemini.** Gemini is natively multimodal, meaning it understands text, images, and video in a single model. It also supports very large context windows for processing long documents or transcripts. ```plaintext wrap theme={null} Build an image description tool using Gemini. Users upload a photo and the app generates an alt text description, color palette, and mood analysis. ``` ### Factual answers with cited sources from the web **Use Perplexity.** Perplexity is an AI-powered search engine that returns answers with inline citations. It is the best choice when accuracy and source verification matter more than creative generation. ```plaintext wrap theme={null} Build a research assistant using Perplexity. Users type a question and the app returns a summarized answer with numbered source citations. ``` ### Voice generation, text-to-speech, and audio **Use ElevenLabs.** ElevenLabs is the best choice for converting text into natural, lifelike speech, cloning voices, and generating multilingual audio content. ```plaintext wrap theme={null} Add a "Read aloud" button to each article that uses ElevenLabs to read the content to the user with a natural-sounding voice. ``` ### Multiple AI models in the same app **Connect multiple integrations.** You can connect OpenAI, Anthropic, Gemini, Perplexity, and ElevenLabs to the same project. Use different models for different features based on their strengths. ```plaintext wrap theme={null} Build a writing assistant that uses OpenAI for drafting, Anthropic for editing and fact-checking, Perplexity for research with citations, and ElevenLabs for reading the final text aloud. ``` ## Browse AI integrations GPT models for chat, content generation, and code. Claude models for nuanced analysis and long-form content. Google's multimodal AI for text, images, and video. AI-powered search with cited, fact-based answers. Voice generation, text-to-speech, and voice cloning. # Airtable Source: https://docs.rocket.new/build/connectors/airtable Connect Airtable to Rocket and build CRMs, content calendars, and inventory trackers: all wired up from chat. Describe the data views you need in chat and Rocket generates forms, dashboards, and filtered lists that read from and write to your Airtable bases automatically. This connector is only available for **Next.js TypeScript** web build tasks. ## What you can do Manage contacts, deals, and sales pipelines with a clean interface backed by Airtable data. Plan and schedule blog posts, social media content, and marketing campaigns from a shared calendar. Track stock levels, product details, and reorder thresholds for physical or digital goods. Organize tasks, assign team members, and track progress with a Kanban board. Collect RSVPs, manage attendee lists, and display upcoming events from Airtable. ## Connect Airtable Airtable uses OAuth so no API key is needed. Airtable is a **workspace-level** connector. No matter where you connect it (Settings, Connectors tab, or chat), it links to your entire Rocket workspace and is available across all tasks. You can connect from three places. All do the same thing. **Option 1: From chat** Type a prompt that mentions Airtable, for example `Connect Airtable and show all leads from my base in a sortable table`. Rocket detects the intent and shows a **Connect** button inline. Click it and the OAuth flow opens. Rocket chat panel showing a Connect prompt for Airtable. Rocket chat panel showing a Connect prompt for Airtable. **Option 2: From the Connectors tab** Click the **`...`** button in the preview toolbar, then select **Connectors**. Toolbar dropdown with Connectors option highlighted. Toolbar dropdown with Connectors option highlighted. Click the **Airtable** card, then click **Connect**. Connectors panel showing the Airtable card with a Connect button. Connectors panel showing the Airtable card with a Connect button. **Option 3: From workspace Settings** Connect once from Settings and it is available across all tasks. **After clicking Connect** An Airtable authorization screen opens in your browser. Airtable OAuth screen showing Rocket requesting access to your bases. Choose which bases Rocket can access: * **Add all resources** grants access to all current and future bases in your workspace. Recommended for most users. * **Add a base** grants access to specific bases only. Use this if you want to limit Rocket's access to a subset of your data. Click **Grant access**. A green dot appears next to Airtable when the connection is active. **Disconnect** Disconnect or switch accounts from workspace Settings. You can connect from three places - all do the same thing. **Option 1: From workspace Settings** Open your workspace, go to **Settings**, and tap **Connectors**. Tap the **Airtable** card and tap **Connect**. **Option 2: From the Connectors tab inside a task** 1. Tap the **More** button in the header. 2. Tap **Integrations**. 3. Tap the **Airtable** card, then tap **Connect**. **Option 3: From chat** Type a prompt that mentions Airtable. Rocket detects the intent and shows a **Connect** button inline - tap it. **After tapping Connect** An Airtable authorization screen opens. Choose which bases to grant access to: * **Add all resources** grants access to all current and future bases. Recommended for most users. * **Add a base** grants access to specific bases only. Tap **Grant access**. A green dot appears next to Airtable when the connection is active. **Disconnect** Go back to the **Airtable** card in Integrations. Tap **Disconnect** to remove the integration. ## Example prompts | What you want | Prompt to use | | :---------------- | :------------------------------------------------------------------------------------------ | | Lead dashboard | `Show all leads from my Airtable base in a sortable table with status filters.` | | Add-record form | `Create a form that adds new contacts to my Airtable Contacts table.` | | Content calendar | `Build a monthly calendar view of blog posts from my Airtable content base.` | | Inventory tracker | `Display products from Airtable with stock levels and a low-stock warning badge.` | | Kanban board | `Create a drag-and-drop Kanban board synced with my Airtable tasks base.` | | Search and filter | `Add a search bar and category filter to my Airtable product listing page.` | | Detail page | `When a user clicks a row, open a detail page showing all fields for that Airtable record.` | | CSV export | `Add an Export to CSV button that downloads all visible Airtable records.` | | Charts | `Show a bar chart of leads by status using data from my Airtable base.` | | Inline editing | `Let users edit Airtable records directly in the table without opening a separate form.` | ## Tips * **Choose base access carefully.** "Add all resources" is convenient but grants broad access. Use "Add a base" if you only want Rocket to work with specific bases. * **Base structure matters.** Make sure your Airtable base has clear table and field names. Rocket reads these to generate accurate views and forms. * **Rate limits apply.** Airtable limits API requests to 5 requests per second per base. High-traffic apps may need caching or a dedicated backend. * **Deleting records is permanent.** Airtable does not have a built-in undo for deleted rows. Be cautious with delete operations. * **One Airtable account per workspace.** All tasks share the same connected account. ## What's next? Need a full relational database with auth? Supabase pairs well with Airtable for hybrid setups. Send automated emails when new records are added to your Airtable base. Track how users interact with your Airtable-powered dashboards and forms. Browse every available integration. # Comparison guide Source: https://docs.rocket.new/build/connectors/analytics-guide Compare Google Analytics and Mixpanel in Rocket: choose the right analytics tool for your app. Not sure which analytics tool to connect? Here's how Google Analytics and Mixpanel differ and when to use each. ## Quick answer * For website traffic, audience insights, and marketing attribution, use **Google Analytics**. * For product analytics, user behavior, and conversion funnels, use **Mixpanel**. * For both: they complement each other well. GA4 covers where users come from; Mixpanel covers what they do after they arrive. ## Comparison table | | Google Analytics (GA4) | Mixpanel | | ----------------------- | --------------------------------------------------- | ----------------------------------------- | | **Best for** | Marketing teams, traffic analysis | Product teams, behavioral analytics | | **Tracks** | Page views, sessions, traffic sources, demographics | Events, funnels, retention, user journeys | | **Real-time data** | Yes | Yes | | **Funnel analysis** | Basic | Excellent | | **Retention tracking** | Limited | Excellent | | **User segmentation** | Audience-level | Individual user-level | | **A/B testing** | No native testing | Experiment tracking support | | **E-commerce tracking** | Built-in revenue reporting | Custom purchase events | | **Connection method** | Measurement ID (`G-XXXXXXXX`) | Service account username + secret | | **Pricing** | Free (GA4) | Free tier + paid plans | ## When to use each ### Google Analytics Best for understanding **where your users come from** and **how they move through your site**. GA4 excels at traffic source attribution, audience demographics, device and geography breakdown, and marketing campaign tracking. Use Google Analytics if you need to answer questions like: * Where is my traffic coming from? * Which pages have the highest drop-off rate? * How are my marketing campaigns performing? * What devices and locations are my users on? ```plaintext wrap theme={null} Add Google Analytics tracking to my app. I want to see page views, traffic sources, and user demographics in my GA4 dashboard. ``` ### Mixpanel Best for understanding **what users do inside your product** and **why they convert or churn**. Mixpanel tracks individual user actions and lets you build funnels, cohort comparisons, and retention charts. Use Mixpanel if you need to answer questions like: * Where do users drop off in my signup flow? * Which features do power users engage with most? * How many users come back after day 7? * Which user segments have the highest conversion rate? ```plaintext wrap theme={null} Add Mixpanel event tracking to my app. Track sign-ups, feature usage, and purchase completions so I can build conversion funnels. ``` ### Using both together Many teams run GA4 and Mixpanel in parallel. They solve different problems and do not overlap much. ```plaintext wrap theme={null} Add Google Analytics for traffic tracking and Mixpanel for event-based product analytics. Track page views in GA4 and user actions like sign-ups and feature usage in Mixpanel. ``` ## Browse analytics integrations Website traffic, audience insights, and conversion tracking with GA4. Product analytics, funnels, retention, and user behavior tracking. # Anthropic Source: https://docs.rocket.new/build/connectors/anthropic Connect Anthropic to Rocket and add Claude-powered AI to your app: chatbots, document analysis, content moderation, and more. Connect your Anthropic API key and describe the AI feature you need in chat. Rocket wires up Claude for chatbots, document analyzers, coding assistants, and more. ## What you can do Add a Claude-powered assistant that answers user questions, explains features, or supports your product. Let users upload contracts, reports, or articles and get structured summaries with key insights. Review user-generated content for policy violations with nuanced understanding of context and intent. Build an in-app code reviewer that explains logic, suggests improvements, and catches bugs. Help users improve their writing with feedback on tone, structure, clarity, and style. ## Before you connect **Get your Anthropic API key** from the Anthropic Console. Never paste your API key directly into chat. Always use the secure connector popup. If your key is exposed, rotate it immediately from the Anthropic Console. Anthropic is a **task-level** connector. Each Rocket task connects to its own API key independently. ## Connect Anthropic You can connect from two places. Both open the same popup. **Option 1: From chat** Type a prompt that mentions Anthropic or Claude, for example `Connect Anthropic and add a Claude chatbot to my app`. Rocket detects the intent and shows a **Connect** button inline. Click it and the popup opens. Anthropic connection prompt in the Rocket chat panel. Anthropic connection prompt in the Rocket chat panel. **Option 2: From the Connectors tab** Click the **`...`** button in the preview toolbar, then select **Connectors**. Toolbar dropdown with Connectors option highlighted. Toolbar dropdown with Connectors option highlighted. Click the **Anthropic** card, then click **Connect**. Connectors panel showing the Anthropic card with a Connect button. Connectors panel showing the Anthropic card with a Connect button. **After clicking Connect** A popup opens. Paste your **API key** and click **Connect**. Connect Anthropic popup with an API key input field. Connect Anthropic popup with an API key input field. A green dot appears next to Anthropic when the connection is active. **Update or disconnect** Go to [**Connectors > Anthropic**](#connect-anthropic). Click **Edit** to update the key or **Disconnect** to remove the integration. Anthropic card showing Edit and Disconnect buttons. Anthropic card showing Edit and Disconnect buttons. You can connect from two places. Both open the same popup. **Option 1: From chat** Type a prompt that mentions Anthropic or Claude. Rocket detects the intent, shows a **Connect** button, and the popup opens when you tap it. **Option 2: From the Connectors tab** 1. Tap the **More** button in the header. 2. Tap **Integrations**. 3. Tap the **Anthropic** card, then tap **Connect**. **After tapping Connect** A popup opens. Paste your **API key** and tap **Done**. A green dot appears next to Anthropic when the connection is active. **Update or disconnect** Go back to the **Anthropic** card in Integrations. Tap **Edit** to update the key or **Disconnect** to remove it from this task. ## Example prompts | What you want | Prompt to use | | :----------------- | :----------------------------------------------------------------------------------------------------- | | Chatbot | `Add a Claude-powered chatbot that answers user questions about my product.` | | Document summary | `Let users upload a PDF and get a structured summary with key takeaways from Claude.` | | Content moderation | `Build a moderation queue that uses Claude to flag and explain policy violations in user comments.` | | Code review | `Add a code review panel where developers paste code and Claude suggests improvements.` | | Writing assistant | `Create a writing helper that gives feedback on tone, clarity, and structure.` | | Email drafter | `Add an AI email composer that generates professional responses based on bullet points.` | | Translation | `Build a translation tool that uses Claude to translate content between English, Spanish, and French.` | | Q\&A from data | `Create a Q&A interface where Claude answers questions based on data stored in Supabase.` | | Meeting notes | `Build a tool where users paste meeting transcripts and Claude extracts action items and decisions.` | | Lesson planner | `Generate a structured lesson plan from a topic and grade level using Claude.` | ## Tips * **Claude excels at nuanced, careful tasks.** For content requiring sensitivity, reasoning, or safety, Claude often outperforms other models. Compare results with OpenAI to find the best fit. * **Token usage affects your bill.** Long documents and multi-turn conversations consume more tokens. Monitor usage in the Anthropic Console. * **API billing is separate from Rocket.** Anthropic charges based on token usage. Check their [pricing page](https://www.anthropic.com/pricing) for current rates. * **Claude works with the context you provide.** By default, Claude does not fetch live data or search the web within Rocket. For real-time search, pair it with the Perplexity integration. * **One API key per task.** Each Rocket task connects to one Anthropic API key independently. ## What's next? Compare Claude with GPT models to find the best AI fit for your app. Add real-time web search with citations alongside Claude's reasoning. Store conversation history and user data for Claude-powered features. Send AI-generated content, summaries, or reports via email. # Brevo Source: https://docs.rocket.new/build/connectors/brevo Connect Brevo to your Rocket.new app - send emails, SMS, and manage CRM contacts with a single prompt. Connect Brevo and describe the messaging flow you want in chat. Rocket generates the complete logic: templates, API calls, contact management, and automation triggers. Brevo is a great choice when you need email, SMS, and CRM in a single platform. Pair with [Supabase](/build/connectors/supabase/overview) for user data and [Stripe](/build/connectors/stripe) for payment-triggered communications. ## What you can do Password resets, order confirmations, invoices, and verification emails triggered by user actions. Promotional emails, announcements, and seasonal campaigns to your contact lists. SMS messages for promotions, alerts, and time-sensitive notifications through Brevo's built-in SMS feature. Manage contacts, segment audiences, and automate workflows based on user behavior. Collect subscriber emails and deliver regular newsletters with dynamic content. ## Before you connect You need your **API key** from the Brevo dashboard. **Create or copy your Brevo API key** Never paste your Brevo API key directly into chat. Always use the secure connection popup. If your key has been exposed, revoke it from Brevo Settings and create a new one. ## Connect Brevo You can connect from two places - both open the same popup. **Option 1: From chat** Type a prompt that mentions Brevo - for example, `Connect Brevo and send a welcome email when a new user signs up`. Rocket detects the intent and shows a **Connect** button inline. Click it and the popup opens. Brevo connection prompt in the Rocket chat panel. Brevo connection prompt in the Rocket chat panel. **Option 2: From the Connectors tab** Click the **`...`** button in the preview toolbar, then select **Connectors**. Toolbar dropdown with Connectors option highlighted. Toolbar dropdown with Connectors option highlighted. Click the **Brevo** card, then click **Connect**. Connectors panel showing the Brevo card with a Connect button. Connectors panel showing the Brevo card with a Connect button. **After clicking Connect** A popup opens. Paste your **API key**, then click **Save**. A green dot appears next to Brevo when the connection is active. Brevo API key input popup. Brevo API key input popup. **Update or disconnect** Go to [**Connectors > Brevo**](#connect-brevo). Update your key or click **Disconnect** to remove the integration. Brevo integration showing connected state with a Disconnect button. Brevo integration showing connected state with a Disconnect button. You can connect from two places - both open the same popup. **Option 1: From chat** Type a prompt that mentions Brevo. Rocket detects the intent, shows a **Connect** button, and the popup opens when you tap it. **Option 2: From the Connectors tab** 1. Tap the **More** button in the header. 2. Tap **Integrations**. 3. Tap the **Brevo** card, then tap **Connect**. **After tapping Connect** A popup opens. Paste your **API key**, then tap **Done**. A green dot appears next to Brevo when the connection is active. **Update or disconnect** Go to **Integrations > Brevo**. Update your key or tap **Disconnect** to remove the integration. ## Example prompts | Use case | Prompt | | ------------------ | -------------------------------------------------------------------------------------------------------- | | Welcome email | `Send a welcome email through Brevo when a new user signs up, with onboarding steps.` | | Password reset | `Add a forgot-password flow that sends a reset link via Brevo with a 15-minute expiration.` | | Marketing campaign | `Build a campaign page where I can write a promotional email, select a Brevo contact list, and send it.` | | SMS notification | `Send an SMS through Brevo to users who opted in when their order ships.` | | Drip sequence | `Start a 5-email onboarding drip sequence through Brevo when a user creates an account.` | | Newsletter | `Add a newsletter signup form and send a monthly email through Brevo with the latest blog posts.` | | Abandoned cart | `Send an abandoned cart email through Brevo 1 hour after a user leaves items in their cart.` | | Contact tagging | `When a user upgrades to Pro, update their Brevo contact attributes and add a "pro" tag.` | | Event reminder | `Send an event reminder email through Brevo 24 hours before a user's scheduled appointment.` | | Re-engagement | `Send a re-engagement email to Brevo contacts who have not opened an email in 60 days.` | ## Tips * **Brevo combines email, SMS, and CRM.** Unlike standalone email services, Brevo includes SMS sending and contact management in one platform. * **Free tier includes 300 emails per day.** Brevo's free plan allows 300 emails daily with no contact limit. Upgrade for higher sending volume and advanced features. * **Transactional and marketing are separate.** Brevo treats transactional emails and marketing campaigns as separate categories with different sending limits. * **Manage contacts in Brevo.** You can add contacts through Rocket, but deleting contacts, managing unsubscribes, and editing campaign templates must be done in the Brevo dashboard. * **One Brevo account per project.** Each Rocket project connects to one Brevo API key. ## What's next? Store user data and trigger emails based on database events and user actions. Send payment confirmations and receipt emails after Stripe transactions. Compare with SendGrid for high-volume transactional email at scale. Compare with Resend for simpler developer-focused transactional email. # Cal.com Source: https://docs.rocket.new/build/connectors/cal-com Connect Cal.com to Rocket and embed open-source scheduling with full customization, all wired up from chat. Describe the scheduling flow you need in chat and Rocket generates the embedded booking widget, confirmation logic, and calendar sync automatically. ## What you can do Fully branded booking pages that match your app's design, with custom fields, colors, and layouts. Route meetings to available team members using round-robin, collective, or managed event types. Distribute meetings evenly across your team so no one person gets overloaded. Drop a compact scheduling widget into any page for frictionless booking without leaving the app. ## Before you connect Cal.com is only available for **Next.js** tasks in Rocket. You need a Cal.com API key. **Get your Cal.com API key** from the Cal.com documentation. Go to **Settings > Developer > API Keys**, create a new key, give it a name, and copy it. Cal.com is a **task-level** connector. Each Rocket task connects to its own API key independently. ## Connect Cal.com You can connect from two places. Both do the same thing. **Option 1: From chat** Type a prompt that mentions Cal.com, for example `Connect Cal.com and let users book a meeting from my availability`. Rocket detects the intent and shows a **Connect** button inline. Click it to open the credentials popup. Rocket chat panel showing a Connect prompt for Cal.com. Rocket chat panel showing a Connect prompt for Cal.com. **Option 2: From the Connectors tab** Click the **`...`** button in the preview toolbar, then select **Connectors**. Toolbar dropdown with Connectors option highlighted. Toolbar dropdown with Connectors option highlighted. Click the **Cal.com** card, then click **Connect**. Connectors panel showing the Cal.com card with a Connect button. Connectors panel showing the Cal.com card with a Connect button. **After clicking Connect** A popup opens. Paste your **API key** and click **Connect**. Connect Cal.com popup showing an API key input field. Connect Cal.com popup showing an API key input field. A green dot appears next to Cal.com when the connection is active. **Update or disconnect** Open [**Connectors > Cal.com**](#connect-calcom) and click the card. Click **Edit** to update the key or **Disconnect** to remove it from this task. Cal.com card showing Edit and Disconnect buttons. Cal.com card showing Edit and Disconnect buttons. You can connect from two places. Both do the same thing. **Option 1: From chat** Type a prompt that mentions Cal.com. Rocket detects the intent and shows a **Connect** button inline. Tap it to open the credentials screen. **Option 2: From the Connectors tab** 1. Tap the **More** button in the header. 2. Tap **Integrations**. 3. Tap the **Cal.com** card, then tap **Connect**. **After tapping Connect** A popup opens. Paste your **API key** and tap **Done**. A green dot appears next to Cal.com when the connection is active. **Update or disconnect** Go back to the **Cal.com** card in Integrations. Tap **Edit** to update the key or **Disconnect** to remove it from this task. ## Example prompts | What you want | Prompt to use | | :------------------ | :---------------------------------------------------------------------------------- | | Booking page | `Embed a Cal.com widget on my /book page for 30-minute consultations.` | | Team scheduler | `Add a Cal.com team booking page with round-robin assignment across 3 reps.` | | Sidebar widget | `Drop a Cal.com scheduling widget into my dashboard sidebar for quick check-ins.` | | Paid session | `Embed Cal.com booking and charge $75 per session via Stripe before confirming.` | | Intake plus booking | `Create a two-step flow: intake form first, then Cal.com time picker on step two.` | | Custom branding | `Embed Cal.com on my /schedule page and match the widget colors to my app theme.` | | Office hours | `Set up Cal.com office hours on Wednesdays and embed on my /support page.` | | Reminder email | `Send a custom reminder email via Resend 24 hours before each Cal.com appointment.` | | Post-call survey | `After a Cal.com meeting ends, email the attendee a feedback form.` | | Recurring meetings | `Add a Cal.com booking option for weekly recurring 1-on-1 meetings.` | ## Tips * **Next.js only.** Cal.com is available exclusively in Next.js tasks on Rocket. * **API key connection.** Cal.com uses an API key (not OAuth). Keys start with `cal_live_` for production. * **Full customization.** Because Cal.com is open source, you can customize booking page styles, fields, and workflows beyond what other scheduling tools allow. * **Calendar sync is automatic.** Cal.com syncs with Google Calendar, Outlook, and Apple Calendar. Availability updates in real time. * **Self-hosting optional.** Cal.com can be self-hosted for full data control, but the hosted version at cal.com works out of the box with Rocket. * **One API key per task.** Each Rocket task connects to one Cal.com API key independently. ## What's next? A managed scheduling alternative that works across all Rocket task types. Store booking records in a database for reporting and in-app display. Send custom confirmation and reminder emails for each booking. Charge for consultations or sessions by combining Cal.com with Stripe checkout. # Calendly Source: https://docs.rocket.new/build/connectors/calendly Connect Calendly to Rocket and embed booking widgets, demo schedulers, and team scheduling flows - all wired up from chat. Describe the scheduling flow you need in chat and Rocket generates the embedded scheduler, confirmation pages, and notification flows automatically. This connector is only available for **Next.js TypeScript** web build tasks. ## What you can do Let visitors book a free or paid consultation directly from your website with automatic calendar sync. Give prospects a frictionless way to schedule product demos with your sales team. Route meetings to available team members with round-robin or collective scheduling. Let users sign up for webinars, workshops, or group events with automatic capacity tracking. Combine a questionnaire with appointment booking so you have context before every meeting. ## Connect Calendly Calendly connects via OAuth, so no API key is needed. Calendly is a **workspace-level** connector. No matter where you connect it (Settings, Connectors tab, or chat), it links to your entire Rocket workspace and is available across all tasks. You can connect from three places. All do the same thing. **Option 1: From chat** Type a prompt that mentions Calendly, for example `Connect Calendly and add a Book a Demo button to my pricing page`. Rocket detects the intent and shows a **Connect** button inline. Click it and the OAuth flow opens. Rocket chat panel showing a Connect prompt for Calendly. Rocket chat panel showing a Connect prompt for Calendly. **Option 2: From the Connectors tab** Click the **`...`** button in the preview toolbar, then select **Connectors**. Toolbar dropdown with Connectors option highlighted. Toolbar dropdown with Connectors option highlighted. Click the **Calendly** card, then click **Connect**. Connectors panel showing the Calendly card with a Connect button. Connectors panel showing the Calendly card with a Connect button. **Option 3: From workspace Settings** Connect once from Settings and it is available across all tasks. **After clicking Connect** A Calendly authorization screen opens in your browser. Log in and grant Rocket access to your scheduling data. A green dot appears next to Calendly when the connection is active. **Disconnect** Disconnect or switch accounts from workspace Settings. You can connect from three places. All do the same thing. **Option 1: From chat** Type a prompt that mentions Calendly. Rocket detects the intent and shows a **Connect** button inline. Tap it and the OAuth flow opens. **Option 2: From the Connectors tab** 1. Tap the **More** button in the header. 2. Tap **Integrations**. 3. Tap the **Calendly** card, then tap **Connect**. **Option 3: From workspace Settings** Open your workspace, go to **Settings**, and tap **Connectors**. Tap the **Calendly** card and tap **Connect**. **After tapping Connect** A Calendly authorization screen opens. Log in and grant Rocket access to your scheduling data. A green dot appears next to Calendly when the connection is active. **Disconnect** Go back to the **Calendly** card in Integrations. Tap **Disconnect** to remove the integration. ## Example prompts | What you want | Prompt to use | | :------------------- | :----------------------------------------------------------------------------------------- | | Consultation page | `Embed a Calendly widget on my /book page for 30-minute consultations.` | | Sales demo | `Add a Book a Demo button on my pricing page that opens a Calendly popup.` | | Onboarding call | `Add a Calendly booking step after a user signs up for a 15-minute onboarding call.` | | Team scheduling | `Create a team booking page where clients are matched with an available rep.` | | Webinar registration | `Build an event page for my weekly webinar with Calendly registration.` | | Paid consultation | `Embed a Calendly booking widget and charge $50 per session via Stripe before confirming.` | | Intake plus booking | `Create a two-step flow: intake form first, then Calendly time picker on step two.` | | Office hours | `Add a Calendly embed for weekly office hours on my /support page.` | | Reminder email | `Send a custom reminder email via Resend 24 hours before each Calendly appointment.` | | Post-meeting survey | `After a Calendly meeting ends, email the attendee a Typeform feedback survey.` | ## Tips * **Calendar sync is automatic.** Calendly syncs with Google Calendar, Outlook, and iCloud. Availability updates in real time. * **Embedding options.** Rocket can embed Calendly as an inline widget, popup, or full-page view. Describe the style you want in chat. * **Free plan limits.** Calendly's free tier supports one event type. Upgrade for team scheduling, round-robin, and multiple event types. * **Webhooks for custom flows.** Calendly sends webhook events when meetings are booked or canceled. Use these to trigger Supabase inserts or email notifications through Rocket. * **One Calendly account per workspace.** All tasks share the same connected account. ## What's next? Store booking records in a database for reporting and in-app display. Send custom confirmation and reminder emails for each booking. Charge for consultations or demos by combining Calendly with Stripe checkout. # Confluence Source: https://docs.rocket.new/build/connectors/confluence Connect Confluence to your Rocket.new app and use your team docs, specs, and decision records as context for generating code that reflects your organization's actual standards. Connect Confluence and Rocket reads your team's pages, specs, and decision records as context when generating code. Architecture docs, API references, and sprint notes feed directly into the generation process for tighter alignment between docs and code, without copying and pasting. This connector is only available for **Next.js TypeScript** web build tasks. Confluence is a **workspace-level** connector. Connect it once from Settings and it is available across all tasks. ## What you can do Link a product spec, PRD, or technical design doc in Rocket. Rocket reads the requirements and builds exactly what was specced. Feed your team's API reference, system design, and architecture docs into Rocket so generated code matches your actual patterns. Pull Confluence space pages into your app. Turn internal wikis into searchable help centers or onboarding tools. Sprint notes, ADRs, and runbooks become context so every output reflects your team's real decisions and conventions. ## Before you connect Confluence uses OAuth via Atlassian, so no API key is required. You authorize Rocket through Atlassian's login screen, then select your cloud instance and Confluence space inside Rocket. Rocket can only read pages in the Confluence space you select during the connection flow. To access a different space, disconnect and reconnect with the new space selected. ## Connect Confluence You can connect from three places. All do the same thing. **Option 1: From chat** Type a prompt that references Confluence - for example, `Connect our Confluence space and use the API spec doc when building this feature`. Rocket detects the intent and shows a **Connect** button inline. Click it to open the authorization flow. Chat showing a Connect button inline after a Confluence prompt. Chat showing a Connect button inline after a Confluence prompt. **Option 2: From the Connectors tab** Click the **`...`** button in the preview toolbar, then select **Connectors**. Toolbar dropdown with Connectors option highlighted. Toolbar dropdown with Connectors option highlighted. Click the **Confluence** card, then click **Connect with Confluence**. Connectors panel showing the Confluence card with a Connect with Confluence button. Connectors panel showing the Confluence card with a Connect with Confluence button. **Option 3: From workspace Settings** Connect once from Settings and it is available across all tasks. **After clicking Connect with Confluence** Atlassian's authorization screen opens. Review what Rocket is requesting access to in Confluence and User, then click **Accept**. Atlassian OAuth authorization screen showing Rocket requesting access to Confluence. Back in Rocket, select your **Atlassian cloud** from the dropdown, then select the **Confluence space** you want to use as context and click **Save**. A green dot appears next to Confluence when the connection is active. **Disconnect** Disconnect or switch spaces from workspace Settings. You can connect from two places. Both do the same thing. **Option 1: From chat** Type a prompt that references Confluence. Rocket shows a **Connect** button inline. Tap it to open the authorization flow. **Option 2: From the Connectors tab** 1. Tap the **More** button in the header. 2. Tap **Integrations**. 3. Tap the **Confluence** card, then tap **Connect with Confluence**. **After tapping Connect with Confluence** Atlassian's authorization screen opens. Review the permissions, then tap **Accept**. Back in Rocket, select your **Atlassian cloud** from the dropdown, then select the **Confluence space** you want to use as context and tap **Save**. A green dot appears next to Confluence when the connection is active. ## Example prompts Replace `[CONFLUENCE_URL]` with the link to your Confluence page or space. | Use case | Prompt | | :--------------------------- | :-------------------------------------------------------------------------------------------------------------------------- | | Build from spec | `Read our product spec at [CONFLUENCE_URL] and build the described feature with all data models and user flows.` | | Use API reference as context | `Use the API reference in our Confluence space when generating the integration layer for this service.` | | Architecture-aligned code | `Generate the authentication module following the patterns in our architecture doc at [CONFLUENCE_URL].` | | Help center from wiki | `Turn the FAQ page at [CONFLUENCE_URL] into a searchable help center with category filters.` | | Onboarding from runbook | `Build an onboarding checklist app using the steps from our new-hire runbook at [CONFLUENCE_URL].` | | Standards enforcement | `Generate the database schema following the conventions documented in our Confluence data model guide at [CONFLUENCE_URL].` | ## Tips * **Paste Confluence page URLs directly in chat.** Linking to a specific page gives Rocket focused context. Vague references may pull less relevant content from across the space. * **Connect the most relevant space.** If your team has multiple Confluence spaces, connect the one that contains the specs and docs closest to what you are building. * **Specs produce the most accurate code.** The more structured and detailed your Confluence doc, the more precisely Rocket can match your requirements. * **To switch spaces, reconnect.** You can only connect one Confluence space at a time per workspace. Disconnect and reconnect to switch to a different space. * **Confluence context is RAG-based.** Rocket retrieves the most relevant content from your space at generation time. It does not load the entire space into every prompt. ## What's next? Prefer Notion for your docs? Connect Notion as an alternative source of specs and wikis. Build directly from Linear tickets alongside your Confluence specs. Store app data with Supabase while Confluence provides the documentation context. Push generated code to GitHub to keep it in sync with your team's workflow. # Comparison guide Source: https://docs.rocket.new/build/connectors/databases-and-cms Compare database and CMS integrations in Rocket: Supabase, Airtable, Strapi, and Directus for backends and content management. Rocket supports four backend integrations, each designed for different use cases. This page helps you choose the right one. ## Quick answer * For a full-stack backend with auth, database, storage, and edge functions, use **Supabase**. * For lightweight data management with a spreadsheet-style interface, use **Airtable**. * For content management with a visual admin panel, use **Strapi** or **Directus**. Supabase connects via OAuth. Airtable uses a personal access token. Strapi and Directus use an API token plus your instance URL. ## Comparison table *Scroll right to see all four services* | Feature | Supabase | Airtable | Strapi | Directus | | ----------------------- | ------------------------------------- | ------------------------------------- | --------------------------- | -------------------------------- | | **Best for** | Full-stack app backend | Lightweight data, CRM, internal tools | Blog and content management | Content management on any SQL DB | | **Database** | PostgreSQL (full SQL) | Proprietary (spreadsheet-style) | SQLite, MySQL, PostgreSQL | Any SQL database | | **User authentication** | Built-in (email, social, magic links) | No | Plugin-based | Admin-level (not end-user auth) | | **File storage** | Built-in | Attachment fields | Media library | Asset management | | **Edge functions** | Yes (Deno) | No | No | Flows (automation) | | **REST API** | Auto-generated | Yes | Yes | Yes | | **GraphQL** | Via extension | No | Yes | Yes | | **Admin panel** | Supabase Dashboard | Airtable UI | Visual admin | Visual admin | | **Self-hosted option** | Yes | No | Yes | Yes | | **Free tier** | 500 MB DB, 1 GB storage | 1,000 records per base | Self-hosted (free) | Self-hosted (free) | | **Connection method** | OAuth | Personal access token | API token + URL | Access token + URL | ## Detailed recommendations ### Building a web or mobile app that needs user accounts and a database **Use Supabase.** It provides a PostgreSQL database, user authentication (email, Google, GitHub, magic links), file storage, and edge functions in a single platform. Rocket connects via OAuth, so you do not need to manage API keys. ```plaintext wrap theme={null} Connect Supabase and add user signup with email and Google login. Create a profiles table with name, avatar, and bio fields. ``` ### Need a simple database for leads, inventory, or internal tools **Use Airtable.** It works like a spreadsheet with the power of a database. It is great for managing leads, content calendars, inventory, and lightweight CRM workflows. Non-technical team members can view and edit data directly in Airtable's interface. ```plaintext wrap theme={null} Connect Airtable and display my product inventory in a searchable table. Let users filter by category and sort by price. ``` ### Building a blog, docs site, or content-heavy website **Use Strapi or Directus.** Both are headless CMS platforms with visual admin panels for managing articles, pages, and media. Choose based on your database preference: * **Strapi** has a larger community, more plugins, and a built-in media library. It works with SQLite, MySQL, or PostgreSQL. * **Directus** wraps any existing SQL database with an instant API. Choose it if you already have a database or want GraphQL support. ```plaintext wrap theme={null} Connect Strapi and pull blog posts with categories, author pages, featured images, and an RSS feed. ``` ### Using multiple backends in the same app **Combine Supabase with a CMS.** Use Supabase for user accounts and dynamic data, and Strapi or Directus for editorial content. This is common for SaaS products with a blog, or e-commerce sites with a product catalog managed by a content team. ```plaintext wrap theme={null} Use Supabase for user accounts and Strapi for blog content. Show personalized content recommendations based on the user's reading history. ``` ## Browse database and CMS integrations PostgreSQL database, auth, storage, and edge functions. Spreadsheet-meets-database for lightweight data management. Open-source headless CMS with a visual admin panel. Open-source CMS wrapping any SQL database with instant API. # Directus Source: https://docs.rocket.new/build/connectors/directus Connect Directus to Rocket and build content-driven apps, product catalogs, and multi-language sites: all from chat. Describe the content experience you want in chat and Rocket generates pages, listing views, and dynamic layouts that pull directly from your Directus collections. This connector is only available for **Next.js TypeScript** web build tasks. ## What you can do Publish articles, tutorials, and news posts managed entirely through Directus. Display products with images, descriptions, pricing, and variant options from Directus. Serve content in multiple languages using Directus translations with a language switcher. Searchable help center powered by Directus content, grouped by category. Image-heavy collections like projects, case studies, or creative work with filtering and detail views. ## Before you connect You need a running Directus instance and an access token. **Get your Directus access token** from the Directus documentation. Open your Directus project and go to your **User Profile**. Scroll to the **Token** field and click **Generate New Token**. Copy the token and note your **project URL** (e.g., `https://your-project.directus.app`). Never paste your Directus access token directly into Rocket chat. Always use the secure connection flow. If you think your token has been exposed, regenerate it from your Directus User Profile. ## Connect Directus You can connect from two places. Both do the same thing. **Option 1: From chat** Type a prompt that mentions Directus, for example `Connect Directus and build a blog listing page from my articles collection`. Rocket detects the intent and shows a **Connect** button inline. Click it to open the credentials popup. Rocket chat panel showing a Connect prompt for Directus. Rocket chat panel showing a Connect prompt for Directus. **Option 2: From the Connectors tab** Click the **`...`** button in the preview toolbar, then select **Connectors**. Toolbar dropdown with Connectors option highlighted. Toolbar dropdown with Connectors option highlighted. Click the **Directus** card, then click **Connect**. Connectors panel showing the Directus card with a Connect button. Connectors panel showing the Directus card with a Connect button. **After clicking Connect** A popup opens. Enter your **Project URL** and **Access Token**, then click **Save**. Popup showing Project URL and Access Token fields for Directus. Popup showing Project URL and Access Token fields for Directus. A green dot appears next to Directus when the connection is active. **Update or disconnect** Open [**Connectors > Directus**](#connect-directus) and click the card. Replace the existing credentials to update, or click **Disconnect** to remove the integration. Directus card in edit state showing Disconnect option. Directus card in edit state showing Disconnect option. You can connect from two places. Both do the same thing. **Option 1: From chat** Type a prompt that mentions Directus. Rocket detects the intent and shows a **Connect** button inline. Tap it to open the credentials screen. **Option 2: From the Connectors tab** Tap the **More** button in the header, then tap **Integrations**. Tap the **Directus** card, then tap **Connect**. **After tapping Connect** Enter your **Project URL** and **Access Token**, then tap **Done** to save. A green dot appears next to Directus when the connection is active. **Update or disconnect** Go back to the **Directus** card in Integrations. Update your credentials anytime or tap **Disconnect** to remove the integration. ## Example prompts | What you want | Prompt to use | | :--------------- | :----------------------------------------------------------------------------------------------------- | | Blog listing | `Show all articles from my Directus posts collection with thumbnails and publish dates.` | | Detail page | `When a user clicks an article, open a detail page with the full rich-text body from Directus.` | | Product catalog | `Create a product grid from my Directus products collection with images, prices, and a detail modal.` | | Multi-language | `Add a language switcher that toggles content between English and Spanish from Directus translations.` | | FAQ page | `Build an FAQ accordion from my Directus faqs collection, grouped by category.` | | Search | `Add a full-text search bar to my Directus-powered blog listing page.` | | Media gallery | `Display images from my Directus media collection in a responsive grid with lightbox preview.` | | Filtered listing | `Show Directus products filtered by category with a sidebar navigation.` | | Pagination | `Add pagination to my Directus blog listing, showing 10 posts per page.` | | Admin view | `Create a simple admin table for my Directus collection with inline editing and a delete button.` | ## Tips * **Choose token permissions carefully.** The access token inherits the permissions of the Directus user that generated it. Use a dedicated service account with scoped permissions for production apps. * **Your access token is stored securely.** Rocket encrypts it at rest and never exposes it in client-side code. * **Directus must be publicly reachable.** Local-only instances will not work. Your Directus URL must be accessible from the internet. * **Deleting content must happen in Directus.** Rocket can create and update records, but content and asset deletion should be managed directly in your Directus admin panel. * **One Directus project per Rocket project.** Each Rocket project connects to one set of credentials. Use different Rocket projects for different Directus instances. * **Licensing.** Directus is licensed under [BSL 1.1](https://directus.io/docs/self-hosting/overview). Organizations with over \$5 million in total finances require a commercial license. Smaller organizations and individuals can use Directus commercially without a license. ## What's next? Comparing headless CMS options? See how Strapi works with Rocket. Pair Directus content with Supabase auth and user management. Send notification emails when new content is published from Directus. Deploy your Directus-powered site to Netlify with one prompt. # ElevenLabs Source: https://docs.rocket.new/build/connectors/elevenlabs Connect ElevenLabs to your Rocket.new app and add AI-powered voice generation, text-to-speech, and voice cloning with a single prompt. Connect your ElevenLabs API key and describe the voice feature you need in chat. Rocket generates the complete integration: text-to-speech components, voice selection, audio playback, and content management. This connector is only available for **Next.js TypeScript** web build tasks. ## What you can do Convert any text into natural, lifelike speech with multiple voice options and language support. Clone a custom voice from audio samples and use it to generate speech unique to your brand or product. Generate speech in multiple languages from a single voice, ideal for global apps and localized content. Create voiceovers for videos, podcasts, courses, or product demos directly from your app. Manage generated audio files, organize voice projects, and stream or download audio from your app. ## Before you connect You need an ElevenLabs API key. Get your ElevenLabs API key from the dashboard | Key detail | Value | | :------------------- | :----------------------------- | | **Prefix** | `sk_` | | **Min length** | 20 characters | | **Where to find it** | ElevenLabs Settings > API Keys | Never paste your API key directly into chat. Always use the secure connector popup. If your key is exposed, rotate it immediately from the ElevenLabs dashboard. ElevenLabs is a **task-level** connector. Each Rocket task connects to its own API key independently. ## Connect ElevenLabs You can connect from two places - both open the same popup. **Option 1: From chat** Type a prompt that mentions ElevenLabs or text-to-speech - for example, `Connect ElevenLabs and add text-to-speech to my app`. Rocket detects the intent and shows a **Connect** button inline. Click it and the popup opens. ElevenLabs connection prompt in the Rocket chat panel. ElevenLabs connection prompt in the Rocket chat panel. **Option 2: From the Connectors tab** Click the **`...`** button in the preview toolbar, then select **Connectors**. Toolbar dropdown with Connectors option highlighted. Toolbar dropdown with Connectors option highlighted. Click the **ElevenLabs** card, then click **Connect**. Connectors panel showing the ElevenLabs card with a Connect button. Connectors panel showing the ElevenLabs card with a Connect button. **After clicking Connect** A popup opens. Paste your **API key** and click **Connect**. Connect ElevenLabs popup with an API key input field. Connect ElevenLabs popup with an API key input field. A green dot appears next to ElevenLabs when the connection is active. **Update or disconnect** Go to [**Connectors > ElevenLabs**](#connect-elevenlabs). Click **Edit** to update the key or **Disconnect** to remove the integration. ElevenLabs card showing Edit and Disconnect buttons. ElevenLabs card showing Edit and Disconnect buttons. You can connect from two places - both open the same popup. **Option 1: From chat** Type a prompt that mentions ElevenLabs or text-to-speech. Rocket detects the intent, shows a **Connect** button, and the popup opens when you tap it. **Option 2: From the Connectors tab** 1. Tap the **More** button in the header. 2. Tap **Integrations**. 3. Tap the **ElevenLabs** card, then tap **Connect**. **After tapping Connect** A popup opens. Paste your **API key** and tap **Done**. A green dot appears next to ElevenLabs when the connection is active. **Update or disconnect** Go back to the **ElevenLabs** card in Integrations. Tap **Edit** to update the key or **Disconnect** to remove it from this task. ## Example prompts | What you want | Prompt to use | | :---------------------- | :--------------------------------------------------------------------------------------------------------------------- | | Text-to-speech page | `Add a text-to-speech feature where users type text and hear it spoken aloud using ElevenLabs.` | | Voice selector | `Build a voice selection page that lets users preview different ElevenLabs voices before generating speech.` | | Voiceover tool | `Create a voiceover generator where users paste a script and download the audio file using ElevenLabs.` | | Multilingual narration | `Add multilingual narration to my app. Let users pick a language and generate speech from their text with ElevenLabs.` | | Audio content library | `Build an audio content library where users generate, store, and replay voice clips using ElevenLabs.` | | Podcast intro generator | `Generate podcast intro audio from a text script using ElevenLabs and let users download it as MP3.` | | Accessibility reader | `Add a "Read aloud" button to each article that uses ElevenLabs to read the content to the user.` | | Custom voice setup | `Let users upload a voice sample to clone their voice with ElevenLabs, then use it for all generated audio.` | ## Tips * **API billing is separate.** ElevenLabs charges based on character usage. Monitor your quota in the [ElevenLabs dashboard](https://elevenlabs.io/app/subscription). * **Start with pre-made voices.** ElevenLabs offers a library of ready-to-use voices. Use them to prototype before investing in voice cloning. * **Character limits apply.** Each plan has a monthly character allowance. Keep generated audio concise and cache results where possible. * **Voice cloning requires samples.** To clone a voice, you need at least one minute of clean audio. Higher quality samples produce better results. * **One API key per task.** Each Rocket task connects to one ElevenLabs API key independently. ## What's next? Combine ElevenLabs speech with GPT-generated scripts for fully automated audio content. Use Claude to write long-form narration scripts, then voice them with ElevenLabs. Store generated audio files and user voice preferences in Supabase. Browse every available integration. # Comparison guide Source: https://docs.rocket.new/build/connectors/email-and-messaging Compare Rocket.new email and SMS integrations - Resend, SendGrid, Brevo, MailerLite, Mailchimp, and Twilio. Rocket supports six email and messaging integrations. This page helps you pick the right one for your project. **Quick answer:** * **Transactional emails** (receipts, password resets, notifications): Use **Resend** or **SendGrid**. * **Marketing emails** (campaigns, newsletters, drip sequences): Use **Mailchimp**, **MailerLite**, or **Brevo**. * **SMS messages** (verification codes, alerts, reminders): Use **Twilio**. * **All-in-one** (email + SMS + CRM in a single platform): Use **Brevo**. ## Comparison table *Scroll right to see all six services →* | Feature | Resend | SendGrid | Brevo | MailerLite | Mailchimp | Twilio | | ------------------------ | ---------------------- | ------------------------------------- | ------------------------------ | ------------------------------------- | --------------------------------------- | ------------------ | | **Best for** | Transactional emails | High-volume transactional + marketing | All-in-one (email + SMS + CRM) | Newsletters and subscriber automation | Email campaigns and audience management | SMS messages | | **Transactional emails** | Excellent | Excellent | Good | Limited | Limited | N/A (SMS only) | | **Marketing emails** | No | Good | Good | Excellent | Excellent | N/A | | **SMS support** | No | No | Yes | No | No | Yes | | **Built-in CRM** | No | No | Yes | No | No | No | | **Free tier** | 3,000 emails/month | 100 emails/day | 300 emails/day | 500 subscribers, 12,000 emails/month | 500 contacts, 1,000 sends/month | Trial credits only | | **Developer experience** | Excellent (modern API) | Good | Good | Good | Good | Good | | **Supabase SMTP** | Yes | Yes | Yes | No | No | N/A | | **Connection method** | API key | API key | API key | API token | OAuth | API key | ## Detailed recommendations **Use Resend.** Resend is purpose-built for transactional emails with excellent deliverability and a clean developer API. It also works with Supabase SMTP, so you can route authentication emails (password resets, magic links) through Resend for consistent branding. **Pair with:** Supabase (auth) + Stripe (payments) ```plaintext wrap theme={null} Connect Resend and send a welcome email when a user signs up and an order confirmation after each Stripe payment. ``` **Use SendGrid.** SendGrid handles high volume reliably and includes both transactional and marketing email features. It has robust analytics for open rates, click tracking, and bounce management. ```plaintext wrap theme={null} Connect SendGrid and send order confirmation emails with tracking links after each purchase. Include open and click tracking. ``` **Use Mailchimp or MailerLite.** Both are excellent for marketing campaigns. **Mailchimp** has more advanced features (A/B testing, complex automations, audience segmentation). **MailerLite** is simpler and more affordable, with a generous free tier. * Choose **Mailchimp** if you need advanced segmentation and A/B testing. * Choose **MailerLite** if you want simplicity and a free plan for up to 500 subscribers. ```plaintext wrap theme={null} Add a newsletter signup form to the footer. When someone subscribes, add them to Mailchimp and send a welcome email sequence. ``` **Use Brevo.** Brevo (formerly Sendinblue) combines transactional email, marketing campaigns, SMS messaging, and a built-in CRM in one platform. It is the best choice if you want everything in one place without managing multiple integrations. ```plaintext wrap theme={null} Connect Brevo. Send a welcome email when a user signs up, then an SMS reminder if they have not logged in after 3 days. ``` **Use Twilio.** Twilio is the standard for SMS. Use it for verification codes, two-factor authentication, order updates, and appointment reminders. ```plaintext wrap theme={null} Add SMS verification to the signup flow using Twilio. Send a 6-digit code and verify it before creating the account. ``` ## Browse email and messaging integrations Developer-first transactional email with high deliverability. High-volume email delivery for transactional and marketing. All-in-one email, SMS, and CRM (formerly Sendinblue). Simple email marketing, newsletters, and automation. Email campaigns, audience management, and A/B testing. SMS messages for verifications, alerts, and notifications. # Figma Source: https://docs.rocket.new/build/connectors/figma Import your Figma designs into Rocket and convert them into production-ready code - layouts, spacing, and components included. Import a Figma frame and describe what you want to build. Rocket converts your visual layers into working, production-ready components - no manual translation needed. Figma import is available on web only. It is not supported in the Rocket mobile app. ## What you can do Import any Figma frame and get a fully coded version with responsive layouts. Rocket matches your layers, spacing, and styling automatically. Turn your Figma component library into reusable code components with variant support. Import a clickable Figma prototype and get a working multi-page app with real navigation and route transitions. Convert Figma marketing designs into pixel-perfect, responsive code for desktop, tablet, and mobile. ## Connect Figma Figma connects via OAuth - no API key needed. You can connect from two places - both open the same popup. **Option 1: From the import flow (fastest)** Click the **+** button at the lower left of the chat input and select **Add from Figma**. Chat input with + menu open, showing Add from Figma option. Chat input with + menu open, showing Add from Figma option. A popup appears asking you to connect. Connect to Figma popup with a Connect button. Connect to Figma popup with a Connect button. **Option 2: From workspace Settings** Click your workspace name in the top-left, select **Settings**, then open the **Connectors** tab. Click the **Figma** card and click **Connect**. Connect once from Settings and it is available to all tasks. **After clicking Connect** Figma opens an authorization screen. Sign in if prompted, review the permissions, and click **Allow access**. Figma OAuth screen showing permissions Rocket is requesting. A green dot appears next to Figma when the connection is active. **Disconnect or switch accounts** Open workspace Settings, go to **Connectors**, and click the **Figma** card. Click **Disconnect** and confirm. Connect again to use a different account. Disconnect or switch accounts from workspace Settings. ## Import a design Once connected: In Figma, open your file and click **Share > Copy link** to get the URL. In Rocket, click the **+** button at the lower left of the chat input and select **Add from Figma**. Paste your Figma URL and select the frames you want to import. Click **Import**. Rocket generates production-ready code from your selected screens. Use chat to add interactivity, connect data sources, or refine layouts. Step-by-step guide to finding and copying your Figma file URL. Follow these Figma best practices to get the best code output. ## Tips * **File organization affects output quality.** Well-named layers, proper auto-layout, and consistent spacing produce better code. Flattened images or ungrouped elements may need manual cleanup. * **Prototype flows map to routes.** Click-through connections in your Figma prototype are mapped to page routes and navigation links in the generated app. * **Complex animations may need refinement.** Rocket handles standard transitions, but advanced Figma animations may need adjustment after import. * **One Figma account per Rocket workspace.** To switch accounts, disconnect and reconnect from workspace Settings. * **Web only.** Figma import is not available in the Rocket mobile app. ## What's next? Wire up your imported Figma designs with real data from Supabase. Add payment flows to your Figma-designed pages with Stripe checkout. Deploy your Figma-to-code project to a live URL with Netlify. Browse every available integration. # Comparison guide Source: https://docs.rocket.new/build/connectors/forms-and-scheduling Compare forms and scheduling integrations in Rocket.new: Typeform, Tally, and Calendly for lead capture, surveys, and booking. Rocket supports four forms and scheduling integrations. This page helps you pick the right one. ## Quick answer * For conversational, branded forms (lead capture, quizzes, surveys), use **Typeform**. * For simple, free forms (contact forms, signups, feedback), use **Tally**. * For scheduling with minimal setup, use **Calendly**. ## Forms | Feature | Typeform | Tally | | ---------------------- | ---------------------------------------------- | ---------------------------------------- | | **Best for** | Branded conversational forms, quizzes, surveys | Simple forms, signups, feedback | | **Style** | One question at a time (conversational) | Traditional multi-field forms | | **Logic branching** | Yes (advanced) | Yes (basic) | | **File uploads** | Yes | Yes | | **Payment collection** | Yes (Stripe integration) | Yes (Stripe integration) | | **Free tier** | 10 responses per month | Unlimited responses | | **Branding** | Remove Typeform branding (paid) | Tally badge on free tier (remove on Pro) | | **Connection method** | OAuth | API key | **Recommendation:** * Use **Typeform** when the form experience is part of your brand and you need advanced logic, scoring, or a polished one-question-at-a-time flow. * Use **Tally** for everything else. Its free tier is extremely generous (unlimited responses, unlimited forms) and works great for contact forms, feedback, and waitlists. ## Scheduling Use **Calendly** if you want the fastest setup and your team is already using it. Minimal configuration needed, with calendar sync across Google, Outlook, and iCloud, embeddable widgets, and OAuth connection. ## Detailed recommendations ### Lead capture for a landing page **Use Typeform or Tally + Mailchimp or Brevo.** Embed a form on your page, then automatically add submissions to an email list for nurture sequences. ```plaintext wrap theme={null} Add a Typeform lead capture form to the hero section. When someone submits, add them to my Mailchimp audience and send a welcome email. ``` ### Contact form for a business website **Use Tally + Resend.** Tally's free tier covers unlimited forms and responses. Pair with Resend to send yourself a notification email for each submission. ```plaintext wrap theme={null} Add a Tally contact form with name, email, and message fields. Send me a notification email via Resend when someone submits. ``` ### Booking page for consultations or services **Use Calendly + Supabase.** Add a scheduling widget to your site and store booking history in Supabase for your dashboard. ```plaintext wrap theme={null} Add a Calendly booking widget to my services page with 30-minute and 60-minute consultation options. ``` ### Survey or quiz with scoring **Use Typeform.** Typeform's logic branching and scoring features make it the best choice for quizzes, assessments, and scored surveys. ```plaintext wrap theme={null} Embed a Typeform quiz that recommends a product based on the user's answers. Show the recommended product on a results page after they finish. ``` ## Browse forms and scheduling integrations Conversational forms for lead capture, surveys, and quizzes. Simple, free forms for signups, feedback, and contact pages. Scheduling and appointment booking with calendar sync. # Gemini Source: https://docs.rocket.new/build/connectors/gemini Connect Google Gemini to Rocket and add multimodal AI to your app: image analysis, visual search, and text generation in one integration. Connect your Gemini API key and describe the AI feature you need in chat. Rocket handles all the integration code automatically so you can focus on what your features should do. This connector is only available for **Next.js TypeScript** web build tasks. ## What you can do Let users upload images and get detailed descriptions, alt text, or extracted information using Gemini's vision capabilities. Let users send both text and images in a conversation, with Gemini responding using context from both. Generate blog posts, product descriptions, social media copy, or marketing content from simple prompts. Let users search by uploading an image and finding similar items or related information. Extract text, tables, and structured data from photos of documents, receipts, or handwritten notes. ## Before you connect **Get your Gemini API key** from Google AI Studio. Never paste your API key directly into chat. Always use the secure connector flow. If you believe your key has been exposed, rotate it immediately from [Google AI Studio](https://aistudio.google.com/app/apikey). The API key is scoped to the task you connect it in. Each task stores its own key. Connecting in one task does not affect others. ## Connect Gemini You can connect from two places. Both open the same popup. **Option 1: From chat** Type a prompt that mentions Gemini, for example `Connect Gemini and add an image upload that generates descriptions and alt text`. Rocket detects the intent and shows a **Connect** button inline. Click it and the popup opens. Gemini connection prompt in the Rocket chat panel. Gemini connection prompt in the Rocket chat panel. **Option 2: From the Connectors tab** Click the **`...`** button in the preview toolbar, then select **Connectors**. Toolbar dropdown with Connectors option highlighted. Toolbar dropdown with Connectors option highlighted. Click the **Gemini** card, then click **Connect**. Connectors panel showing the Gemini card with a Connect button. Connectors panel showing the Gemini card with a Connect button. **After clicking Connect** A popup opens. Paste your **API key** and click **Connect**. Connect Gemini popup with an API key input field. Connect Gemini popup with an API key input field. A green dot appears next to Gemini when the connection is active. **Update or disconnect** Go to [**Connectors > Gemini**](#connect-gemini). Click **Edit** to update the key or **Disconnect** to remove the integration. Gemini card showing Edit and Disconnect buttons. Gemini card showing Edit and Disconnect buttons. Open the task in the Rocket mobile app. Tap the **More** button in the header, then tap **Connectors**. Tap the **Gemini** card and enter your API key. ## Example prompts | Use case | Prompt | | :--------------------- | :----------------------------------------------------------------------------------------------------------- | | Image description | `Add an image upload that uses Gemini to generate a detailed description and alt text.` | | Photo search | `Build a visual search where users upload a product photo and Gemini identifies similar items.` | | Document scanner | `Create a receipt scanner that extracts line items, totals, and dates from uploaded photos.` | | Content writer | `Build a blog post generator where users enter a topic and Gemini writes a draft with headings.` | | Image chat | `Add a chat widget where users can attach images and Gemini responds with context from both text and image.` | | Social media generator | `Generate Instagram captions and hashtags from an uploaded product photo using Gemini.` | | Diagram explainer | `Let users upload a diagram or flowchart and Gemini explains each step in plain language.` | | Product catalog | `Auto-generate product descriptions and categories from uploaded product images using Gemini.` | | Handwriting reader | `Build a tool that converts handwritten notes to typed text using Gemini vision.` | | Quiz generator | `Create a quiz from an uploaded textbook page using Gemini to extract key concepts and questions.` | ## Tips * **Best for multimodal tasks.** If your app needs to understand images, screenshots, or documents alongside text, Gemini is the strongest choice among Rocket's AI connectors. * **Image size limits apply.** Images passed inline must be under 20MB per request. For larger files, Rocket uses the Gemini Files API which supports up to 100MB. * **API billing is separate from Rocket.** Google charges based on token usage and input type. Image inputs consume more tokens than text. See [Google AI pricing](https://ai.google.dev/pricing). * **Key is scoped to this task.** Each Rocket task connects to one Gemini API key. # Code sync Source: https://docs.rocket.new/build/connectors/github/code-sync Connect GitHub code sync to your Rocket.new app: two-way sync for Next.js TypeScript projects. For Next.js TypeScript projects, Rocket supports full two-way sync with GitHub. Rocket pushes changes to a `rocket-update` branch and automatically opens a pull request to `main` for each batch of code edits. Pull changes made by teammates or in your local IDE back into Rocket at any time. Code sync requires a paid plan (Pro or above). For all other frameworks, sync is one-way (push only). You need to manually click **Push** when you want to update GitHub. No automatic PR is created. ## How it works | Direction | What happens | Supported projects | | :-------------------------- | :--------------------------------------------------------------------------------------------------------------- | :---------------------- | | **Push** (Rocket to GitHub) | Rocket pushes changes to the `rocket-update` branch and automatically opens a pull request to `main` for review. | Next.js TypeScript only | | **Push** (Rocket to GitHub) | Push your code to GitHub manually. No automatic pull request is created. | All other frameworks | | **Pull** (GitHub to Rocket) | Imports the latest state of `main` back into your Rocket project, with conflict resolution if needed. | Next.js TypeScript only | ## Push to GitHub Click the **GitHub** icon in the toolbar. Click **Push** to send your project code to GitHub. Rocket automatically creates a repository for you. For **Next.js TypeScript** projects, Rocket pushes to the `rocket-update` branch and automatically opens a pull request to `main` so your changes can be reviewed. For all other frameworks, the code is pushed but no automatic PR is created. Push again anytime to update with your latest changes. GitHub push dialog showing repository selection and Push button. GitHub push dialog showing repository selection and Push button. ## Pull from GitHub Available for Next.js TypeScript projects only. After your initial push, the GitHub button changes to **Pull from GitHub**. Click the **Pull from GitHub** button in the toolbar. GitHub pull dialog showing Pull from GitHub button. GitHub pull dialog showing Pull from GitHub button. If there are no conflicts, the pull completes immediately and you see a success message with no further steps needed. If changes in GitHub conflict with your Rocket project, Rocket surfaces them so you can choose how to resolve before the pull completes. Rocket showing conflict resolution options during a GitHub pull. Rocket showing conflict resolution options during a GitHub pull. Once the pull is complete, your preview updates automatically and you can keep iterating. For Rocket-generated apps, pulls are from the `main` branch only. For cloned repositories, Rocket pulls from the branch you selected when cloning. Changes on other branches will not be pulled into Rocket. ## When to push vs pull | Scenario | Action | | :----------------------------------------------------- | :------------------------------------------ | | You iterated in Rocket and want to back up or share | **Push** to GitHub | | A teammate committed changes in their IDE | **Pull** from GitHub into Rocket | | You edited code locally and want to continue in Rocket | **Pull** from GitHub into Rocket | | You want to trigger a CI/CD pipeline | **Push** to GitHub, then your pipeline runs | ## Disconnect GitHub is connected at the workspace level. Disconnecting removes the GitHub link for your entire Rocket account. Disconnect or switch accounts from workspace Settings. Your task files in Rocket remain intact after disconnecting. To reconnect, go through the same steps and authorize a GitHub account. ## Limitations * **Next.js TypeScript only for pull and auto PR.** Two-way sync and automatic PR creation require a Next.js project using TypeScript. JavaScript-only Next.js projects and all other frameworks support manual push only, with no automatic PR. * **Branch behaviour.** For Next.js TypeScript projects, Rocket pulls from `main` and pushes to a `rocket-update` branch, opening a PR to `main` for each batch of changes. For cloned repositories, Rocket pulls from the branch selected at clone time. Other branches are not synced. * **Manual push for other frameworks.** For non-Next.js or JavaScript-only projects, you need to manually click Push when you want to update GitHub. ## One-way sync (other frameworks) For non-Next.js or JavaScript-only projects, GitHub integration is push-only and manual. Push your code to GitHub for backup and collaboration by clicking the **Push** button when you want to update. No automatic pull request is created. Changes made directly in GitHub will not sync back to Rocket. Always make changes in Rocket first, then push. See the full GitHub connector setup guide, including authorization and permissions. ## What's next? Import an existing Next.js TypeScript repo to start building in Rocket. Browse and edit your project files directly in Rocket. Deploy your app to the web after pushing to GitHub. Connect your GitHub account, manage repository settings, and push code. # Overview Source: https://docs.rocket.new/build/connectors/github/overview Connect GitHub to your Rocket.new app: push code to repos, collaborate with your team, and keep version history. Connect GitHub and push your task code to a repository with one click. Rocket handles the Git setup automatically, no terminal needed. For **Next.js TypeScript** tasks, Rocket supports full two-way sync: push automatically creates a `rocket-update` branch and opens a pull request to `main`, and pull brings changes from `main` back into your task. For all other frameworks, GitHub integration is one-way and manual — click **Push** when you want to update GitHub. No automatic pull request is created. ## What you can do Push your Rocket project to GitHub whenever you want a snapshot of your work. Click the GitHub icon in the toolbar and push. Share your codebase with teammates by pushing to a shared GitHub repo. They can review, fork, or clone your code from there. Once your code is on GitHub, connect it to services like GitHub Actions, Vercel, or Netlify for automated builds and deployments. Publish your Rocket projects as public repositories to build a developer portfolio or contribute to open source. ## Connect GitHub GitHub connects via OAuth, so no API key is needed. It is a **workspace-level** connector, so connect it once and it is available across all tasks. You can connect from four places. All do the same thing. **Option 1: When creating a task (Clone from GitHub)** Click the **+** button at the lower left of the input box on the home screen and select **Clone from GitHub**. If you have not connected GitHub yet, Rocket prompts you to authorize at this point. Clone a Next.js TypeScript repo and continue building with AI. **Option 2: From the GitHub button in the toolbar** Click the **GitHub** icon in the top-right of the code view toolbar. A popup opens with a **Connect** button. GitHub connect popup showing a Connect button. GitHub connect popup showing a Connect button. **Option 3: From the Connectors tab** Click the **`...`** button in the preview toolbar, then select **Connectors**. Toolbar dropdown with Connectors option highlighted. Toolbar dropdown with Connectors option highlighted. Click the **GitHub** card, then click **Connect**. Connectors panel showing the GitHub card with a Connect button. Connectors panel showing the GitHub card with a Connect button. **Option 4: From workspace Settings** Connect once from Settings and it is available across all tasks. **After clicking Connect** You are redirected to GitHub's authorization page. Sign in if prompted, review the permissions, and click **Authorize DhiWisePvtLtd**. GitHub OAuth authorization page for rocket.new. GitHub OAuth authorization page for rocket.new. After authorization you are redirected back to Rocket with GitHub connected. Permissions Rocket requests from GitHub: create new repositories on your behalf, read public and private repo names and metadata, and access your GitHub username and email address. **Disconnect** Disconnect or switch accounts from workspace Settings. You can connect from two places. Both do the same thing. **Option 1: From the GitHub button in the toolbar** Tap the **GitHub** icon in the toolbar. In the popup, tap **Connect** to begin authorization. **Option 2: From the Connectors tab** Tap the **More** button in the header. Tap **Integrations**. Tap the **GitHub** card, then tap **Connect**. **After tapping Connect** Sign in to GitHub if prompted, review the permissions, and tap **Authorize DhiWisePvtLtd**. You are redirected back to Rocket with GitHub connected. Permissions Rocket requests from GitHub: create new repositories on your behalf, read public and private repo names and metadata, and access your GitHub username and email address. ## Push to GitHub Click the **GitHub** icon in the toolbar. Click **Push** to send your task code to GitHub. Rocket automatically creates a repository for you. GitHub push dialog showing repository selection and Push button. GitHub push dialog showing repository selection and Push button. Push again anytime to update the repository with your latest changes. For **Next.js TypeScript** tasks, Rocket pushes to the `rocket-update` branch and automatically opens a pull request to `main` each time. After the initial push, the button changes to **Pull from GitHub** so you can bring in the latest state of `main` from your local IDE or from teammates. For all other frameworks, clicking Push sends your code to GitHub but no automatic pull request is created. Push manually whenever you want to update. ## Tips * **Two-way sync for Next.js TypeScript.** After pushing, Rocket auto-creates a PR to `main` and the button switches to Pull from GitHub so you can import changes back into Rocket. * **One-way sync for other frameworks.** Non-Next.js tasks support manual push only. No automatic PR is created — always make changes in Rocket first, then click Push when ready. * **Branch behaviour.** For Next.js TypeScript, Rocket pushes to `rocket-update` and opens a PR to `main`. Pull always reads from `main`. * **Repository naming.** Rocket automatically creates a repository for your task. Use a clear task name so repos are easy to find. * **Public vs. private.** Public repos are great for portfolios. Private repos are better for client work or proprietary tasks. * **Permissions are scoped.** Rocket only requests access to create repos and read metadata. It does not delete repos or modify existing code on GitHub. ## What's next? Two-way sync for Next.js TypeScript projects. Push changes out and pull external edits back in. Deploy your Rocket app to the web. Works great after pushing code to GitHub. Learn more about browsing and managing your project's source code in Rocket. # Google Workspace Source: https://docs.rocket.new/build/connectors/google Connect Google Workspace to your Rocket.new app: build from Docs, Sheets, and Calendar, then write outputs back. Connect Google Workspace via OAuth and describe what you want to build in chat. Rocket reads your Docs, Sheets, and Calendar as source material and can write generated outputs back into your Google tools. ## What you can do Your team writes PRDs in Google Docs. Let Rocket read the spec directly and build what it describes, including data models, user stories, and UI layout notes. Point Rocket at the Google Doc with your hero headline, feature descriptions, and pricing copy. Rocket reads it and replaces every placeholder with your real brand messaging. Rocket reads columns, rows, and data types from your spreadsheets, then generates a working app. Works for product catalogs, pricing matrices, campaign trackers, and team directories. Build booking systems and event pages that pull directly from Google Calendar. No fake data or hardcoded times. Send generated marketing copy to a Google Doc where your team can comment, edit, and approve before anything goes live. Export the full content structure (page name, section, headline, body, CTA) to a spreadsheet. Clients review and leave comments in the tool they already use. ## Before you connect Google Workspace uses OAuth, so no API key is required. It is a **workspace-level** connector, so connect it once and it is available across all tasks. ## Connect Google Workspace You can connect from three places. All do the same thing. **Option 1: From chat** Type a prompt that references a Google Doc or Sheet, for example `Read my brand messaging doc at [DOCS_URL] and replace all placeholder text`. Rocket detects the intent and shows a **Connect** button inline. Click it to open the authorization flow. Rocket chat panel showing a Connect prompt for Google Workspace. Rocket chat panel showing a Connect prompt for Google Workspace. **Option 2: From the Connectors tab** Click the **`...`** button in the preview toolbar, then select **Connectors**. Toolbar dropdown with Connectors option highlighted. Toolbar dropdown with Connectors option highlighted. Click the **Google Workspace** card, then click **Connect**. Connectors panel showing the Google Workspace card with a Connect button. Connectors panel showing the Google Workspace card with a Connect button. **Option 3: From workspace Settings** Connect once from Settings and it is available across all tasks. **After clicking Connect** Google's authorization screen opens. Select your account, review the permissions, and click **Allow**. Google OAuth authorization screen asking to allow Rocket access to your Google Workspace. A green dot appears next to Google Workspace when the connection is active. **Disconnect** Disconnect or switch accounts from workspace Settings. You can connect from two places. Both do the same thing. **Option 1: From chat** Type a prompt that references a Google Doc or Sheet. Rocket shows a **Connect** button inline. Tap it to open the authorization flow. **Option 2: From the Connectors tab** 1. Tap the **More** button in the header. 2. Tap **Integrations**. 3. Tap the **Google Workspace** card, then tap **Connect**. **After tapping Connect** Google's authorization screen opens. Select your account, review the permissions, and tap **Allow**. A green dot appears next to Google Workspace when the connection is active. ## Supported services | Service | Read | Write | Common use cases | | ------------------- | ------------------------------------------------------ | -------------------------------------------- | ------------------------------------------------------------------ | | **Google Docs** | Full document text, headings, tables, embedded content | New pages, reports, structured summaries | Build from specs, replace placeholder copy, generate documentation | | **Google Sheets** | Column headers, row data, data types, formulas | Append rows, update cells, create new sheets | Data-driven apps, SEO exports, content structure exports | | **Google Calendar** | Events, availability, time zones, recurring events | Create and update events | Booking systems, scheduling pages, event listings | ## Example prompts Replace `[DOCS_URL]` and `[SHEETS_URL]` with your actual links. ### Read from Google | Use case | Prompt | | :-------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------- | | Update hero from brand guidelines | `Update the hero section using my brand guidelines at [DOCS_URL]. Rewrite the headline, subtext, and CTA.` | | Replace all placeholder copy | `Read my brand messaging doc at [DOCS_URL] and replace every placeholder on this site with real copy. Match tone, voice, and terminology from the doc.` | | Update features from product spec | `Update the features section using my product spec at [SHEETS_URL]. Rewrite every feature card and reorganize categories to match the doc.` | | Build feature comparison table | `Read the competitor analysis at [SHEETS_URL] and build a feature comparison table with check marks and descriptions.` | | Update pricing from spreadsheet | `Update the entire pricing section using my pricing matrix at [SHEETS_URL]. Replace all placeholder tiers, prices, and limits and add a billing toggle.` | | Update team section | `Update the team section using roster data from [SHEETS_URL]. Replace placeholder team members with real names, roles, and bios.` | ### Write back to Google | Use case | Prompt | | :------------------------- | :------------------------------------------------------------------------------------------------------------------------------ | | Save copy for team review | `Save all copy from this landing page to Google Docs for the marketing team to review and approve.` | | Export SEO metadata | `Extract SEO metadata from this website and save page titles, meta descriptions, and keywords to a Google Sheet.` | | Save content for client | `Export the content structure to Google Sheets with each row showing page, section, headline, body, and CTA for client review.` | | Generate A/B test variants | `Generate headline and CTA variants for A/B testing and save them to a Google Sheet.` | | Create ad copy | `Create short-form ad copy for Google Ads, Meta Ads, and LinkedIn Ads from this landing page and save to Google Docs.` | ## Tips * **Sheets work best with clean data.** Use clear column headers, consistent data types, and avoid merged cells. The cleaner the spreadsheet, the better Rocket maps it. * **Calendar time zones.** Rocket respects your calendar's time zone settings. Double-check these before building scheduling features. * **Write-back is additive.** Rocket creates new documents or appends content. It will not overwrite existing files unless you explicitly ask. * **Large files.** For very large Docs or Sheets, reference specific sections or cell ranges to keep context focused. * **Link directly.** Sharing a direct URL gives Rocket the fastest path to your content. Descriptions like "my pricing spreadsheet" work too, but links are more reliable. ## What's next? Connect your documentation and wikis for knowledge-driven development. Connect issue tracking and project management to your Rocket workflow. Add a database backend with authentication and storage to your app. Browse every available integration. # Google Analytics Source: https://docs.rocket.new/build/connectors/google-analytics Connect Google Analytics GA4 to Rocket and track page views, conversions, and traffic sources: all wired up from chat. Describe what you want to measure in chat and Rocket wires up the tracking tags, custom events, and e-commerce data layer automatically. ## What you can do See which pages users visit most, where they come from, and how long they stay. Track key actions like signups, form submissions, and purchases as GA4 conversion events. Send product views, add-to-cart actions, and purchase events to GA4 for revenue reporting. Understand your user demographics, devices, and geographic distribution. Track any interaction as a custom GA4 event with parameters you define. ## Before you connect You need your **Measurement ID** from Google Analytics. It starts with `G-`, for example `G-XXXXXXXXXX`. **Find your Measurement ID** from the Google Analytics help centre. Go to **Admin > Data Streams**, click your stream, and copy the **Measurement ID**. Google Analytics is a **task-level** connector. Each Rocket task connects to its own Measurement ID independently. ## Connect Google Analytics You can connect from two places. Both do the same thing. **Option 1: From chat** Type a prompt that mentions Google Analytics, for example `Connect Google Analytics and track page views on every route`. Rocket detects the intent and shows a **Connect** button inline. Click it to open the credentials popup. Rocket chat panel showing a Connect prompt for Google Analytics. Rocket chat panel showing a Connect prompt for Google Analytics. **Option 2: From the Connectors tab** Click the **`...`** button in the preview toolbar, then select **Connectors**. Toolbar dropdown with Connectors option highlighted. Toolbar dropdown with Connectors option highlighted. Click the **Google Analytics** card, then click **Connect**. Connectors panel showing the Google Analytics card with a Connect button. Connectors panel showing the Google Analytics card with a Connect button. **After clicking Connect** A popup opens. Enter your **Measurement ID**, then click **Connect**. Connect Google Analytics popup with Measurement ID field. Connect Google Analytics popup with Measurement ID field. A green dot appears next to Google Analytics when the connection is active. **Update or disconnect** Open [**Connectors > Google Analytics**](#connect-google-analytics) and click the card. Click **Edit** to update your Measurement ID or **Disconnect** to remove the integration from this task. Google Analytics card showing Edit and Disconnect buttons. Google Analytics card showing Edit and Disconnect buttons. You can connect from two places. Both do the same thing. **Option 1: From chat** Type a prompt that mentions Google Analytics. Rocket detects the intent and shows a **Connect** button inline. Tap it to open the credentials screen. **Option 2: From the Connectors tab** 1. Tap the **More** button in the header. 2. Tap **Integrations**. 3. Tap the **Google Analytics** card, then tap **Connect**. **After tapping Connect** A popup opens. Enter your **Measurement ID**, then tap **Done**. A green dot appears next to Google Analytics when the connection is active. **Update or disconnect** Go back to the **Google Analytics** card in Integrations. Tap **Edit** to update your Measurement ID or **Disconnect** to remove it from this task. ## Example prompts | What you want | Prompt to use | | :------------------ | :------------------------------------------------------------------------------------ | | Page views | `Track page views on every route and send them to Google Analytics automatically.` | | Button clicks | `Track clicks on the Sign Up and Contact Sales buttons as GA4 custom events.` | | Form submissions | `Send a conversion event to GA4 when users submit the contact form.` | | E-commerce purchase | `Track completed purchases with order total, product names, and quantities in GA4.` | | Scroll depth | `Track when users scroll past 25%, 50%, 75%, and 100% of the page.` | | Outbound links | `Track clicks on external links as GA4 events with the destination URL.` | | Search tracking | `Send a search event to GA4 when users use the site search bar, including the query.` | | Video engagement | `Track play, pause, and completion events for embedded videos in GA4.` | | UTM attribution | `Parse UTM parameters from the URL and forward them to GA4 as campaign data.` | | User properties | `Set GA4 user properties for plan type and signup date when users log in.` | ## Tips * **Tracking only works on deployed tasks.** Google Analytics does not fire events in the Rocket preview. Deploy your task and test on the live URL. * **GA4 data has a processing delay.** Real-time reports update within seconds, but standard reports may take 24 to 48 hours to fully populate. * **Only GA4 Measurement IDs are supported.** IDs start with `G-`. Universal Analytics (`UA-`) was sunset in 2024 and no longer processes data. * **Ad blockers may prevent tracking.** Some users run browser extensions that block Google Analytics scripts. Keep this in mind when evaluating traffic numbers. * **One Measurement ID per task.** Each Rocket task connects to one Google Analytics property. Use different tasks for different properties. ## What's next? Need deeper event-level analytics? Add Mixpanel for funnel analysis and user segmentation. Track checkout conversion rates and revenue attribution with Stripe and GA4 together. Monetize your traffic with Google AdSense display ads. Deploy your task so Google Analytics can start collecting real data. # HubSpot Source: https://docs.rocket.new/build/connectors/hubspot Connect HubSpot to your Rocket.new app and sync contacts, manage deals, track leads, and automate CRM workflows with a single prompt. Connect HubSpot and describe the CRM flow you want in chat. Rocket generates the complete integration: contact creation, deal pipeline management, email event tracking, and marketing automation triggers, all grounded in your actual HubSpot configuration. This connector is only available for **Next.js TypeScript** web build tasks. ## What you can do Create, read, update, and delete contacts from your app. Sync lead forms directly into your HubSpot CRM. Build pipeline views, move deals between stages, and manage your sales funnel from within your app. Track email opens, clicks, and bounces from your app and surface that data in dashboards or contact timelines. Trigger HubSpot workflows and sequences from user actions in your app, such as form submissions or sign-ups. ## Before you connect You need a **Private App access token** from HubSpot. Private App tokens are scoped to the specific permissions you grant and do not expire unless rotated or revoked. **Create or manage Private Apps in your HubSpot account** **How to create a Private App token:** In HubSpot, go to **Settings → Integrations → Private Apps**. Click **Create a private app**. Give it a name (e.g., "Rocket Integration"). Under **Scopes**, grant the permissions your app needs. Common scopes: | Scope | Purpose | | :--------------------------- | :------------------------- | | `crm.objects.contacts.read` | Read contacts | | `crm.objects.contacts.write` | Create and update contacts | | `crm.objects.deals.read` | Read deals | | `crm.objects.deals.write` | Create and update deals | | `crm.objects.companies.read` | Read companies | Click **Create app** and copy the generated token. Tokens start with `pat-`. Never paste your HubSpot token directly into chat. Always use the secure connection popup. If your token has been exposed, rotate it immediately from **Settings → Private Apps**. ## Connect HubSpot You can connect from two places - both open the same popup. **Option 1: From chat** Type a prompt that mentions HubSpot - for example, `Connect HubSpot and add a contact form that syncs leads`. Rocket detects the intent and shows a **Connect** button inline. Click it and the popup opens. HubSpot connection prompt in the Rocket chat panel. HubSpot connection prompt in the Rocket chat panel. **Option 2: From the Connectors tab** Click the **`...`** button in the preview toolbar, then select **Connectors**. Toolbar dropdown with Connectors option highlighted. Toolbar dropdown with Connectors option highlighted. Click the **HubSpot** card, then click **Connect**. Connectors tab showing the HubSpot card with a Connect button. Connectors tab showing the HubSpot card with a Connect button. **After clicking Connect** A popup opens. Paste your **Private App access token** (starts with `pat-`), then click **Save**. A green dot appears next to HubSpot when the connection is active. HubSpot access token input popup. HubSpot access token input popup. **Update or disconnect** Go to [**Connectors > HubSpot**](#connect-hubspot). Update your token or click **Disconnect** to remove the integration. HubSpot integration showing connected state with a Disconnect button. HubSpot integration showing connected state with a Disconnect button. You can connect from two places - both open the same popup. **Option 1: From chat** Type a prompt that mentions HubSpot. Rocket detects the intent, shows a **Connect** button, and the popup opens when you tap it. **Option 2: From the Connectors tab** Tap the **More** button in the header. Tap **Integrations**. Tap the **HubSpot** card, then tap **Connect**. **After tapping Connect** A popup opens. Paste your **Private App access token**, then tap **Done**. A green dot appears next to HubSpot when the connection is active. **Update or disconnect** Go to **Integrations > HubSpot**. Update your token or tap **Disconnect** to remove the integration. ## Example prompts | Use case | Prompt | | ------------------ | ---------------------------------------------------------------------------------------------------------------- | | Lead capture form | `Add a contact form that creates a new HubSpot contact on submission with name, email, and company fields.` | | Deal pipeline view | `Build a Kanban board showing my HubSpot deals grouped by pipeline stage with drag-to-move functionality.` | | Contact list | `Add a Contacts page that lists all HubSpot contacts with search, filter by lifecycle stage, and a detail view.` | | CRM dashboard | `Create a CRM dashboard showing total contacts, open deals, deals by stage, and recent activity from HubSpot.` | | Signup → CRM sync | `When a user signs up, automatically create a HubSpot contact and set their lifecycle stage to Lead.` | | Deal creation | `Add a Create Deal form that pushes a new deal to HubSpot with name, amount, stage, and associated contact.` | ## Tips * **Grant only the scopes you need.** Overly broad HubSpot Private App tokens are a security risk. Scope tokens to the specific objects your app reads and writes. * **Tokens do not expire automatically.** Rotate your token periodically from **Settings → Private Apps** as a security best practice. * **HubSpot tools are powered by Composio MCP.** Rocket uses Composio under the hood to execute HubSpot API calls. You do not need to configure Composio separately. * **Test with a sandbox.** Use a HubSpot sandbox or developer account during development to avoid polluting production CRM data. * **One token per task.** Each Rocket task connects to a single HubSpot Private App token. Use the same token across tasks if they target the same HubSpot account. ## What's next? Store user sessions and app data alongside your HubSpot CRM data. Send transactional emails to contacts after CRM events like deal closes or form submissions. Capture leads with Typeform and sync them directly to HubSpot contacts. Track funnel conversion alongside CRM data for full-funnel attribution. # Instagram Source: https://docs.rocket.new/build/connectors/instagram Connect Instagram to your Rocket.new app - display social feeds, media grids, and social proof sections. Connect Instagram to Rocket and describe the social feed layout you want in chat. Rocket generates the media grid, profile sections, and auto-refreshing content automatically - no manual API integration needed. Instagram connects via OAuth. You authorize Rocket through Instagram's login flow - no API key needed. Instagram pairs well with Google Analytics (for tracking engagement), Supabase (for caching media data), and Netlify (for fast CDN delivery). ## What you can use it for Show your latest Instagram posts on any page to build trust and credibility with visitors. Display your latest posts in a visual grid with lightbox viewing, captions, and engagement data. Showcase customer photos and community posts by pulling in tagged or hashtagged content. Display curated Instagram content for events, campaigns, or brand partnerships on a full-screen dynamic media wall. ## Quick start Log in to [Instagram](https://instagram.com) with the account you want to connect. A Business or Creator account is recommended for full feature access. Open any Rocket project and type: ```plaintext wrap theme={null} Add an Instagram feed section to my landing page that displays my latest 6 posts in a 3-column grid with captions and like counts. ``` Rocket prompts you to authorize Instagram, then generates the component automatically. ## Detailed setup ### Connect Instagram to Rocket There are two ways to connect Instagram: **Method 1: Use Rocket chat (fastest)** In any project, open the chat panel and describe the social feed you want: * `Display my latest 6 Instagram posts in a 3-column grid on the homepage.` * `Add an Instagram profile card in the sidebar with my bio and follower count.` Rocket prompts you to authorize and then builds the component. **Method 2: From Connectors** In the preview toolbar, click the **`...`** button and select **Connectors**. Click the **Instagram** card. When you connect Instagram from Connectors, Rocket does not automatically add a feed. After authorizing, describe the feed layout you want in chat. Click **Connect**, log in to your Instagram account if prompted, then click **Allow**. A green dot appears next to Instagram when the connection is active. **Disconnect** Click the **Instagram** integration again and click **Disconnect** to remove the connection. There are two ways to connect Instagram: **Method 1: Use Rocket chat (fastest)** In any project, open the chat panel and describe the social feed you want: * `Display my latest 6 Instagram posts in a 3-column grid on the homepage.` * `Add an Instagram profile card in the sidebar with my bio and follower count.` Rocket prompts you to authorize and then builds the component. **Method 2: From project settings** Tap the **More** button in the header, then tap **Integrations**. Tap the **Instagram** card. When you connect Instagram from project settings, Rocket does not automatically add a feed. After authorizing, describe the feed layout you want in chat. Tap **Connect**, log in to Instagram if prompted, then tap **Allow**. A green dot appears next to Instagram when the connection is active. **Disconnect** Go back to the Instagram section in your project settings. Tap **Disconnect** to remove the connection. ## Prompt cookbook | Use case | Prompt | | -------------------- | -------------------------------------------------------------------------------------------- | | Homepage feed | `Display my latest 6 Instagram posts in a 3-column grid on the homepage.` | | Masonry feed grid | `Display my Instagram posts in a masonry grid layout with lightbox viewing.` | | Social proof section | `Add an Instagram feed section below testimonials on my landing page.` | | Media carousel | `Create a horizontal scrolling carousel of my latest 10 Instagram posts.` | | Profile card | `Add an Instagram profile card in the sidebar showing my avatar, bio, and follower count.` | | Story highlights | `Display my Instagram story highlights as circular thumbnails at the top of my /about page.` | | Media wall | `Build a full-screen auto-scrolling media wall with my latest 20 Instagram posts.` | | Footer widget | `Add a compact Instagram feed widget (4 posts, 2x2 grid) in the site footer.` | | Campaign gallery | `Create a gallery page that shows Instagram posts with the hashtag #MyLaunch.` | | Link in bio page | `Build a link-in-bio page that displays my Instagram avatar, bio, and a list of links.` | ## Tips and limitations * **Business or Creator account recommended.** Some features like hashtag search and insights require a Business or Creator Instagram account connected to a Facebook Page. * **Media types supported.** Rocket can display photos, videos, carousels, and reels from your Instagram feed. * **Rate limits apply.** Instagram's API has rate limits. For high-traffic sites, consider caching media data in Supabase to avoid hitting limits. * **Content refreshes periodically.** Instagram feeds refresh automatically, but there may be a short delay between posting and content appearing in your app. ## What's next? Track how visitors interact with your Instagram feed sections. Cache Instagram media data for faster loading and offline access. Deploy your social-powered pages with fast CDN delivery. Collect leads from visitors who engage with your Instagram content. # Jira Source: https://docs.rocket.new/build/connectors/jira Connect Jira to Rocket and build from your tickets. Rocket reads descriptions, acceptance criteria, sprint data, and epics to generate aligned code. Connect Jira and your tickets become build context. Rocket reads issue descriptions, acceptance criteria, epics, and sprint data directly from your board, then generates code that reflects your actual project requirements. This connector is only available for **Next.js TypeScript** web build tasks. ## What you can do Paste a Jira issue URL into chat. Rocket reads the summary, description, and acceptance criteria, then generates the implementation. Paste a Jira epic URL. Rocket reads all child stories and the epic description, then builds the full scope. Reference your current sprint. Rocket reads active stories and priorities to understand what you are building right now. Paste a bug ticket URL. Rocket reads the steps to reproduce, expected vs actual behavior, and generates a targeted fix. Use feature descriptions, value propositions, and requirements text from tickets directly in your app's UI. Rocket understands Jira workflow states. It generates code that maps to your ticket statuses and transitions. ## Connect Jira Jira uses OAuth 2.0 via Atlassian, so no API key is needed. It is a **workspace-level** connector — connect it once and it is available across all tasks. The connection flow has two steps: Authorize access to your Atlassian account. Select a **Jira App** (cloud instance) and a **Project** within that app. You can connect from three places. All do the same thing. **Option 1: From chat** Paste a Jira ticket URL or ask Rocket to pull tickets. Rocket detects the intent and shows a **Connect** button inline. Click it to start the authorization flow. Rocket chat panel showing a Connect prompt for Jira. Rocket chat panel showing a Connect prompt for Jira. **Option 2: From the Connectors tab** Click the **`...`** button in the preview toolbar, then select **Connectors**. Toolbar dropdown with Connectors option highlighted. Toolbar dropdown with Connectors option highlighted. Click the **Jira** card, then click **Connect**. Connectors panel showing the Jira card with a Connect button. Connectors panel showing the Jira card with a Connect button. **Option 3: From workspace Settings** Connect once from Settings and it is available across all tasks. **After clicking Connect** An Atlassian authorization screen opens. Select your Jira cloud instance (App) from the **Use app on** dropdown, review the permissions, and click **Accept**. Atlassian OAuth screen showing Rocket requesting access to your Jira account. After authorizing, select the **Project** you want Rocket to read from. A green dot appears next to Jira when the connection is active. **Disconnect** Disconnect or switch accounts from workspace Settings. You can connect from two places. Both do the same thing. **Option 1: From chat** Paste a Jira ticket URL or ask Rocket to pull issues. Rocket shows a **Connect** button inline. Tap it to start the authorization flow. **Option 2: From the Connectors tab** Tap the **More** button in the header. Tap **Integrations**. Tap the **Jira** card, then tap **Connect**. **After tapping Connect** An Atlassian authorization screen opens. Review the permissions and tap **Accept**. **Select your App and Project** After authorizing, select your Jira cloud instance (App) and the Project you want Rocket to read from. A green dot appears next to Jira when the connection is active. ## Example prompts Replace `[JIRA_URL]` with your actual issue, epic, or board URL. ### Reading from Jira | What you want | Prompt to use | | :---------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------- | | Build a feature from a ticket | `Build the feature described in [JIRA_URL]. Read the full requirements, acceptance criteria, and subtasks before generating.` | | Build from an epic | `Read the Jira epic at [JIRA_URL] and build all the screens and features described in its child stories.` | | Fix a bug from a report | `Fix the bug described in [JIRA_URL]. Read the steps to reproduce, expected behavior, and actual behavior and generate a targeted fix.` | | Pull sprint context | `Read my current sprint tickets and build the highest-priority story first.` | | Apply requirement changes | `The requirements changed in [JIRA_URL]. Read the updated description and modify the relevant parts of the app.` | | Display a project board | `Pull my Jira tickets into a dashboard that shows the current sprint board with status columns.` | ## Tips * **Be specific in your tickets.** Rocket builds from what is written. Tickets with detailed descriptions, clear acceptance criteria, and story points produce better output than vague ones. * **Use issue URLs, not ticket keys alone.** Pasting a direct URL gives Rocket unambiguous context. Referring to a ticket by key alone can be ambiguous across projects. * **Scope to a single project.** During connection you select one project. If you need to reference a different project, reconnect from workspace Settings. * **Permissions apply.** Rocket respects Jira's access controls. It can only read issues and data that the connected Atlassian account has permission to access. * **Works with Jira Cloud only.** This connector uses Atlassian's cloud OAuth. Self-hosted Jira Server and Data Center instances are not supported. ## What's next? Already using Linear? Connect it for bi-directional ticket integration. Connect Confluence to pull product specs and documentation as build context. Push your code to a repository and keep version history. Browse every available integration. # Linear Source: https://docs.rocket.new/build/connectors/linear Connect Linear to Rocket and build from your tickets. Rocket reads descriptions, acceptance criteria, and briefs, then writes follow-up tickets back. Point Rocket at a Linear ticket and it builds the feature. No copy-pasting requirements, no manually updating your board. Rocket reads your issue descriptions, acceptance criteria, and project briefs directly from Linear. When the build is done, it writes follow-up tickets and status updates back. ## What you can do Paste a Linear issue URL into chat. Rocket reads the title, description, and acceptance criteria, then generates the implementation. Paste a Linear project URL. Rocket reads all child issues and the project brief, then builds the full scope. Paste a bug ticket URL. Rocket reads the screen name, expected vs actual behavior, and generates a targeted fix. Pull feature descriptions and value propositions from a ticket directly into your app's UI copy. After building, ask Rocket to create QA tickets, edge case tickets, and testing tasks back in Linear. Ask Rocket to move the original ticket to Done and leave an implementation comment when the build finishes. ## Connect Linear Linear uses OAuth, so no API key is needed. It is a **workspace-level** connector, so connect it once and it is available across all tasks. You can connect from three places. All do the same thing. **Option 1: From chat** Paste a ticket URL or ask Rocket to create issues. Rocket detects the intent and shows a **Connect** button inline. Click it to open the authorization flow. Rocket chat panel showing a Connect prompt for Linear. Rocket chat panel showing a Connect prompt for Linear. **Option 2: From the Connectors tab** Click the **`...`** button in the preview toolbar, then select **Connectors**. Toolbar dropdown with Connectors option highlighted. Toolbar dropdown with Connectors option highlighted. Click the **Linear** card, then click **Connect**. Connectors panel showing the Linear card with a Connect button. Connectors panel showing the Linear card with a Connect button. **Option 3: From workspace Settings** Connect once from Settings and it is available across all tasks. **After clicking Connect** A Linear authorization screen opens. Review the permissions and click **Authorize**. Linear OAuth screen showing Rocket requesting read and write access to your workspace. Linear OAuth screen showing Rocket requesting read and write access to your workspace. A green dot appears next to Linear when the connection is active. **Disconnect** Disconnect or switch accounts from workspace Settings. You can connect from two places. Both do the same thing. **Option 1: From chat** Paste a ticket URL or ask Rocket to create Linear issues. Rocket shows a **Connect** button inline. Tap it to open the authorization flow. **Option 2: From the Connectors tab** 1. Tap the **More** button in the header. 2. Tap **Integrations**. 3. Tap the **Linear** card, then tap **Connect**. **After tapping Connect** A Linear authorization screen opens. Review the permissions and tap **Authorize**. A green dot appears next to Linear when the connection is active. ## Example prompts Replace `[LINEAR_URL]` with your actual issue or project URL. ### Reading from Linear | What you want | Prompt to use | | :---------------------------- | :--------------------------------------------------------------------------------------------------------------------------------- | | Build a feature from a ticket | `Build the feature described in [LINEAR_URL]. Read the full requirements, edge cases, and acceptance criteria before generating.` | | Build from a full project | `Read the Linear project at [LINEAR_URL] and build the described UI including all screens referenced in the project brief.` | | Fix a bug from a report | `Fix the bug described in [LINEAR_URL]. Read the screen name, expected behavior, and actual behavior and generate a targeted fix.` | | Apply a requirement change | `The requirements changed in [LINEAR_URL]. Read the updated ticket and modify the relevant parts of the app.` | ### Writing back to Linear | What you want | Prompt to use | | :------------------------- | :---------------------------------------------------------------------------------------------------------------------------- | | Create QA tickets | `Create a Linear project with QA tickets for the checkout flow I just built. Include test cases based on the implementation.` | | Log client change requests | `Create a Linear project with tickets for each client-requested change, organized by page and priority.` | | Document what was built | `Create a Linear document describing what was built and link it to the original ticket at [LINEAR_URL].` | | Create follow-up tasks | `Create Linear tickets for all the follow-up work from this build: enhancements, edge cases, and testing tasks.` | ## Tips * **Be specific in your tickets.** Rocket builds from what is written. Tickets with detailed descriptions, clear acceptance criteria, and labels produce better output than vague ones. * **Use issue URLs, not project names.** Pasting a direct URL gives Rocket unambiguous context. Referring to a project by name can match the wrong one. * **For large workspaces, scope it down.** Reference a specific project or issue instead of asking Rocket to read the full workspace backlog. * **Write-back creates real tickets.** When Rocket creates or updates Linear issues, they appear in your board immediately. Review them before sharing with your team. * **Permissions apply.** Rocket respects Linear's access controls. It can only read and write what the connected account has permission to access. ## What's next? Connect your docs and wikis so Rocket builds with full product context. Read from Docs, Sheets, and Calendar to build context-rich apps. Push your code to a repository and keep version history. Browse every available integration. # Mailchimp Source: https://docs.rocket.new/build/connectors/mailchimp Connect Mailchimp to your Rocket.new app - run email campaigns, manage audiences, and automate marketing. Connect Mailchimp and describe the email flow you want in chat. Rocket generates the complete logic: audience management, campaign creation, automation triggers, and subscriber forms. Mailchimp connects via OAuth - no API keys to manage. You authorize access through Mailchimp's own login flow. Pair with [Supabase](/build/connectors/supabase/overview) for user data and [Stripe](/build/connectors/stripe) for purchase-triggered campaigns. ## What you can do One-time or recurring campaigns to your entire audience or targeted segments. Organize contacts by behavior, tags, or custom fields and send targeted emails. Test different subject lines, content, or send times to optimize email performance. Multi-step email sequences triggered by subscriber actions or time delays. Embedded signup forms that automatically grow your Mailchimp audience. ## Before you connect Make sure you have a [Mailchimp account](https://mailchimp.com) with at least one audience created. Mailchimp connects via OAuth, so no API key is needed. ## Connect Mailchimp You can connect from three places - all redirect to the same Mailchimp authorization page. **Option 1: From chat** Type a prompt that mentions Mailchimp - for example, `Connect Mailchimp and add an email signup form to my landing page`. Rocket detects the intent and shows a **Connect** button inline. Click it to start the authorization flow. Mailchimp connection prompt in the Rocket chat panel. Mailchimp connection prompt in the Rocket chat panel. **Option 2: From the Connectors tab** Click the **`...`** button in the preview toolbar, then select **Connectors**. Toolbar dropdown with Connectors option highlighted. Toolbar dropdown with Connectors option highlighted. Click the **Mailchimp** card, then click **Connect**. Connectors panel showing the Mailchimp card with a Connect button. Connectors panel showing the Mailchimp card with a Connect button. **Option 3: From workspace Settings** Connect once at the workspace level and it is available to all your projects. **After clicking Connect** You are redirected to Mailchimp's authorization page. Log in if prompted, review the permissions, and click **Allow** to grant Rocket access to your audiences, campaigns, and templates. Mailchimp OAuth authorization page asking to allow Rocket access. A green dot appears next to Mailchimp when the connection is active. **Disconnect** Mailchimp is connected at the workspace level - disconnecting removes access for all projects. Go to **Settings > Connectors** to disconnect Mailchimp. Tap the **More** button in the header, then tap **Integrations**. Tap the **Mailchimp** card, then tap **Connect**. You are redirected to Mailchimp's authorization page. Log in if prompted, review the permissions, and tap **Allow** to grant Rocket access. A green dot appears next to Mailchimp when the connection is active. **Disconnect** Mailchimp is connected at the workspace level - disconnecting removes access for all projects. Go to **Settings > Connectors** to disconnect Mailchimp. ## Example prompts | Use case | Prompt | | -------------------- | ----------------------------------------------------------------------------------------------------------- | | Signup form | `Add an email signup form to my footer that adds subscribers to my Mailchimp audience.` | | Welcome campaign | `Send a welcome email through Mailchimp when a new subscriber joins my audience.` | | Drip sequence | `Start a 5-email onboarding drip through Mailchimp when a user signs up, one email every 2 days.` | | Product announcement | `Send a product launch announcement to my entire Mailchimp audience with a CTA button.` | | A/B test | `Create an A/B test in Mailchimp with two subject lines. Send the winner to the full audience.` | | Segment by tag | `Tag Mailchimp subscribers as "premium" when they upgrade, and send premium-only content.` | | Birthday email | `Send a birthday discount email through Mailchimp using the subscriber's birthday field.` | | Win-back campaign | `Send a win-back email to Mailchimp subscribers who have not opened any email in 90 days.` | | Event invite | `Send an event invitation through Mailchimp with RSVP links that update a Supabase table.` | | Subscriber dashboard | `Build an admin dashboard showing total subscribers, open rates, and recent campaign stats from Mailchimp.` | ## Tips * **Mailchimp uses OAuth, not API keys.** You authorize Rocket through Mailchimp's login flow. No keys to copy or rotate. * **Free tier includes 500 contacts and 1,000 sends per month.** Automation and scheduling are not available on the free plan. Upgrade for larger audiences and features like A/B testing. * **Campaign design happens in Mailchimp.** Rocket can trigger sends and manage subscribers, but visual email template editing is best done in Mailchimp's built-in designer. * **Manage audiences in Mailchimp.** You can add subscribers through Rocket, but removing contacts, managing compliance, and editing audience settings must be done in the Mailchimp dashboard. * **One Mailchimp account per project.** Each Rocket project connects to one Mailchimp account. ## What's next? Store user data and sync subscriber information with your database. Trigger email campaigns when users make purchases or subscribe to plans. Add transactional email for password resets and receipts alongside Mailchimp. Track campaign-driven traffic and conversions in your analytics dashboard. # MailerLite Source: https://docs.rocket.new/build/connectors/mailerlite Connect MailerLite to your Rocket.new app - build newsletters, subscriber forms, and email automation. Connect MailerLite and describe the email flow you want in chat. Rocket generates the complete logic: signup forms, subscriber list management, automation triggers, and email sending. MailerLite is ideal for clean, straightforward email marketing without the complexity of enterprise platforms. Pair with [Supabase](/build/connectors/supabase/overview) for user data and [Stripe](/build/connectors/stripe) for payment-triggered emails. ## What you can do Collect subscriber emails through forms and deliver regular newsletters with rich content. Embedded forms, popups, and scroll-triggered captures that grow your email list. Waitlists and early access campaigns with subscriber tagging. Drip campaigns and automation workflows triggered by subscriber actions. Organize subscribers into groups and send targeted emails based on interests or behavior. ## Before you connect You need your **API token** from the MailerLite dashboard. **Create or copy your MailerLite API token** Never paste your MailerLite API token directly into chat. Always use the secure connection popup. If your token has been exposed, revoke it from MailerLite and generate a new one. ## Connect MailerLite You can connect from two places - both open the same popup. **Option 1: From chat** Type a prompt that mentions MailerLite - for example, `Connect MailerLite and add a newsletter signup form to my landing page`. Rocket detects the intent and shows a **Connect** button inline. Click it and the popup opens. MailerLite connection prompt in the Rocket chat panel. MailerLite connection prompt in the Rocket chat panel. **Option 2: From the Connectors tab** Click the **`...`** button in the preview toolbar, then select **Connectors**. Toolbar dropdown with Connectors option highlighted. Toolbar dropdown with Connectors option highlighted. Click the **MailerLite** card, then click **Connect**. Connectors panel showing the MailerLite card with a Connect button. Connectors panel showing the MailerLite card with a Connect button. **After clicking Connect** A popup opens. Paste your **API token**, then click **Save**. A green dot appears next to MailerLite when the connection is active. MailerLite API token input popup. MailerLite API token input popup. **Update or disconnect** Go to [**Connectors > MailerLite**](#connect-mailerlite). Update your token or click **Disconnect** to remove the integration. MailerLite integration showing connected state with a Disconnect button. MailerLite integration showing connected state with a Disconnect button. You can connect from two places - both open the same popup. **Option 1: From chat** Type a prompt that mentions MailerLite. Rocket detects the intent, shows a **Connect** button, and the popup opens when you tap it. **Option 2: From the Connectors tab** 1. Tap the **More** button in the header. 2. Tap **Integrations**. 3. Tap the **MailerLite** card, then tap **Connect**. **After tapping Connect** A popup opens. Paste your **API token**, then tap **Done**. A green dot appears next to MailerLite when the connection is active. **Update or disconnect** Go to **Integrations > MailerLite**. Update your token or tap **Disconnect** to remove the integration. ## Example prompts | Use case | Prompt | | ----------------- | ---------------------------------------------------------------------------------------------------------------------- | | Newsletter signup | `Add a newsletter signup form to my landing page that stores subscribers in MailerLite.` | | Welcome sequence | `When a new subscriber joins, start a 5-email welcome sequence through MailerLite over 5 days.` | | Blog digest | `Send a weekly email digest through MailerLite with the latest blog posts every Monday morning.` | | Popup form | `Show a signup popup after 30 seconds on the page. Add the email to MailerLite on submit.` | | Waitlist signup | `Add a MailerLite signup form for my product waitlist. Tag subscribers as "waitlist" and show a confirmation.` | | Segmented send | `Let users pick topics during signup and add them to matching MailerLite groups for targeted emails.` | | Re-engagement | `Send a re-engagement email through MailerLite to subscribers who have not opened an email in 90 days.` | | Subscriber count | `Show a live subscriber count on my homepage by pulling the total from MailerLite's API.` | | Unsubscribe page | `Build a custom unsubscribe page that removes the user from the MailerLite list and shows a confirmation.` | | A/B subject line | `Send two versions of the newsletter with different subject lines to a small group, then send the winner to everyone.` | ## Tips * **MailerLite is built for email marketing.** It excels at newsletters, subscriber management, and automation. For transactional emails like password resets, pair it with [Resend](/build/connectors/resend) or [SendGrid](/build/connectors/sendgrid). * **Free tier includes 500 subscribers and 12,000 emails per month.** A solid starting point. Upgrade as your list grows. * **API token permissions matter.** Generate a token with the permissions your app needs. Read-only tokens cannot add subscribers or send emails. * **Manage subscribers in MailerLite.** You can add subscribers through Rocket, but removing subscribers, managing unsubscribes, and editing groups must be done in the MailerLite dashboard. * **One MailerLite account per project.** Each Rocket project connects to one MailerLite API token. ## What's next? Store user data and sync subscriber information with your database. Trigger email sequences when users subscribe to paid plans. Add transactional email alongside MailerLite for password resets and receipts. Track newsletter signup conversions and email-driven traffic. # Mixpanel Source: https://docs.rocket.new/build/connectors/mixpanel Connect Mixpanel to Rocket and track feature adoption, analyze funnels, and segment users: all wired up from chat. Describe the analytics you want in chat and Rocket generates the complete tracking logic: event calls, funnel visualizations, retention charts, and user segmentation. This connector is only available for **Next.js TypeScript** web build tasks. ## What you can do Measure which features users engage with and how often, so you can prioritize what to build next. Visualize how users move through multi-step flows like signups, onboarding, or checkout. Compare metrics across experiment variants to see which version performs better. Group users by behavior, plan type, or demographics to understand how different audiences use your app. Measure how many users return to your app over time and which actions drive long-term engagement. ## Before you connect You need three values from [Mixpanel Settings](https://mixpanel.com/settings/org): * **Account username:** your Mixpanel service account username * **Account secret:** your Mixpanel service account secret * **Region:** `US` or `EU`, depending on where your Mixpanel project data is hosted **Create a Mixpanel service account** from the Mixpanel documentation. **How to create a service account:** Open [Mixpanel Settings](https://mixpanel.com/settings/org) and go to **Organization Settings > Service Accounts**. Click **Add Service Account** to open the Create Service Account dialog. Enter a **Name**, set **Organization Role** and **Project Role**, and choose the **Projects** this account can access. Leave **Expires** as **Never** unless your organization requires rotation. Click **Create**, then copy the **username** and **secret** immediately. Mixpanel shows the secret only once. Mixpanel Create Service Account dialog with Name, Organization Role, Projects, Project Role, and Expires fields. Mixpanel Create Service Account dialog with Name, Organization Role, Projects, Project Role, and Expires fields. Mixpanel is a **task-level** connector. Each Rocket task connects to its own Mixpanel credentials independently. ## Connect Mixpanel You can connect from two places. Both do the same thing. **Option 1: From chat** Type a prompt that mentions Mixpanel, for example `Connect Mixpanel and track when users click the Sign Up button`. Rocket detects the intent and shows a **Connect** button inline. Click it to open the credentials popup. Rocket chat panel showing a Connect prompt for Mixpanel. Rocket chat panel showing a Connect prompt for Mixpanel. **Option 2: From the Connectors tab** Click the **`...`** button in the preview toolbar, then select **Connectors**. Toolbar dropdown with Connectors option highlighted. Toolbar dropdown with Connectors option highlighted. Click the **Mixpanel** card, then click **Connect**. Connectors panel showing the Mixpanel card with a Connect button. Connectors panel showing the Mixpanel card with a Connect button. **After clicking Connect** A popup opens. Enter your **Account username**, **Account secret**, and **Region**. Connect Mixpanel popup with Account username, Account secret, and Region fields. Connect Mixpanel popup with Account username, Account secret, and Region fields. Click **Connect**. A green dot appears next to Mixpanel when the connection is active. **Update or disconnect** Open [**Connectors > Mixpanel**](#connect-mixpanel) and click the card. Click **Edit** to update your credentials or **Disconnect** to remove the integration from this task. Mixpanel card showing Edit and Disconnect buttons. Mixpanel card showing Edit and Disconnect buttons. You can connect from two places. Both do the same thing. **Option 1: From chat** Type a prompt that mentions Mixpanel. Rocket detects the intent and shows a **Connect** button inline. Tap it to open the credentials screen. **Option 2: From the Connectors tab** Tap the **More** button in the header. Tap **Integrations**. Tap the **Mixpanel** card, then tap **Connect**. **After tapping Connect** A popup opens. Enter your **Account username**, **Account secret**, and **Region**, then tap **Done**. A green dot appears next to Mixpanel when the connection is active. **Update or disconnect** Go back to the **Mixpanel** card in Integrations. Tap **Edit** to update credentials or **Disconnect** to remove it from this task. ## Example prompts | What you want | Prompt to use | | :--------------- | :------------------------------------------------------------------------------------------------------- | | Button tracking | `Track clicks on the Sign Up and Subscribe buttons and send events to Mixpanel.` | | Page views | `Track page views for every route in my app and send them to Mixpanel with the page name.` | | Signup funnel | `Track a signup funnel: Visit > Click Sign Up > Complete Form > Verify Email. Show drop-off rates.` | | Feature usage | `Track usage of the search, filter, and export features. Show a daily usage chart for the last 30 days.` | | User properties | `Set Mixpanel user properties for plan type, signup date, and company name on login.` | | Retention chart | `Show a weekly retention chart for users who completed onboarding in the last 8 weeks.` | | A/B test | `Track an A/B test on the pricing page. Compare conversion rates for monthly vs. annual pricing.` | | Revenue tracking | `Send a Purchase Completed event to Mixpanel with the order total and product name.` | | Error tracking | `Track JavaScript errors as Mixpanel events with the error message and stack trace.` | | Session duration | `Track session start and end times. Show average session duration per day on a line chart.` | ## Tips * **Data region matters.** Choose `US` or `EU` to match where your Mixpanel project data is hosted. Using the wrong region causes events to fail silently - they appear to send but never appear in your Mixpanel dashboard. * **Events appear with a short delay.** Mixpanel typically processes events within a few seconds, but dashboard aggregations may take a few minutes to update. * **Some analytics features depend on your Mixpanel plan.** Advanced features like signal reports and data pipelines may require a paid plan. * **One Mixpanel account per task.** Each Rocket task connects to one set of Mixpanel credentials. Use different tasks for different Mixpanel accounts. * **Credentials are stored securely.** Rocket encrypts them at rest and never exposes them in client-side code. ## What's next? Link Mixpanel events to authenticated users with Supabase user management. Track payment events and revenue alongside user behavior in Mixpanel. Combine SMS notifications with analytics for a complete user communication picture. Browse every available integration. # Netlify Source: https://docs.rocket.new/build/connectors/netlify Connect Netlify to your Rocket.new app: deploy to a live URL with one click, automatic HTTPS, and global CDN. Connect Netlify and deploy your web app with one click. Rocket handles the build and deployment automatically, so you go from project to live URL in seconds. Rocket includes a default Netlify account for deployments. Connecting your own gives you full control over deployment history, custom domains, and the Netlify dashboard. ## What you can do Publish your web app to a public Netlify URL with automatic HTTPS and global CDN. Your app is live in seconds. After making changes in Rocket, deploy again to push the latest version to the same URL instantly. After deploying, connect your own domain through the [Netlify dashboard](https://app.netlify.com) and update your DNS records. ## Connect Netlify Netlify connects via OAuth, so no API key is needed. It is a **workspace-level** connector, so connect it once from Settings and it is available across all tasks. Connect once from Settings and it is available across all tasks. Click the **Netlify** card and click **Connect**. A Netlify authorization screen opens. Sign in if prompted, review the permissions, and click **Authorize**. Netlify OAuth authorization screen asking to authorize Rocket to access your Netlify account. Netlify OAuth authorization screen asking to authorize Rocket to access your Netlify account. A green dot appears next to Netlify when the connection is active. **Disconnect** Disconnect or switch accounts from workspace Settings. ## Deploy your task Netlify deployment is triggered from the Rocket UI, not chat prompts. Click the **Launch** button in your task to publish. Click the **Launch** button in the Rocket preview toolbar. Select **Production** or **Staging**. Rocket builds and deploys your app to a live Netlify URL automatically. For a full walkthrough of staging and production environments, see [Launch your site](/build/launch-web/launch-your-site). ## Tips * **Web apps only.** Netlify hosts web applications. Mobile apps built in Rocket cannot be deployed to Netlify. * **Default account available.** If you do not connect your own Netlify account, Rocket uses a default one. Connect your own for full control over deployment history and custom domains. * **Custom domains are configured in Netlify.** After deploying, go to the [Netlify dashboard](https://app.netlify.com) to connect a custom domain and update DNS records. * **Build settings are automatic.** Rocket configures the correct build command and publish directory - no manual setup needed. * **HTTPS is included.** All Netlify deployments come with free HTTPS certificates automatically. ## What's next? Connect your own domain to your Netlify deployment. Push your code to GitHub for version control alongside Netlify deployments. Track visitors and page views on your live Netlify site with GA4. Browse every available integration. # Notion Source: https://docs.rocket.new/build/connectors/notion Connect Notion to Rocket and build directly from your pages, databases, and wikis, or write generated content back to your workspace. Connect Notion via OAuth and describe what you want to build in chat. Rocket reads your pages, databases, and wikis as source material and can write generated content back into your workspace. Notion is a **workspace-level** connector. Connect it once from Settings and it is available across all tasks. ## What you can do Link a product requirements document in Rocket. Rocket reads feature lists, user stories, and acceptance criteria, then builds exactly what was specced. A product catalog database becomes a storefront. A contacts database becomes a CRM. A job listings database becomes a careers page. Replace lorem ipsum with real copy pulled from your brand guidelines, product docs, or culture pages in Notion. Turn internal knowledge into functional tools. Onboarding wikis become checklist apps. Support docs become searchable help centers. Use Notion pages as source material for changelogs, roadmaps, about pages, and FAQs. Push generated landing page copy, campaign briefs, project docs, social copy banks, and client handoffs back into your workspace. ## Before you connect Notion uses OAuth, so no API key is required. You authorize Rocket through Notion's login flow and choose which pages and databases to share. Rocket can only read pages you explicitly grant access to during the OAuth flow. It cannot access your entire workspace unless you select all pages. ## Connect Notion You can connect from three places. All do the same thing. **Option 1: From chat** Type a prompt that references a Notion page or database, for example `Read my PRD at [NOTION_URL] and build the described app`. Rocket detects the intent and shows a **Connect** button inline. Click it to open the authorization flow. Chat showing a Connect button inline after a Notion prompt. Chat showing a Connect button inline after a Notion prompt. **Option 2: From the Connectors tab** Click the **`...`** button in the preview toolbar, then select **Connectors**. Toolbar dropdown with Connectors option highlighted. Toolbar dropdown with Connectors option highlighted. Click the **Notion** card, then click **Connect with Notion**. Connectors panel showing the Notion card with a Connect with Notion button. Connectors panel showing the Notion card with a Connect with Notion button. **Option 3: From workspace Settings** Connect once from Settings and it is available across all tasks. **After clicking Connect with Notion** Notion's authorization screen opens. Select the workspace you want to connect, review the permissions, check **I recognize and trust this URL**, and click **Continue**. Notion MCP authorization screen showing workspace selection and permission list. A green dot appears next to Notion when the connection is active. **Disconnect** Disconnect or switch accounts from workspace Settings. You can connect from two places. Both do the same thing. **Option 1: From chat** Type a prompt that references a Notion page or database. Rocket shows a **Connect** button inline. Tap it to open the authorization flow. **Option 2: From the Connectors tab** 1. Tap the **More** button in the header. 2. Tap **Integrations**. 3. Tap the **Notion** card, then tap **Connect with Notion**. **After tapping Connect with Notion** Notion's authorization screen opens. Select the workspace you want to connect, review the permissions, and tap **Continue**. A green dot appears next to Notion when the connection is active. ## Example prompts Replace `[NOTION_URL]` with the link to your Notion page or database. ### Read from Notion | Use case | Prompt | | :-------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------- | | Build from PRD | `Read my PRD at [NOTION_URL] and build the described app with all features, user stories, and data models.` | | Enrich hero section | `Update the hero section using my brand guidelines at [NOTION_URL]. Rewrite the headline, subtext, and CTA to match our actual positioning.` | | Update features from spec | `Update the features section using my product spec at [NOTION_URL]. Rewrite every feature card to reflect what we actually built.` | | Add FAQ from knowledge base | `Replace the FAQ section using questions from [NOTION_URL]. Add pricing, integration, and security FAQ blocks.` | | Add changelog page | `Add a changelog page using my release notes at [NOTION_URL] with real dates and feature descriptions.` | | Add roadmap page | `Add a public roadmap page using my roadmap doc at [NOTION_URL] with features, timelines, and status indicators.` | ### Write back to Notion | Use case | Prompt | | :--------------------------- | :-------------------------------------------------------------------------------------------------------------- | | Save copy for review | `Save all copy from this landing page to Notion at [NOTION_URL] for the marketing team to review.` | | Create campaign brief | `Create a campaign brief in Notion covering objective, target audience, key messages, and CTAs from this page.` | | Create project documentation | `Create project documentation in Notion covering what was built, every page, section, and design decision.` | | Create social copy bank | `Create a social copy bank in Notion with LinkedIn posts, X posts, and captions derived from this page.` | | Create client handoff doc | `Create a client handoff doc in Notion covering what was built, what to update, and next steps.` | ## Tips * **Select only what Rocket needs.** During the OAuth flow, share only the pages and databases relevant to your task. Focused context produces better results. * **Paste Notion URLs directly in chat.** Linking to a specific page or database gives Rocket exact context. Vague references may pull the wrong content. * **Write-back is structured.** Rocket writes back as Notion pages with proper headings, code blocks, and tables - not plain text. * **Database relations are supported.** Rocket understands linked databases and can use related records as context. * **Generated docs are drafts.** Treat content Rocket writes to Notion as starting points. Review and refine before sharing externally. # OpenAI Source: https://docs.rocket.new/build/connectors/openai Connect OpenAI to Rocket and add GPT-powered AI to your app - from chat assistants and content generators to search and summarization. Connect your OpenAI API key and describe the AI feature you need in chat. Rocket handles all the integration code automatically so you can focus on what your features should do. This connector is only available for **Next.js TypeScript** web build tasks. ## What you can do Conversational chatbot that answers questions, provides recommendations, or guides users through workflows. Let users generate blog posts, marketing copy, product descriptions, or social media content from simple prompts. Upload documents or paste text and get concise summaries, key takeaways, or action items automatically. Semantic search that understands user intent instead of just matching keywords. Automate first-line support with a bot that answers FAQs, triages issues, and escalates complex requests. ## Before you connect You need an OpenAI API key. Get your OpenAI API key from the dashboard Never paste your API key directly into chat. Always use the secure connector popup. If your key is exposed, rotate it immediately from the OpenAI dashboard. OpenAI is a **task-level** connector. Each Rocket task connects to its own API key independently. ## Connect OpenAI You can connect from two places - both open the same popup. **Option 1: From chat** Type a prompt that mentions OpenAI or GPT - for example, `Connect OpenAI and add a GPT-powered chat assistant to my app`. Rocket detects the intent and shows a **Connect** button inline. Click it and the popup opens. OpenAI connection prompt in the Rocket chat panel. OpenAI connection prompt in the Rocket chat panel. **Option 2: From the Connectors tab** Click the **`...`** button in the preview toolbar, then select **Connectors**. Toolbar dropdown with Connectors option highlighted. Toolbar dropdown with Connectors option highlighted. Click the **OpenAI** card, then click **Connect**. Connectors panel showing the OpenAI card with a Connect button. Connectors panel showing the OpenAI card with a Connect button. **After clicking Connect** A popup opens. Paste your **API key** and click **Connect**. Connect OpenAI popup with an API key input field. Connect OpenAI popup with an API key input field. A green dot appears next to OpenAI when the connection is active. **Update or disconnect** Go to [**Connectors > OpenAI**](#connect-openai). Click **Edit** to update the key or **Disconnect** to remove the integration. OpenAI card showing Edit and Disconnect buttons. OpenAI card showing Edit and Disconnect buttons. You can connect from two places - both open the same popup. **Option 1: From chat** Type a prompt that mentions OpenAI or GPT. Rocket detects the intent, shows a **Connect** button, and the popup opens when you tap it. **Option 2: From the Connectors tab** 1. Tap the **More** button in the header. 2. Tap **Integrations**. 3. Tap the **OpenAI** card, then tap **Connect**. **After tapping Connect** A popup opens. Paste your **API key** and tap **Done**. A green dot appears next to OpenAI when the connection is active. **Update or disconnect** Go back to the **OpenAI** card in Integrations. Tap **Edit** to update the key or **Disconnect** to remove it from this task. ## Example prompts | What you want | Prompt to use | | :------------------- | :-------------------------------------------------------------------------------------------------- | | Chatbot | `Add an AI chatbot to my app that answers user questions using OpenAI GPT.` | | Blog writer | `Build a blog post generator where users enter a topic and get a full draft from GPT.` | | Email drafter | `Create an email composer that generates professional emails from bullet points using GPT.` | | Code explainer | `Add a code explainer tool where users paste code and get a plain-English explanation from OpenAI.` | | Content moderator | `Use OpenAI to automatically flag inappropriate user-submitted content before it is published.` | | Quiz generator | `Build a quiz generator that creates multiple-choice questions from any topic using GPT.` | | Language translator | `Add a translation feature that converts user text between languages using OpenAI.` | | Sentiment analyzer | `Analyze customer feedback sentiment using OpenAI and display results in a dashboard.` | | Meeting summarizer | `Summarize meeting notes into key decisions and action items using GPT.` | | Product descriptions | `Generate product descriptions from basic details like name, category, and features using OpenAI.` | ## Tips * **API billing is separate.** OpenAI charges based on token usage. Monitor your spending in the [OpenAI usage dashboard](https://platform.openai.com/usage). * **Rate limits apply.** New accounts have lower rate limits. Check your [rate limit tier](https://platform.openai.com/docs/guides/rate-limits) and request an increase if needed. * **Token costs vary by model.** Longer prompts and responses cost more. Keep system prompts concise and set reasonable max token limits. * **OpenAI vs. Anthropic.** GPT models excel at broad general-purpose tasks, function calling, and vision. Claude is better suited for long-context analysis and tasks requiring careful, detailed reasoning. * **One API key per task.** Each Rocket task connects to one OpenAI API key independently. ## What's next? Add Claude models for long-context analysis and detailed reasoning alongside GPT. Connect Google's Gemini models for multimodal AI features. Add real-time web search and up-to-date answers to your AI features. Store conversation history, user preferences, and AI-generated content. # Overview Source: https://docs.rocket.new/build/connectors/overview Connect 26+ third-party services to your Rocket.new apps with a single prompt - payments, CRM, databases, AI, email, and more. Part of the only vibe solutioning platform with research, building, and intelligence. Rocket integrates with 25+ services out of the box. Connect once via API key or OAuth, then tell Rocket what you want to build. It generates the code, UI, and logic automatically. Some connectors only work in **Next.js TypeScript** tasks. Each connector's page notes any task-type requirements at the top. Connectors can be either **task-level** or **workspace-level**: * **Task-level** connectors (e.g. Supabase, Stripe, AdSense, HubSpot) are connected per task. Each task stores its own credentials independently. * **Workspace-level** connectors (e.g. Typeform, GitHub, Google) connect once from workspace Settings and are shared across all tasks in your workspace. ## How it works Open **Connectors** and select the service you want. Paste your API key or authorize via OAuth. Describe what you want to build in chat. Rocket generates the complete feature: UI, backend logic, API calls, and error handling. Your API keys are encrypted at rest and never exposed in your code. To disconnect any integration, open the **`...`** menu in the preview toolbar, select **Connectors**, and click the connector you want to remove. ## How to open In the preview toolbar, click the **`...`** button and select **Connectors** from the dropdown. You can also ask in chat: ```plaintext wrap theme={null} Connect Stripe to my project. ``` ## What should I use? Not sure which integrations you need? Pick what you are building. **Recommended stack:** Supabase + Stripe + Resend + Netlify User auth, subscription billing, transactional email, and one-click deployment. **Recommended stack:** Supabase + Stripe + SendGrid + Google Analytics Product catalog, payments, order confirmation emails, and conversion tracking. **Recommended stack:** OpenAI or Anthropic + Supabase + Stripe Chat and content generation, conversation storage, and usage monetization. **Recommended stack:** Strapi or Directus + Netlify + Google Analytics Headless CMS, fast global deployment, and readership tracking. **Recommended stack:** Calendly + Supabase + Twilio or Resend Scheduling, user accounts, and booking confirmation notifications. **Recommended stack:** Typeform or Tally + Mailchimp or Brevo + Airtable + Google Analytics Lead capture forms, email nurture sequences, lightweight CRM, and funnel analytics. ## Browse by category Click any connector to see the setup guide and example prompts. ### Payments and ads Accept one-time payments, subscriptions, and donations. Test with Stripe's sandbox before going live. Accept payments, manage orders, process refunds, and handle subscriptions. India's leading payment gateway. Monetize your app or website with Google display ads. ### Email and messaging Developer-first email API. Great for transactional emails like receipts, password resets, and notifications. High-volume email delivery for transactional and marketing emails at scale. All-in-one email marketing and transactional email platform (formerly Sendinblue). Email marketing, newsletters, and subscriber automation with a simple interface. Email campaigns, audience management, and marketing automation. Send SMS messages for verifications, alerts, and notifications. Not sure which one to pick? See the comparison table with pricing, strengths, and recommendations. ### AI and machine learning Add GPT-powered chat, content generation, summarization, and text analysis. Use Claude for safe, nuanced AI responses and long-form content generation. Google's multimodal AI for text, chat, and image understanding. AI-powered search with cited, fact-based answers from the web. Which AI model is right for your app? See the comparison with strengths, pricing, and use cases. ### Databases and CMS Instant backend with PostgreSQL database, user authentication, file storage, and edge functions. Spreadsheet-meets-database for managing leads, content, inventory, and internal workflows. Open-source headless CMS with a visual admin panel for content management. Open-source headless CMS that wraps any SQL database with an instant REST and GraphQL API. Use Webflow CMS collections and site content as a live data source for your app. Supabase vs Airtable vs Strapi vs Directus: which one fits your project? ### Analytics and tracking Track page views, user journeys, conversions, and traffic sources with GA4. Event-based analytics for tracking user behavior, feature adoption, and conversion funnels. Google Analytics vs Mixpanel: which one fits your needs? ### Forms and scheduling Conversational forms for lead capture, surveys, quizzes, and feedback collection. Simple, powerful forms with a generous free tier. Great for quick feedback and signups. Scheduling and appointment booking with automatic calendar sync. Typeform vs Tally, Calendly: see the comparison. ### Social and media Display your Instagram feed, recent posts, and social proof directly in your app. ### CRM Sync contacts, manage deal pipelines, track email events, and trigger marketing automation workflows from your app. ### Productivity and collaboration Read from Docs, Sheets, and Calendar to build with real context. Write outputs back. Read pages, databases, and wikis. Write docs, briefs, and copy banks back to Notion. Build directly from tickets and projects. Write follow-up issues back to your board. Use team docs, specs, and wikis as context so generated code reflects your organization's actual standards. Google Workspace vs Notion vs Linear: which tools should you connect? ### Design and development Import Figma designs and convert them into production-ready code. Sync your codebase to GitHub for backups, collaboration, and version control. Deploy your app to the web with one click. No config needed. ## Use any API Do not see your service listed above? Rocket can connect to **any REST API**. Import from Postman, cURL, Postman JSON, or OpenAPI/Swagger specs. Step-by-step guide to connecting external APIs by providing request and response examples. These APIs have been connected by the Rocket community using the API importer: Checkout and payment processing. In-person and online payments. Payment gateway for Africa. Subscriptions and tax management. Sell digital products. European payment processing. Latin American payments. Donations and memberships. Usage-based billing. Crypto market data. CRM, billing, and auth. Transaction data. Run open-source AI models. xAI chat and reasoning. NLP and text generation. Route to hundreds of AI models. Deploy custom AI models. Uncensored AI conversations. Browser-side ML models. Text-to-image generation. AI typography and images. Text-to-vector image generation. Turn websites into LLM-ready data. AI-powered search engine. Google Search results API. Automated messages and workflows. Bots and server integrations. Connect 5,000+ web apps. Open-source workflow automation. Automation and workflows. Business management suite. Design tools integration. Maps and navigation. Video embedding and data. Royalty-free images and videos. GIF search and embedding. Sound effects library. Music data and playback. AI video generation. Programmatic video creation. Auto-generate social media images. Stock and financial market data. Real-time market data. Weather data for any location. Global news aggregation. News from 150K+ sources. NYT article search. Sports data and scores. Pet adoption database. Cocktail recipes database. Database and backend services. E-commerce platform API. Product analytics and A/B testing. Data visualization. Business intelligence. Interactive charts and graphs. Diagrams and flowcharts. Interactive flowcharts. Animation library. Interactive animations. Rich text editor. Generate QR codes. PDF processing. Repository analytics. Code compilation and execution. Email delivery API. Visual backend builder. GPU compute for AI workloads. Decentralized hosting. Micro-backend service. Event management. Event and ticket data. Job listings. US government job listings. Travel reviews and data. Product barcode lookup. Time zones and conversions. Word cloud generation. Health and fitness data. *** ## What's next? See how to combine multiple connectors into a single project workflow. Set up event tracking with Mixpanel, Google Analytics, or Segment. Add form collection and appointment booking to your app. Return to the main Build documentation hub. # Perplexity Source: https://docs.rocket.new/build/connectors/perplexity Connect Perplexity to Rocket and add AI-powered search with cited, real-time answers to your app. Connect your Perplexity API key and describe the search feature you need in chat. Rocket handles all the integration code automatically so you can focus on what your features should do. This connector is only available for **Next.js TypeScript** web build tasks. ## What you can do Let users ask questions and get answers backed by linked sources from across the web. Let users paste a claim and verify it against current web sources. Research competitors, market trends, or industry news with sourced summaries. Aggregate and summarize the latest news on a topic with links to original articles. Answer user questions using both internal data and live web sources, with full citations. ## Before you connect **Get your Perplexity API key** from your Perplexity account. Never paste your API key directly into chat. Always use the secure connector flow. If you believe your key has been exposed, rotate it immediately from your Perplexity account. The API key is scoped to the task you connect it in. Each task stores its own key. Connecting in one task does not affect others. ## Connect Perplexity You can connect from two places. Both open the same popup. **Option 1: From chat** Type a prompt that mentions Perplexity, for example `Connect Perplexity and add a search bar that answers user questions with cited sources`. Rocket detects the intent and shows a **Connect** button inline. Click it and the popup opens. Perplexity connection prompt in the Rocket chat panel. Perplexity connection prompt in the Rocket chat panel. **Option 2: From the Connectors tab** Click the **`...`** button in the preview toolbar, then select **Connectors**. Toolbar dropdown with Connectors option highlighted. Toolbar dropdown with Connectors option highlighted. Click the **Perplexity** card, then click **Connect**. Connectors panel showing the Perplexity card with a Connect button. Connectors panel showing the Perplexity card with a Connect button. **After clicking Connect** A popup opens. Paste your **API key** and click **Connect**. Connect Perplexity popup with an API key input field. Connect Perplexity popup with an API key input field. A green dot appears next to Perplexity when the connection is active. **Update or disconnect** Go to [**Connectors > Perplexity**](#connect-perplexity). Click **Edit** to update the key or **Disconnect** to remove the integration. Perplexity card showing Edit and Disconnect buttons. Perplexity card showing Edit and Disconnect buttons. Open the task in the Rocket mobile app. Tap the **More** button in the header, then tap **Connectors**. Tap the **Perplexity** card and enter your API key. ## Example prompts | Use case | Prompt | | :----------------- | :------------------------------------------------------------------------------------------------- | | Search bar | `Add a search bar that uses Perplexity to answer user questions with cited sources.` | | Fact-checker | `Build a fact-checking tool where users paste a claim and get a verified answer with sources.` | | Research assistant | `Create a research panel where users enter a topic and get a summary with linked references.` | | News feed | `Build a news aggregator that shows the latest headlines and summaries on a chosen topic.` | | Competitor tracker | `Add a competitor analysis page where users enter a company name and get recent news and updates.` | | Product comparison | `Create a product comparison tool that researches specs and pricing from across the web.` | | Knowledge Q\&A | `Create a Q&A page where users ask questions and get answers sourced from our docs and the web.` | | Trend monitor | `Build a dashboard that tracks trending topics in a specific industry with source links.` | ## Tips * **Best for factual, search-based tasks.** For creative writing, code generation, or open-ended conversation, use Anthropic or OpenAI instead. * **Citation quality varies by topic.** Perplexity pulls from live web results, so niche or very recent topics may have fewer high-quality sources. * **Rate limits apply.** Monitor usage in your Perplexity dashboard to avoid hitting caps during high traffic. * **API billing is separate from Rocket.** Perplexity charges based on API usage. See their [pricing page](https://docs.perplexity.ai/guides/pricing). * **Key is scoped to this task.** Each Rocket task connects to one Perplexity API key. # Comparison guide Source: https://docs.rocket.new/build/connectors/productivity-guide Compare productivity integrations in Rocket.new: Google Workspace, Notion, Linear, Jira, and Confluence for docs, specs, and project management. Rocket supports five productivity integrations. Each covers a different part of your team's workflow. Most teams connect several, but this guide helps you prioritize. ## Quick answer * For specs, wikis, and team knowledge, use **Notion**. * For spreadsheets, docs, and calendars, use **Google Workspace**. * For tickets, projects, and bug reports, use **Linear**. * For Jira tickets, epics, and sprint boards, use **Jira**. * For product documentation and knowledge bases, use **Confluence**. All work in both directions: Rocket reads your existing content to build with real context, then writes generated outputs back into your tools. ## Comparison table | Capability | Google Workspace | Notion | Linear | Jira | | --------------------------- | ------------------------------------------------- | ------------------------------------------ | ----------------------------------------------- | ----------------------------------------------- | | **Best for** | Structured data, specs, calendars | Team knowledge, PRDs, content | Issue tracking, sprints, project management | Issue tracking, epics, sprint boards | | **What Rocket reads** | Docs, Sheets, Calendar events | Pages, databases, wikis, templates | Tickets, projects, acceptance criteria | Issues, epics, acceptance criteria, sprint data | | **What Rocket writes back** | Docs (copy, reports), Sheets (data, SEO metadata) | Pages (briefs, docs, copy banks, handoffs) | Issues (follow-ups, QA tickets, client changes) | Read-only (build from tickets) | | **Content types** | Text, tabular data, calendar events | Rich text, databases, relations, embeds | Issues, projects, documents, labels | Issues, epics, sprints, workflows | | **Real-time data** | Yes (Sheets, Calendar) | Yes (databases, pages) | Yes (issues, projects) | Yes (issues, sprints) | | **Write-back creates** | New documents and spreadsheets | New pages with structured content | New issues and project boards | N/A | | **Connection method** | OAuth | OAuth | OAuth | OAuth (Atlassian) | | **Pricing** | Free (personal), paid (Workspace) | Free tier available | Free tier available | Free tier available | ## Choosing by use case ### Specs and PRDs your team already wrote **Connect Notion or Google Docs.** If your PRDs live in Notion, connect Notion. If they live in Google Docs, connect Google Workspace. Either way, Rocket reads the full spec and builds from it directly. ```plaintext wrap theme={null} Read my PRD at [NOTION_URL] and build the described app with all features, user stories, and data models. ``` ### Build from tickets and acceptance criteria **Connect Linear or Jira.** Point Rocket at a ticket and it reads the title, description, and acceptance criteria, then generates the implementation. Your sprint board becomes your build queue. ```plaintext wrap theme={null} Build the feature described in [LINEAR_URL]. Read the full requirements and acceptance criteria before generating. ``` ### Build from epics and sprint context **Connect Jira.** Paste an epic URL and Rocket reads all child stories, or reference your current sprint to build the highest-priority work first. ```plaintext wrap theme={null} Read the Jira epic at [JIRA_URL] and build all the screens and features described in its child stories. ``` ### Data in spreadsheets that should drive your app **Connect Google Workspace.** Rocket reads columns, rows, and data types from your Sheets and generates apps that reflect your real data structure. Pricing matrices, product catalogs, team rosters, and campaign trackers all work. ```plaintext wrap theme={null} Read my product catalog at [SHEETS_URL] and build a storefront with search, filters, and a detail view for each product. ``` ### Write documentation after building **Connect Notion.** Notion is the best destination for generated docs: project documentation, campaign briefs, content banks, client handoff docs, sales one-pagers, and competitive positioning docs. ```plaintext wrap theme={null} Create project documentation in Notion covering what was built, every page, section, component, and design decision. ``` ### Follow-up tickets created automatically **Connect Linear.** After building, Rocket populates your board with QA tickets, enhancement requests, and client change requests. Each issue gets a description, priority, and acceptance criteria. ```plaintext wrap theme={null} Create Linear tickets for all follow-up work from this build: QA test cases, enhancements, and edge cases to handle. ``` ### Marketing team reviewing generated copy **Connect Notion or Google Workspace.** Push generated copy to a Notion page or Google Doc. Your marketing team reviews and approves in the tool they already use. ```plaintext wrap theme={null} Save all marketing copy from this landing page to Notion for the team to review. Organize it by section. ``` ### Connect everything for a complete loop **Connect all five.** Specs from Notion or Docs inform the build. Jira or Linear tickets define the scope. Rocket generates the app. Documentation flows back to Notion, follow-up tickets flow to Linear, and data exports flow to Sheets. ```plaintext wrap theme={null} Read the spec at [NOTION_URL], build the feature, then create project documentation in Notion, QA tickets in Linear, and export the content structure to Google Sheets. ``` ## How it works These integrations work in both directions and happen during and after generation, not as a separate export step. | Direction | What happens | Example | | ---------------------- | ----------------------------------------- | ------------------------------------------------------------------------ | | **Rocket reads** | Your existing content informs the build | Spec in Notion becomes a working app | | **Rocket writes back** | Generated output flows back to your tools | Generated copy pushed to Notion for review | | **Full loop** | Both directions in one workflow | Read ticket from Linear, build feature, create QA tickets back in Linear | ## Browse productivity integrations Read from Docs, Sheets, and Calendar. Write copy and data back. Read pages, databases, and wikis. Write docs, briefs, and copy banks back. Read tickets and projects. Write follow-up issues and updates back. Read issues, epics, and sprint data. Build directly from your board. Read product specs and documentation as build context. # Razorpay Source: https://docs.rocket.new/build/connectors/razorpay Connect Razorpay to your Rocket.new app and accept payments, process refunds, manage subscriptions, and handle orders with a single prompt. Connect Razorpay via OAuth and describe the payment flow you want in chat. Rocket generates the complete checkout experience: order creation, payment forms, webhook handlers, and subscription management, all grounded in your real Razorpay configuration. This connector is only available for **Next.js TypeScript** web build tasks. Razorpay is a **workspace-level** connector. Connect it once from Settings and it is available across all tasks. ## What you can do Accept single payments for products, services, or digital goods with a Razorpay-powered checkout page. Monthly or yearly plans with automatic billing, upgrade and downgrade flows, and cancellation handling. Create and track orders programmatically. Pull order history into dashboards and admin panels. Trigger full or partial refunds from your app and sync refund status back to your UI. ## Before you connect Razorpay uses OAuth, so no API key is required. You authorize Rocket through Razorpay's login flow and Rocket gets scoped access to your account. Rocket can only access the Razorpay account you authorize during the OAuth flow. To switch accounts, disconnect and reconnect with the new account. Always test with Razorpay's **Test Mode** before switching to Live Mode. Test card: `4111 1111 1111 1111` with any future expiry and CVV. ## Connect Razorpay You can connect from three places. All do the same thing. **Option 1: From chat** Type a prompt that mentions Razorpay - for example, `Connect Razorpay and add a checkout for ₹499`. Rocket detects the intent and shows a **Connect** button inline. Click it and the authorization flow opens. Razorpay connection prompt in the Rocket chat panel. Razorpay connection prompt in the Rocket chat panel. **Option 2: From the Connectors tab** Click the **`...`** button in the preview toolbar, then select **Connectors**. Toolbar dropdown with Connectors option highlighted. Toolbar dropdown with Connectors option highlighted. Click the **Razorpay** card, then click **Connect**. Connectors tab showing the Razorpay card with a Connect button. Connectors tab showing the Razorpay card with a Connect button. **Option 3: From workspace Settings** Connect once from Settings and it is available across all tasks. **After clicking Connect** Razorpay's authorization screen opens. Review the permissions Rocket is requesting, check **I've read Terms & Conditions**, then click **Authorize**. A green dot appears next to Razorpay when the connection is active. Razorpay OAuth authorization screen showing the permissions Rocket is requesting. **Disconnect** Disconnect or switch accounts from workspace Settings. You can connect from two places. Both do the same thing. **Option 1: From chat** Type a prompt that mentions Razorpay. Rocket detects the intent, shows a **Connect** button, and the authorization flow opens when you tap it. **Option 2: From the Connectors tab** 1. Tap the **More** button in the header. 2. Tap **Integrations**. 3. Tap the **Razorpay** card, then tap **Connect**. **After tapping Connect** Razorpay's authorization screen opens. Review the permissions, check **I've read Terms & Conditions**, then tap **Authorize**. A green dot appears next to Razorpay when the connection is active. **Disconnect** Go to **Integrations > Razorpay**. Tap **Disconnect** to remove the integration. ## Example prompts | Use case | Prompt | | ---------------------- | ----------------------------------------------------------------------------------------------------------------------- | | Simple checkout | `Add a Razorpay checkout for my ₹999 product with a success page.` | | Subscription plans | `Create a pricing page with Free, Pro (₹499/mo), and Enterprise (₹1999/mo) tiers using Razorpay.` | | Order history | `Add an Orders page that shows the user's past Razorpay payments with status and amounts.` | | Refund flow | `Add a Refund button on the order detail page that triggers a full Razorpay refund and updates the order status.` | | Webhook handler | `Set up a Razorpay webhook handler for payment.captured and payment.failed events and update the database accordingly.` | | International checkout | `Add a Razorpay checkout that supports INR and USD with automatic currency detection.` | ## Tips * **Always start in Test Mode.** Use Razorpay's test credentials during development. Switch to Live Mode only when you are ready to accept real payments. Test card: `4111 1111 1111 1111`. * **Webhooks are handled automatically.** Rocket generates the webhook handler code for common events like `payment.captured`, `subscription.charged`, and `refund.processed`. * **Connect Supabase first.** Rocket links Razorpay customers and orders to authenticated Supabase users. Connect Supabase before adding Razorpay for a complete payment flow. * **Refunds and disputes live in Razorpay.** Manage financial reconciliation, settlements, and disputes directly from the Razorpay Dashboard. * **INR is the default currency.** Razorpay supports multi-currency but defaults to INR. Mention your target currency explicitly in your prompt if needed. ## What's next? Connect Supabase for user accounts and order storage to complete the payment flow. Send payment confirmation and receipt emails automatically after Razorpay payments. Need global card payments? Stripe is an alternative for non-India markets. Full recipe: Supabase + payments + email to build a complete SaaS product. # Resend Source: https://docs.rocket.new/build/connectors/resend Connect Resend to your Rocket.new app - send welcome emails, password resets, and order confirmations with a single prompt. Connect Resend and describe the email flow you want in chat. Rocket generates the complete implementation: email templates, send logic, and secure API integration. ## What you can do Personalized welcome emails triggered the moment a user signs up, with onboarding steps and branding. Secure, branded password reset emails instead of the default Supabase template. Receipt emails after a purchase with order details, totals, and receipt number. Collect emails and add subscribers to a mailing list using Resend Audiences. Branded invite emails with a unique signup or join link when adding team members. ## Before you connect You need your **API key** from the Resend Dashboard. **Create or copy your Resend API key** Never paste your Resend API key directly into chat. Always use the secure connection popup. If your key has been exposed, rotate it immediately from the Resend dashboard. Resend works best paired with [Supabase](/build/connectors/supabase/overview) for linking emails to authenticated users. You can also route Supabase Auth emails through Resend's SMTP for full branding control. ## Connect Resend You can connect from two places - both open the same popup. **Option 1: From chat** Type a prompt that mentions Resend - for example, `Connect Resend and send a welcome email when a user signs up`. Rocket detects the intent and shows a **Connect** button inline. Click it and the popup opens. Resend connection prompt in the Rocket chat panel. Resend connection prompt in the Rocket chat panel. **Option 2: From the Connectors tab** Click the **`...`** button in the preview toolbar, then select **Connectors**. Toolbar dropdown with Connectors option highlighted. Toolbar dropdown with Connectors option highlighted. Click the **Resend** card, then click **Connect**. Connectors panel showing the Resend card with a Connect button. Connectors panel showing the Resend card with a Connect button. **After clicking Connect** A popup opens. Paste your **API key**, then click **Save**. A green dot appears next to Resend when the connection is active. Resend API key input popup. Resend API key input popup. **Update or disconnect** Go to [**Connectors > Resend**](#connect-resend). Update your key or click **Disconnect** to remove the integration. Resend integration showing connected state with a Disconnect button. Resend integration showing connected state with a Disconnect button. You can connect from two places - both open the same popup. **Option 1: From chat** Type a prompt that mentions Resend. Rocket detects the intent, shows a **Connect** button, and the popup opens when you tap it. **Option 2: From the Connectors tab** 1. Tap the **More** button in the header. 2. Tap **Integrations**. 3. Tap the **Resend** card, then tap **Connect**. **After tapping Connect** A popup opens. Paste your **API key**, then tap **Done**. A green dot appears next to Resend when the connection is active. **Update or disconnect** Go to **Integrations > Resend**. Update your key or tap **Disconnect** to remove the integration. ## Example prompts | Use case | Prompt | | ------------------ | ------------------------------------------------------------------------------------------------------------ | | Welcome email | `Send a welcome email through Resend when a new user signs up with Supabase.` | | Password reset | `Route Supabase password reset emails through Resend with custom branding.` | | Order confirmation | `After a Stripe payment, send a receipt email through Resend with the order total.` | | Newsletter signup | `Add a newsletter form that saves emails to Supabase and adds them to my Resend Audience.` | | Team invite | `Send an invitation email through Resend with a unique join link when I invite a team member.` | | Email verification | `Send a verification email through Resend with a 6-digit code when a user registers.` | | Weekly digest | `Send a weekly digest email every Monday with the user's activity summary from Supabase.` | | Abandoned cart | `If a user adds items to cart but does not check out within 24 hours, send a reminder email through Resend.` | | Feedback request | `Send a feedback request email through Resend 3 days after a user completes onboarding.` | | Custom HTML email | `Create a styled HTML email template in Resend with our logo, brand colors, and a CTA button.` | ## Tips * **Supabase is recommended.** Rocket links Resend emails to Supabase user accounts for the best experience. Most auth email flows (welcome, password reset) work best with Supabase connected. * **SMTP routing for auth emails.** Route Supabase Auth emails through Resend for custom branding. See the [Resend + Supabase SMTP guide](https://resend.com/docs/send-with-supabase-smtp). * **Resend Audiences for marketing.** Resend supports newsletters and marketing emails through Audiences and Broadcasts, with built-in analytics and unsubscribe handling. * **API key security.** Your key is encrypted at rest and never exposed in your project code. Always use the secure integration flow to connect. * **One Resend account per project.** Each Rocket project connects to one Resend API key. Use different projects for different Resend accounts. * **Free plan sender limits.** Free Resend accounts can only send from the default account email. To use a custom domain, upgrade your Resend plan, verify the domain, and update the `from` field in your Supabase Edge Function. Once your domain is verified in Resend, update the `from` field in the Edge Function that handles sending. 1. Go to the [Supabase Dashboard](https://supabase.com/dashboard) and open your project. 2. Click **Edge Functions** in the left sidebar. 3. Open the function that handles email sending (for example, `send-welcome-email`). 4. Click the **Code** tab. 5. Find the `resend.emails.send` call and update the `from` field: ```typescript theme={null} await resend.emails.send({ from: "noreply@yourdomain.com", // your verified domain address to: recipientEmail, subject: "...", html: "...", }); ``` 6. Click **Deploy** (or **Redeploy**) to apply the change. 7. Trigger the function to confirm the email arrives from the new address. Use the **Logs** tab if anything fails. If you route Supabase Auth emails (password reset, magic link) through Resend SMTP, the sender address for those is set separately under **Project Settings → Authentication → SMTP Settings** in the Supabase Dashboard, not in an Edge Function. ## What's next? Send order confirmation and receipt emails after Stripe payments with Resend. Recommended for linking emails to authenticated users and routing auth emails through Resend. An alternative email integration if you prefer SendGrid's platform. Full recipe: Supabase + Stripe + Resend + Netlify to build a complete SaaS product. # SendGrid Source: https://docs.rocket.new/build/connectors/sendgrid Connect SendGrid to your Rocket.new app - send transactional emails, run campaigns, and manage subscribers. Connect SendGrid and describe the email flow you want in chat. Rocket generates the complete sending logic: templates, API calls, event tracking, and delivery management. SendGrid excels at high-volume sending and marketing campaigns. For simpler developer-focused transactional email, [Resend](/build/connectors/resend) may be a lighter option. ## What you can do Password resets, order confirmations, invoices, and account verification emails triggered by user actions. Promotional emails, product announcements, and seasonal campaigns to segmented audiences. Reusable templates with personalized fields like names, order numbers, and custom data. Track open rates, click rates, bounces, and delivery status for every email you send. Collect subscriber emails and send regular newsletters with rich content. ## Before you connect You need your **API key** from the SendGrid Dashboard. **Create or copy your SendGrid API key** Never paste your SendGrid API key directly into chat. Always use the secure connection popup. If your key has been exposed, revoke it from SendGrid Settings and create a new one. SendGrid requires domain authentication or single-sender verification before you can send emails. Complete this in **SendGrid Settings > Sender Authentication** before connecting. ## Connect SendGrid You can connect from two places - both open the same popup. **Option 1: From chat** Type a prompt that mentions SendGrid - for example, `Connect SendGrid and send an order confirmation email when a user completes checkout`. Rocket detects the intent and shows a **Connect** button inline. Click it and the popup opens. SendGrid connection prompt in the Rocket chat panel. SendGrid connection prompt in the Rocket chat panel. **Option 2: From the Connectors tab** Click the **`...`** button in the preview toolbar, then select **Connectors**. Toolbar dropdown with Connectors option highlighted. Toolbar dropdown with Connectors option highlighted. Click the **SendGrid** card, then click **Connect**. Connectors panel showing the SendGrid card with a Connect button. Connectors panel showing the SendGrid card with a Connect button. **After clicking Connect** A popup opens. Paste your **API key**, then click **Save**. A green dot appears next to SendGrid when the connection is active. SendGrid API key input popup. SendGrid API key input popup. **Update or disconnect** Go to [**Connectors > SendGrid**](#connect-sendgrid). Update your key or click **Disconnect** to remove the integration. SendGrid integration showing connected state with a Disconnect button. SendGrid integration showing connected state with a Disconnect button. You can connect from two places - both open the same popup. **Option 1: From chat** Type a prompt that mentions SendGrid. Rocket detects the intent, shows a **Connect** button, and the popup opens when you tap it. **Option 2: From the Connectors tab** 1. Tap the **More** button in the header. 2. Tap **Integrations**. 3. Tap the **SendGrid** card, then tap **Connect**. **After tapping Connect** A popup opens. Paste your **API key**, then tap **Done**. A green dot appears next to SendGrid when the connection is active. **Update or disconnect** Go to **Integrations > SendGrid**. Update your key or tap **Disconnect** to remove the integration. ## Example prompts | Use case | Prompt | | --------------------- | ------------------------------------------------------------------------------------------------------------------ | | Order confirmation | `Send an order confirmation email through SendGrid when a user completes checkout. Include order total and items.` | | Password reset | `Add a forgot-password flow that sends a reset link via SendGrid with a 15-minute expiration.` | | Welcome email | `Send a welcome email through SendGrid when a new user signs up, with a getting-started guide.` | | Marketing campaign | `Build an admin page where I can compose and send a marketing email to a SendGrid contact list.` | | Weekly digest | `Send a weekly digest email every Monday with the user's activity summary from the past week.` | | Abandoned cart | `Send an abandoned cart reminder email 2 hours after a user leaves items in their cart.` | | Invoice email | `Generate a PDF invoice and email it through SendGrid after each successful Stripe payment.` | | Re-engagement | `Send a re-engagement email to users who have not logged in for 30 days.` | | Event invitation | `Send an event invitation email with RSVP buttons that update the user's response in Supabase.` | | Shipping notification | `Send a shipping notification email with tracking number and estimated delivery date.` | ## Tips * **Verify your sender identity first.** SendGrid requires domain authentication or single-sender verification before you can send emails. Complete this in SendGrid Settings before connecting. * **No permanent free tier.** SendGrid's free plan allows 100 emails per day. Upgrade for higher volume. Check [SendGrid pricing](https://sendgrid.com/en-us/pricing) for current plans. * **Manage contacts in SendGrid.** You can add subscribers through Rocket, but deleting contacts and managing suppression lists must be done in the SendGrid dashboard. * **One SendGrid account per project.** Each Rocket project connects to one SendGrid API key. Use different projects for different SendGrid accounts. ## What's next? Store user data and trigger emails based on database events and user actions. Send payment confirmations and invoice emails after Stripe transactions. Compare with Resend for simpler transactional email needs. Track email campaign performance alongside your website analytics. # Strapi Source: https://docs.rocket.new/build/connectors/strapi Connect Strapi to Rocket and build blogs, documentation sites, and e-commerce catalogs from your headless CMS: no copy-pasting content or API setup. Point Rocket at your Strapi instance and describe the content experience you want in chat. Rocket reads your content types, generates the pages, and wires up the data. This connector is only available for **Next.js TypeScript** web build tasks. ## What you can do Publish articles with images, categories, and author profiles managed in Strapi. Structured docs with sidebar navigation and versioned content from Strapi. Display products with images, descriptions, pricing, and variant options from Strapi. Render pages from Strapi content types with modular blocks like heroes, feature grids, and CTAs. Showcase team members, partners, or directory listings pulled from Strapi. ## Before you connect You need two things: your **Strapi project URL** (e.g. `https://your-project.strapiapp.com`) and an **API token** from your Strapi Admin Panel. **Get your Strapi API token** from the Strapi documentation. Never paste your API token directly into chat. Always use the secure connection popup. If a token is ever exposed, revoke it from the Strapi Admin Panel and create a new one. Strapi is a **task-level** connector. Each Rocket task connects to its own Strapi instance independently. ## Connect Strapi You can connect from two places. Both do the same thing. **Option 1: From chat** Type a prompt that mentions Strapi, for example `Connect Strapi and display blog posts from my CMS`. Rocket detects the intent and shows a **Connect** button inline. Click it to open the credentials popup. Rocket chat panel showing a Connect prompt for Strapi. Rocket chat panel showing a Connect prompt for Strapi. **Option 2: From the Connectors tab** Click the **`...`** button in the preview toolbar, then select **Connectors**. Toolbar dropdown with Connectors option highlighted. Toolbar dropdown with Connectors option highlighted. Click the **Strapi** card, then click **Connect**. Connectors panel showing the Strapi card with a Connect button. Connectors panel showing the Strapi card with a Connect button. **After clicking Connect** A popup opens. Enter your **Instance URL** and **API token**, then click **Connect**. Connect Strapi popup with Instance URL and API token fields. Connect Strapi popup with Instance URL and API token fields. A green dot appears next to Strapi when the connection is active. **Update or disconnect** Open [**Connectors > Strapi**](#connect-strapi) and click the card. Click **Edit** to update your credentials or **Disconnect** to remove the integration from this task. Strapi card showing Edit and Disconnect buttons. Strapi card showing Edit and Disconnect buttons. You can connect from two places. Both do the same thing. **Option 1: From chat** Type a prompt that mentions Strapi. Rocket detects the intent and shows a **Connect** button inline. Tap it to open the credentials screen. **Option 2: From the Connectors tab** Tap the **More** button in the header. Tap **Integrations**. Tap the **Strapi** card, then tap **Connect**. **After tapping Connect** A popup opens. Enter your **Instance URL** and **API token**, then tap **Done**. A green dot appears next to Strapi when the connection is active. **Update or disconnect** Go back to the **Strapi** card in Integrations. Tap **Edit** to update credentials or **Disconnect** to remove it from this task. ## Set up your Strapi instance Skip this section if you already have a running Strapi instance with the MCP plugin installed. The MCP plugin is required for both Strapi Cloud and self-hosted projects. **Option A: Strapi Cloud** Go to [Strapi Cloud](https://cloud.strapi.io) and create an account. Connect your repository from GitHub or GitLab, or pick a default template. Deploy from the cloud dashboard. Continue to [Install the MCP plugin](#install-the-mcp-plugin) below. **Option B: Self-hosted** Create a new Strapi project locally: ```bash wrap theme={null} npx create-strapi@latest ``` Answer the setup questions and wait for installation to complete. Continue to [Install the MCP plugin](#install-the-mcp-plugin) below. ### Install the MCP plugin Inside your Strapi project folder: ```bash wrap theme={null} npm install @sensinum/strapi-plugin-mcp @strapi/admin@latest ``` Update `config/plugins.ts`: ```js wrap theme={null} module.exports = ({ env }) => { const allowedIPs = env('MCP_ALLOWED_IPS'); const ipConfig = !allowedIPs ? '*' : allowedIPs === '*' ? '*' : allowedIPs.split(',').map(ip => ip.trim()); return { mcp: { enabled: true, config: { session: { type: 'memory', max: 20, ttlMs: 600000, updateAgeOnGet: true }, allowedIPs: ipConfig, } } }; }; ``` ```bash wrap theme={null} npm run build && npm run develop ``` Strapi starts at `http://localhost:1337`. For Strapi Cloud, commit and push to trigger deployment. **Create content types and set permissions** Open the **Strapi Admin Panel**. For Strapi Cloud, click the **Visit app** button in your project dashboard to open the admin panel. Go to **Content-Type Builder** and create your content types (e.g., Blog, Product, Page). Add fields and save. Go to **Content Manager** and add sample records. Go to **Settings > Users & Permissions > Roles**. Select the **Public** role and enable `find` and `findOne` for your content types. Save. ## Example prompts | What you want | Prompt to use | | :-------------------- | :---------------------------------------------------------------------------------------- | | Blog listing | `Show all articles from my Strapi blog content type with thumbnails and dates.` | | Article detail page | `When a user clicks an article, show the full rich-text body and author bio from Strapi.` | | Documentation site | `Build a docs site with sidebar navigation from my Strapi docs collection.` | | Product catalog | `Create a product grid from Strapi with images, prices, and a detail page for each item.` | | Dynamic page sections | `Render pages from Strapi page-sections with hero, features, and CTA block types.` | | Search | `Add a search bar to my Strapi blog that filters articles by title and content.` | | Category filter | `Add category tabs to my Strapi product listing that filter items by type.` | | Pagination | `Add pagination to my Strapi blog listing, showing 12 posts per page.` | | Image gallery | `Display images from my Strapi media library in a responsive masonry grid.` | ## Tips * **Your API token is stored securely.** Rocket encrypts it at rest and never exposes it in client-side code. * **Strapi must be publicly accessible.** Your instance needs to be reachable from the internet. Local-only instances will not work unless tunnelled. * **One Strapi project per task.** Each Rocket task connects to one set of Strapi credentials. Use different tasks for different Strapi instances. * **Content deletion happens in Strapi.** Rocket can create and update records, but delete content and assets directly from your Strapi admin panel. * **Use the right token type.** Full Access works for development. Use a Read-only token for production apps that only display content. ## What's next? Comparing headless CMS options? See how Directus works with Rocket. Pair Strapi content with Supabase auth and user management. Send notification emails when new content is published from Strapi. Browse every available integration. # Stripe Source: https://docs.rocket.new/build/connectors/stripe Connect Stripe to your Rocket.new app and accept payments, subscriptions, and donations with a single prompt. Connect Stripe and describe the payment flow you want in chat. Rocket generates the complete checkout experience: pricing pages, payment forms, webhook handlers, and subscription management. ## What you can do Monthly or yearly plans with automatic billing, upgrades, downgrades, and cancellation. Sell digital products, courses, templates, or physical goods with a simple checkout flow. One-time or recurring donations with preset or custom amounts. Cart-based checkout with multiple line items, quantities, and a single Stripe payment session. ## Before you connect You need your **Secret key** and **Publishable key** from the Stripe Dashboard. **Open your Stripe API keys in the Stripe Dashboard** | Key type | Prefix | Usage | | :------------------ | :----- | :---------------------------------------- | | **Publishable key** | `pk_` | Safe to use on the client side | | **Secret key** | `sk_` | Server side only - keep this confidential | Keys come in two modes. Always start with **Test keys** and switch to **Live keys** only when you are ready to accept real payments. Never paste your Stripe keys directly into chat. Always use the secure connection popup. If your Secret key has been exposed, rotate it immediately from the [Stripe Dashboard](https://dashboard.stripe.com/apikeys). Stripe works best paired with [Supabase](/build/connectors/supabase/overview) for user accounts. Rocket links Stripe customers to authenticated Supabase users automatically. ## Connect Stripe You can connect from two places - both open the same popup. **Option 1: From chat** Type a prompt that mentions Stripe - for example, `Connect Stripe and add a $49 one-time checkout`. Rocket detects the intent and shows a **Connect** button inline. Click it and the popup opens. Stripe connection prompt in the Rocket chat panel. Stripe connection prompt in the Rocket chat panel. **Option 2: From the Connectors tab** Click the **`...`** button in the preview toolbar, then select **Connectors**. Toolbar dropdown with Connectors option highlighted. Toolbar dropdown with Connectors option highlighted. Click the **Stripe** card, then click **Connect**. Connectors tab showing the Stripe card with a Connect button. Connectors tab showing the Stripe card with a Connect button. **After clicking Connect** A popup opens. Paste your **Secret key** and **Publishable key**, then click **Save**. A green dot appears next to Stripe when the connection is active. Stripe API key input popup. Stripe API key input popup. **Update or disconnect** Go to [**Connectors > Stripe**](#connect-stripe). Update your keys or click **Disconnect** to remove the integration. Stripe integration showing connected state with a Disconnect button. Stripe integration showing connected state with a Disconnect button. You can connect from two places - both open the same popup. **Option 1: From chat** Type a prompt that mentions Stripe. Rocket detects the intent, shows a **Connect** button, and the popup opens when you tap it. **Option 2: From the Connectors tab** 1. Tap the **More** button in the header. 2. Tap **Integrations**. 3. Tap the **Stripe** card, then tap **Connect**. **After tapping Connect** A popup opens. Paste your **Secret key** and **Publishable key**, then tap **Done**. A green dot appears next to Stripe when the connection is active. **Update or disconnect** Go to **Integrations > Stripe**. Update your keys or tap **Disconnect** to remove the integration. ## Example prompts | Use case | Prompt | | ------------------- | -------------------------------------------------------------------------------------------- | | Simple checkout | `Add a Stripe checkout for my $49 product with a success page.` | | Subscription plans | `Create a pricing page with Free, Pro ($19/mo), and Enterprise ($99/mo) tiers using Stripe.` | | Donations | `Add Stripe donation buttons with $5, $10, $25, $50 options and a custom amount field.` | | Free trial | `Add a 14-day free trial to the Pro plan. Charge $19/month after the trial ends.` | | Invoices | `Generate and email a PDF invoice to the customer after each Stripe payment.` | | Coupon codes | `Add a coupon code field to the checkout page that applies a Stripe discount.` | | Refund flow UI | `Add a "View Orders" page with order history and a link to the Stripe customer portal.` | | Usage-based billing | `Track API calls per user and charge $0.01 per call using Stripe metered billing.` | ## Tips * **Always start with Test mode keys.** Switch to Live keys only when you are ready to accept real payments. Test card: `4242 4242 4242 4242`. * **Connect Supabase first.** Rocket links Stripe customers to Supabase user accounts. Connect Supabase before connecting Stripe. * **Webhooks are handled automatically.** Rocket sets up the necessary webhook handlers for events like `checkout.session.completed` and `customer.subscription.updated`. * **Refunds and disputes live in Stripe.** Manage refunds, disputes, and financial reporting directly from the Stripe Dashboard. * **One set of keys per task.** Each Rocket task connects to a single set of Stripe API keys. You can use the same Stripe account across multiple tasks. ## What's next? Stripe requires Supabase for user accounts. Set it up if you have not already. Send order confirmation and receipt emails automatically after Stripe payments. Track checkout conversion rates and revenue with GA4 e-commerce events. Full recipe: Supabase + Stripe + Resend + Netlify to build a complete SaaS product. # Edge functions Source: https://docs.rocket.new/build/connectors/supabase/edge-functions Connect Supabase Edge Functions to your Rocket.new app - generate and deploy serverless backend logic from chat. Rocket auto-detects when backend logic is needed and generates Supabase Edge Functions for you. This guide covers creating and deploying functions from chat, adding secrets securely, and troubleshooting deployment errors. ## What are Supabase Edge Functions? Edge Functions run on Supabase infrastructure and handle secure backend logic for your app. They are ideal for tasks like sending emails, calling APIs, generating PDFs, or processing data. * Execute on the server, not the user's device. * Can store and use secrets securely. * Can be triggered from your UI or backend processes. Why use Edge Functions with Rocket? Rocket writes the function code, prompts you for secrets, and deploys to Supabase. All from chat. ## Create or detect a function in Rocket Rocket auto-checks if backend logic is needed when you build features. If a function is required and does not exist, Rocket generates it and opens a chat popup. You will see: * The function name and a code preview. * Input fields for any required secrets. * A **Push to Supabase** button to deploy. You can also ask Rocket to create a function manually. For example: ```plaintext wrap theme={null} Create an Edge Function that sends a welcome email with Resend when a user signs up. ``` Rocket will: * Write the function code. * Prompt for the `RESEND_API_KEY`. Popup showing secure input field for Resend API key during function creation. Popup showing secure input field for Resend API key during function creation. * Show a **Push to Supabase** popup so you can deploy the function. Edge Function deployment popup with code preview, secret fields, and deploy button. Edge Function deployment popup with code preview, secret fields, and deploy button. No need to open the Supabase dashboard unless you want to review or manage functions manually. ## View functions and secrets in Supabase To review deployed functions or confirm stored secrets, use the Supabase dashboard. **View deployed functions:** Supabase dashboard showing a list of deployed Edge Functions. Supabase dashboard showing a list of deployed Edge Functions. Supabase dashboard showing Edge Function details and status. Supabase dashboard showing Edge Function details and status. **View stored secrets:** Supabase dashboard displaying secrets linked to Edge Functions. Supabase dashboard displaying secrets linked to Edge Functions. ## Add secrets securely When Rocket asks for secrets: * Paste them into the secure input fields provided. * The secrets are saved in Supabase, not Rocket. * You can update or rotate them later by asking Rocket to redeploy. ## Call your function from the app Once deployed, Rocket can automatically wire your function into your app. You can also ask for specific triggers, such as: * After user actions like signups or button clicks. * From other backend processes. To test first, ask Rocket to add a test button that triggers the function safely during development. ## Example: Send a welcome email **Prompt:** ```plaintext wrap theme={null} Send a welcome email using Resend when a new user signs up. ``` **Rocket will:** * Generate the function. * Request the `RESEND_API_KEY`. * Show a **Push to Supabase** popup. * Connect the function to your signup flow. ## Troubleshooting ### 1. Function not found What you will see: Rocket or your app reports that the function does not exist. To fix this: Rocket shows an error popup with a **Fix it** button. Click it. Rocket will check the issue and either: * Repair the function and show a **Push to Supabase** popup. * Generate a script to deploy if schema changes are needed. If the function exists but does not behave as expected, describe the problem clearly in chat. For example: ```plaintext wrap theme={null} When users sign up, they are not receiving the welcome email. ``` Rocket will inspect, apply changes, and prompt you to redeploy. ### 2. Push to Supabase failed What you will see: An error appears when you click **Push to Supabase**. To fix this: Check the error message shown in the popup. If a **Fix it** button is available, click it. Rocket will: * Fix the function. * Show a new **Push to Supabase** popup so you can retry. Push the updated function or script as prompted. Your Rocket app now runs secure server logic with Supabase Edge Functions, all created and deployed from chat. *** ## What's next? Set up file uploads and media storage with Supabase Storage. See all Supabase features available in Rocket. # Email templates Source: https://docs.rocket.new/build/connectors/supabase/email-templates Customize Supabase email templates in your Rocket.new app - brand confirmation, reset, and magic link emails. Customize the email templates Supabase sends for sign-up confirmation, password reset, and magic links. This guide covers editing subject lines and body content while keeping the required placeholders intact. The built-in Supabase email service is intended for development use only and has rate limits. For production apps, connect a custom SMTP provider. ## Edit email templates in Supabase 1. In your Supabase project, go to **Authentication** in the left sidebar. 2. Under **Configuration**, choose **Emails**. 3. Switch to the **Templates** tab. Supabase Email Templates tab showing configuration options for confirmation and reset emails. Supabase Email Templates tab showing configuration options for confirmation and reset emails. You should now see templates like Confirm Signup, Magic Link, and Reset Password. Click the template you want to customize, such as **Confirm signup**. You can update the following: * **Subject line**: What appears in the user's inbox. * **Email body**: The message content, written in HTML or plain text. Keep placeholders like `{{ .ConfirmationURL }}`. If removed, the email will not work as expected. Click **Save** at the bottom of the editor. Then test your update by triggering that email type in Rocket. For example, sign up to test the confirmation email. The email you receive should reflect your custom content, and all links should work correctly. ## Troubleshooting ### 1. Email still shows old content What you will see: You updated the template, but the email still shows the old message. To fix this: * Make sure you clicked **Save** in Supabase. * Clear your email client's cache (especially in webmail). * Trigger a new signup or password reset. Old links will not refresh. ### 2. Links in the email are broken What you will see: The email arrives, but the link is missing or unclickable. To fix this: * Confirm you kept the placeholder variable like `{{ .ConfirmationURL }}` in the template. * Double-check the **Site URL** in Supabase. It must match your Rocket app's live domain. Your Rocket app now sends custom, branded emails through Supabase that look right and function reliably. # Connect an existing project Source: https://docs.rocket.new/build/connectors/supabase/existing-project Connect an existing Supabase project to your Rocket.new app - share a database across multiple apps. Connect multiple Rocket projects to the same Supabase database or reuse an existing backend you already have. This guide covers when sharing a database makes sense, best practices for shared setups, and how to connect an existing project. ## Why share a Supabase database Sharing a single Supabase project across Rocket apps is useful when you want to: * Power multiple frontends (e.g., customer site and admin panel) with the same data. * Keep authentication, storage, and APIs consistent across builds. * Test new UI designs without duplicating your backend. Already using Supabase? You can bring that database into Rocket and focus entirely on the UI. ## Best practices Rocket connects to your entire Supabase project, but only uses what you tell it to. Clear prompts lead to cleaner builds. * **Start with your schema** In your first prompt, mention the tables and fields you need. **Example:** * Table: **Users** → Fields: *Name, Email, Date joined* * Table: **Orders** → Fields: *Order ID, Status, Amount* * **Describe your setup** If your database is already live, say so. Rocket will not auto-detect the schema unless you explain it. * **List the pages you want** Tell Rocket exactly what you need. **Example:** ```plaintext wrap theme={null} Create a Users page showing Name and Email, and an Orders page showing Status and Amount. ``` * **One project, one purpose** Keep Rocket projects focused. For example: * One for your user-facing app * One for your internal dashboard * **When Rocket generates scripts** Only push the script if you want to update the actual database. * **Push when:** You are adding new fields or tables. * **Do not push when:** Your schema already includes everything you need. * **If multiple apps share the database** Database changes affect every connected Rocket project. If one app adds a field, others can access it, but you will need to update those UIs separately.
**Example scenario:** 1. In App A, you prompt: ```plaintext wrap theme={null} Add a Phone number field to user profiles. ``` 2. Supabase now has a new field: **Phone number**. 3. App B also connects to this database, but does not yet show the field. 4. In App B, prompt Rocket: ```plaintext wrap theme={null} Update Users page to show Phone number. ``` * **Try it in a test project first** Exploring ideas? Connect to a test Supabase project before making changes to production. The more clearly you describe your schema and goals, the better Rocket can build what you need. ## Use an existing Supabase project in Rocket From your Rocket dashboard, create a new task. Start blank or use a template. You are taken to the Rocket workspace for your new task once it is created. 1. When prompted, choose **Supabase** as your database provider. 2. Log in to your Supabase account. 3. Select the project you want to link from the list. You can connect to a Supabase project used by another Rocket app or one created outside Rocket. Rocket confirms your Supabase project is connected. Rocket uses your existing schema, tables, and auth settings. You can now design pages and components without touching the database. Your app shows live data from your Supabase project. ## Troubleshooting ### 1. I do not see my Supabase project in Rocket After signing in to Supabase, the project list is empty. * Make sure you are signed in to the correct Supabase account. ### 2. Changes in one Rocket project affect another Updating the database in one Rocket project instantly affects another. * This is expected behavior when projects share a database. * To isolate changes, connect each Rocket project to a separate Supabase project. Share data, streamline your builds, and redesign faster by connecting Rocket apps to the same Supabase database. # Google sign-in for APK Source: https://docs.rocket.new/build/connectors/supabase/google-sign-in Configure Google sign-in for Android APKs built with Rocket.new - set up Google Cloud Console and Supabase OAuth. Configure Google Cloud Console and Supabase so Google sign-in works in your Android APK. This guide covers creating OAuth credentials, configuring Supabase, and updating your app configuration. **APK only:** When Google auth is configured through Supabase, Google sign-in will not work in Rocket's preview or in published web apps. It will only work in a downloaded APK installed on a real device or emulator. ## Your SHA-1 Certificate Fingerprint Rocket generates a unique SHA-1 fingerprint for your app. You will need it in **Step 1c** below. **To find it:** In your Rocket project, click **Launch** in the top-right corner. Click the **APK** tab. Your SHA-1 key is shown at the top of the tab. Click the copy icon next to it. Use copy-paste only - do not type this manually. A single wrong character will prevent users from signing in. APK tab in the Rocket Launch popup showing the SHA-1 certificate fingerprint with a copy button. APK tab in the Rocket Launch popup showing the SHA-1 certificate fingerprint with a copy button. ## Step 1 - Google Cloud Console ### 1a. Create or select your project Go to [console.cloud.google.com](https://console.cloud.google.com) and sign in. Click the project selector at the top of the page. Select your existing project, or click **New Project**, give it a name, and click **Create**. ### 1b. Set up the OAuth Consent Screen This is the screen your users see when Google asks for permission to share their account details with your app. In the sidebar, go to **APIs & Services > OAuth consent screen** and click **Get Started**. Fill in **App name** and **User support email**, then click **Next**. Select **External** and click **Next**. Fill in your **Developer contact email** and click **Next**. Click **Create**. Leave the app in **Testing** mode for now. Add your own Google account as a test user so you can sign in during testing. ### 1c. Create the Android OAuth Client ID This credential identifies your app to Google during sign-in. Go to **APIs & Services > Credentials** and click **+ Create Credentials > OAuth client ID**. Set **Application type** to **Android**. Fill in the following: | Field | Value | | --------------------------------- | -------------------------------------------------------------------------------------------------------------- | | **Name** | e.g. `MyApp Android` | | **Package name** | Copy the `namespace` value from `android/app/build.gradle.kts` in your project (e.g. `com.example.zebralover`) | | **SHA-1 certificate fingerprint** | Paste the value you copied from Rocket's **Launch** tab (see above) | Click **Create**, then **OK**. ### 1d. Create the Web OAuth Client ID Supabase requires a separate Web Client ID to handle authentication on your behalf. Click **+ Create Credentials > OAuth client ID** again. Set **Application type** to **Web application**. Name it e.g. `MyApp Web (Supabase)`. Under **Authorised redirect URIs**, click **+ Add URI** and enter: ```plaintext wrap theme={null} https://.supabase.co/auth/v1/callback ``` Replace `` including `<` and `>` with your **Project ID**, found in Supabase under **Settings > General**. Click **Create**. A dialog shows your **Client ID** and **Client Secret**. Copy and save both values - you will need them in **Step 2**. Keep your Client Secret private. Never share it publicly or include it in your app's code. ## Step 2 - Configure Supabase ### 2a. Enable Google Sign-In Log in to [supabase.com](https://supabase.com) and open your project. Go to **Authentication > Providers** in the sidebar. Find **Google**, click to expand it, and toggle **Enable sign in with Google** to **ON**. Paste the **Web Client ID** and **Client Secret** you saved in **Step 1d**. Click **Save**. ### 2b. Add the redirect URL In the sidebar, go to **Authentication > URL Configuration**. Under **Redirect URLs**, click **Add URL** and enter: ```plaintext wrap theme={null} com.yourcompany.appname://login-callback ``` Replace `com.yourcompany.appname` with your `namespace` value from `android/app/build.gradle.kts`. Click **Save**. ## Step 3 - Update Your App Configuration In Rocket, open **Code** and find `env.json` in the root folder of your project. Find the `GOOGLE_WEB_CLIENT_ID` field and replace the placeholder with the **Web Client ID** you copied in **Step 1d**. ```json wrap theme={null} { "SUPABASE_URL": "...", "SUPABASE_ANON_KEY": "...", "OPENAI_API_KEY": "...", "GEMINI_API_KEY": "...", "ANTHROPIC_API_KEY": "...", "PERPLEXITY_API_KEY": "...", "GOOGLE_WEB_CLIENT_ID": "your_google_web_client_id" } ``` Paste the Web Client ID exactly as copied from the **Step 1d** dialog. It ends with `.apps.googleusercontent.com`. ## You Are All Set Go back to Rocket, click **Build APK**, and download your APK once the build is complete. Google Cloud Console, Supabase, and your app are configured. Google sign-in will now work in your APK. *** ## What's next? Add more OAuth providers like GitHub, Apple, or Discord. See all Supabase features available in Rocket. # Supabase Source: https://docs.rocket.new/build/connectors/supabase/overview Connect Supabase to Rocket and get a full backend - database, auth, file storage, and edge functions - all scaffolded from chat. Tell Rocket what your app needs in chat - user accounts, a database, file uploads - and it generates the complete backend implementation. Supabase bundles PostgreSQL, auth, file storage, and edge functions into a single service. It is the foundational backend for most Rocket apps and pairs naturally with Stripe, Resend, and SendGrid. ## What you can build Sign-up, login, password reset, and protected routes. Supports email/password and social providers like Google and GitHub. Store and manage structured data with a PostgreSQL database. Control who can read or edit each row with row-level security policies. Push live changes to your UI instantly when rows are inserted, updated, or deleted in your database. Let users upload images, documents, or other files with secure access controls and organized storage buckets. Build SaaS products where each organization sees only its own data, with invite flows and role management. Run server-side logic like sending emails or calling third-party APIs without exposing secret keys to the client. ## Connect Supabase Supabase connects via OAuth - no API keys needed. Supabase is a **workspace-level** connector. No matter where you connect it (Settings, Connectors tab, or chat), it links to your entire Rocket workspace and is available across all tasks. You can connect from three places - all do the same thing. **Option 1: From workspace Settings** Click your profile in the top-left, then select **Settings**. Profile menu with Settings option highlighted. Profile menu with Settings option highlighted. Open the **Connectors** tab, click the **Supabase** card, and follow the OAuth flow. Workspace Settings showing the Connectors tab with the Supabase card. Workspace Settings showing the Connectors tab with the Supabase card. Connect once from Settings and it is available to all tasks. **Option 2: From the Connectors tab inside a task** Click the **`...`** button in the preview toolbar, then select **Connectors**. Toolbar dropdown with Connectors option highlighted. Toolbar dropdown with Connectors option highlighted. Click the **Supabase** card in the Connectors panel. Connectors panel showing the Supabase card. Connectors panel showing the Supabase card. Then click **Connect**. Supabase card with Connect button highlighted. Supabase card with Connect button highlighted. **Option 3: From chat** Type a prompt that mentions auth, database, or file storage. Rocket detects the intent and shows a **Connect** button inline. Rocket chat panel showing a Connect prompt for Supabase. Rocket chat panel showing a Connect prompt for Supabase. **After clicking Connect** A Supabase authorization screen opens. Sign in, review the permissions, and click **Authorize Rocket**. Supabase OAuth authorization screen. Supabase OAuth authorization screen. You will then be asked to select or create an organization and link a project. If you do not have one yet, you will be prompted to create one first. Create Supabase org. Create Supabase org. Click **Create organization**. Rocket redirects you to select it and continue. Choose your organization from the dropdown, then click **Authorize Rocket**. Supabase org selection screen. Supabase org selection screen. Once authorized, you will be prompted to link a project to this task. **Select an existing project** from the dropdown. Select Supabase project. Select Supabase project. Or click **Create new Supabase project**, enter a name, password, and region, then click **Create a new project**. Create Supabase project. Create Supabase project. To switch to a different project later, go to **Connectors** and use the Supabase project dropdown. This removes the linked project from the current task only. Your Supabase account stays connected to the workspace. 1. Click the **`...`** button in the toolbar and select **Connectors**. 2. Click the **Supabase** card. 3. Use the **Demo** dropdown to switch projects, or click **Disconnect** to unlink the current project. Supabase Connectors panel showing the project selector dropdown. Supabase Connectors panel showing the project selector dropdown. You can connect from two places. **Option 1: From Settings** 1. Tap **Settings** in the footer of the homepage. 2. Tap **Integrations**. 3. Enable the toggle next to **Supabase**. Settings icon in footer. Integrations tab. Supabase toggle enabled. **Option 2: From the Connectors tab inside a task** 1. Tap the **More** button in the header. 2. Tap **Integrations**. 3. Tap the **Supabase** card, then tap **Connect**. Integrations tab via More. Supabase connect card. **After tapping Connect** A Supabase authorization screen opens. Sign in, review the permissions, and tap **Authorize Rocket**. Supabase OAuth screen. You will then be asked to select or create an organization and link a project. If you do not have one yet, you will be prompted to create one first. Create Supabase organization. Tap **Create organization**. Rocket redirects you to select it and continue. Choose your organization from the dropdown, then tap **Authorize Rocket**. Supabase org selection. Once authorized, you will be prompted to link a project to this task. **Select an existing project** from the dropdown. Select Supabase project. Or tap **Create new Supabase project**, enter a name, password, and region, then tap **Create a new project**. Create Supabase project. To switch to a different project later, go to **Integrations** and use the Supabase project dropdown. This removes the linked project from the current task only. Your Supabase account stays connected to the workspace. 1. Tap **More** in the header, then tap **Integrations**. 2. Tap the **Supabase** card. 3. Tap **Disconnect project**. Disconnect project on mobile. Disconnect or switch accounts from workspace Settings. ## Example prompts Once Supabase is connected, paste any of these into chat to get started. | What you want | Prompt to use | | :--------------------------- | :-------------------------------------------------------------------------------------------------------------- | | Email sign-up and login | `Add email/password sign-up and login with a protected dashboard page.` | | Database with a UI | `Create a products table with name, description, price, and image URL. Add a page to list and filter products.` | | File uploads | `Let users upload profile avatars. Store images in Supabase Storage and display them on the profile page.` | | Server-side email on sign-up | `Create a Supabase Edge Function that sends a welcome email when a new user signs up.` | | Per-user data access | `Add row-level security so users can only read and edit their own records in the posts table.` | | Social login | `Add Google and GitHub login options to the sign-up page using Supabase Auth.` | | Live data feed | `Show a live feed of new messages in the chat room using Supabase real-time subscriptions.` | | Branded emails | `Customize the Supabase confirmation email template to match my app's branding.` | | Multi-tenant data | `Scope all database queries to the current user's organization using RLS policies.` | | Password reset | `Add a forgot-password page that sends a reset link via Supabase Auth.` | ## Tips * **One Supabase project per task.** Each Rocket task links to a single Supabase project. Use separate tasks if you need separate databases. * **Use edge functions for server-side logic.** When code should not reach the client - sending emails, calling APIs with secret keys - ask Rocket to create a Supabase Edge Function instead. * **Free tier limits.** Supabase free includes two active projects, 500 MB database storage, and 1 GB file storage. See [Supabase pricing](https://supabase.com/pricing) for current limits. * **Advanced database settings live in Supabase.** Extensions, connection pooling, and RLS policy debugging are managed directly from the [Supabase dashboard](https://supabase.com/dashboard). ## Go deeper Apply Rocket-generated SQL migration scripts to keep your schema in sync. Set up file storage buckets and wire them into your app. Generate and deploy Supabase Edge Functions without leaving Rocket. Add Google, GitHub, and other social login providers. Set the correct redirect URLs so login and password resets work. Step-by-step Google sign-in setup for Android APKs. Reuse an existing Supabase project across multiple Rocket tasks. Customize auth email templates to match your app's branding. ## What's next? Add payments, subscriptions, and checkout to your Supabase-powered app. Send transactional emails - welcome messages, receipts, password resets. Full walkthrough combining Supabase, Stripe, Resend, and Netlify. # Push migration scripts Source: https://docs.rocket.new/build/connectors/supabase/push-migration-scripts Apply Rocket.new-generated SQL migration scripts to keep your Supabase schema in sync. Whenever your app creates or updates tables, Rocket generates a Supabase migration script. This guide covers reviewing and pushing those scripts, avoiding issues from skipped changes, and troubleshooting common errors. Not connected yet? Follow the steps in our Supabase Integration Guide. ## When Rocket generates a script Whenever your app creates or updates tables, Rocket automatically generates a Supabase script. It appears in the chat window with a preview and two options: push or discard. Popup showing a generated Supabase script with options to preview, push, or discard. Popup showing a generated Supabase script with options to preview, push, or discard. Each script popup includes: * A clickable **script name** to preview the schema. * A **Push to Supabase** button to apply the changes. * A **Discard** button to skip the script. Rocket editor showing a migration script with push and discard options. Rocket editor showing a migration script with push and discard options. ### What happens if you skip it If you ignore the popup, the changes will not apply to Supabase. Skipping scripts can break your app. Later scripts may also fail if earlier fields or tables are missing. Rocket does not automatically retry or reapply missed scripts. Push them as they appear to keep your schema in sync. Each script depends on previous changes. Push them in order to avoid conflicts. ## Troubleshooting push errors If a script fails to push, here is how to identify and resolve common issues. ### 1. Supabase project is paused What you will see: "Your Supabase project is currently paused." Error message indicating the connected Supabase project is paused. Error message indicating the connected Supabase project is paused. To fix this: Go to [supabase.com](https://supabase.com) and open the paused project. Click **Restore Project** to reactivate it. Return to Rocket and push the script again. Restore Project button highlighted in the Supabase dashboard. Restore Project button highlighted in the Supabase dashboard. ### 2. Supabase project was deleted or disconnected What you will see: "Your connected Supabase project appears to be deleted." Error message indicating the Supabase project is deleted or disconnected. Error message indicating the Supabase project is deleted or disconnected. To fix this: In Rocket, go to **Connectors → Supabase**. Select a valid project from the dropdown. Click **Save**, then try pushing the script again. Supabase Connectors panel with project dropdown to select a valid project. Supabase Connectors panel with project dropdown to select a valid project. ### 3. Supabase is temporarily down What you will see: "Your Supabase project is temporarily unavailable." Message showing Supabase is temporarily unavailable. Message showing Supabase is temporarily unavailable. Wait a few minutes, then try pushing the script again. ### 4. The script has a schema error What you will see: An error message and a **Fix it** button. Fix it button displayed in the schema error message. Fix it button displayed in the schema error message. Click **Fix it**. Rocket will automatically repair the script and generate a corrected version. Rocket handles most schema issues, including naming conflicts, missing dependencies, and broken triggers. ## Manually running a script If you discarded a script and later want to apply it, you can run it manually in Supabase. If it is still visible, click the script name to preview it, then copy the SQL. Preview popup of a discarded script with copy option. Preview popup of a discarded script with copy option. **OR** In Rocket, open **Code**, then open the `supabase/migrations/` folder. Each script is saved there with a name and timestamp. Copy the SQL from the script you want. Rocket code view showing the Supabase migrations folder. Rocket code view showing the Supabase migrations folder. Paste the SQL into the SQL editor in your Supabase dashboard and click **Run**. Supabase SQL editor showing a pasted migration script ready to run. Supabase SQL editor showing a pasted migration script ready to run. If you change your connected Supabase project, you must run all scripts from the `supabase/migrations/` folder in sequence to match your app's schema. Every Rocket script keeps your app on track. Push as they appear to stay aligned and avoid surprises. *** ## What's next? Add backend logic deployed directly from chat. See all Supabase features available in Rocket. # Redirect URLs Source: https://docs.rocket.new/build/connectors/supabase/redirect-urls Set the correct Supabase redirect URL so auth links work in your Rocket.new app. By default, Supabase sends confirmation, password reset, and magic links to `http://localhost:3000`. This guide covers updating the Site URL in Supabase to your live app so those links work correctly for real users. ## Why you need to update redirect URLs By default, Supabase sends all user links (confirmation, reset, and magic) to `http://localhost:3000`. If you publish your Rocket app without changing this, users will be sent to a broken page. Updating this URL ensures users return to your live app after clicking any Supabase link. ## Update the redirect URL in Supabase Log in to [Supabase](https://supabase.com/) and select the project connected to your Rocket app. In the left sidebar, click **Authentication**, then open the **URL Configuration** tab. Supabase authentication settings showing the URL Configuration tab with the Site URL field. Supabase authentication settings showing the URL Configuration tab with the Site URL field. Find the **Site URL** field. Replace `http://localhost:3000` with your app's live URL. Examples: * `https://your-app-name.netlify.app` * `https://yourdomain.com` Click **Save** at the bottom of the page. Sign up using a test email and open the confirmation link. It should take you to your live Rocket app, not `localhost`. This setting applies to: * Email confirmation links. * Password reset links. * Magic links (if enabled). ## Troubleshooting ### Link still goes to localhost Clicking the link opens `localhost:3000` instead of your live app. * Double-check that the **Site URL** field in Supabase is set to your live URL and begins with `https://`. * Remove any trailing slashes. They can interfere with redirects. ### Link opens the app, but user is not logged in The link loads your app, but the user is not authenticated. * Make sure the redirect URL exactly matches your app's domain, including protocol (`https://`) and no trailing slash. * Confirm your Rocket app is connected to the same Supabase project where the URL is set. Your Supabase links now take users straight into your live Rocket app. # Social login Source: https://docs.rocket.new/build/connectors/supabase/social-auth Set up social authentication providers in Supabase for your Rocket.new app - Google, GitHub, and more. Enable social sign-in providers in Supabase and connect them to your Rocket app. This guide uses Google as an example. The process is similar for other providers. Social sign-in only works on your app's live preview or custom domain. It will not work inside Rocket's preview. ## Set up a social provider in Supabase The steps below use Google as an example. The process is similar for other providers. For provider-specific instructions, refer to their documentation. 1. In your Supabase project, go to **Authentication** from the left menu. 2. Click **Sign In / Providers**. 3. Select your provider. In this case, choose **Google**. List of authentication providers inside Supabase settings. List of authentication providers inside Supabase settings. The provider settings panel opens, showing fields for credentials and a callback URL. In your provider's developer console (e.g., Google Cloud Console): * Create a new OAuth 2.0 Client ID and Secret. * Under **Authorized JavaScript origins**, enter your Rocket app's live preview URL or custom domain. Do not use localhost. * Under **Authorized redirect URIs**, paste the **Callback URL** from Supabase. For Google, refer to the [Google OAuth setup guide](https://developers.google.com/identity/protocols/oauth2/web-server#creatingcred). You now have a Client ID and Client Secret from your provider. Back in Supabase, on the selected provider's settings page: 1. Paste the **Client ID** into the first field. 2. Paste the **Client Secret** into the second field. 3. Copy the **Redirect URL** shown in the third field. Make sure this exact URL is also set in your provider's console. Supabase Google provider settings including fields for Client ID, Client Secret, and Redirect URL. Supabase Google provider settings including fields for Client ID, Client Secret, and Redirect URL. Always copy the callback URL directly from Supabase. Each provider requires a unique format, and typos will break the flow. The provider appears as enabled in your Supabase list. 1. Launch your Rocket app to get the live preview URL. 2. Open the live preview or your custom domain (not localhost). 3. Click **Sign in with \[Provider]**. 4. Complete the provider's login flow. You are redirected back to your Rocket app and signed in successfully. ## Troubleshooting ### 1. OAuth error after clicking sign-in Clicking the provider button opens an OAuth error page. * Check that the **Authorized redirect URI** in the provider's console matches the Supabase callback exactly. * Ensure the **Authorized JavaScript origins** includes your Rocket live preview or custom domain. ### 2. Redirected but not logged in After login, you are redirected but remain unauthenticated. * Confirm Rocket is linked to the Supabase project where the provider is enabled. * Test only using your live preview link or custom domain, not localhost. You have successfully added social authentication to your Rocket app using Supabase. # Storage buckets Source: https://docs.rocket.new/build/connectors/supabase/storage-buckets Connect Supabase Storage to your Rocket.new app - upload, manage, and secure files from chat. Create and manage Supabase Storage buckets directly from Rocket chat. This guide covers creating buckets, uploading and displaying files, controlling access, and troubleshooting common issues. ``` **Three.js and WebGL scenes:** ```plaintext wrap theme={null} Add an animated Three.js particle background to my hero section. Dark theme, subtle movement. ``` ```plaintext wrap theme={null} Add a rotating 3D logo to the about page using Three.js. ``` **Spline:** ```plaintext wrap theme={null} Embed this Spline scene as a full-width background on my landing page: ``` ## Embeds Paste an embed code from any tool and tell Rocket where to place it. **Forms and surveys:** ```plaintext wrap theme={null} Add this Typeform embed to my contact page:
``` ```plaintext wrap theme={null} Embed my Tally form as a popup triggered when someone clicks "Request a demo". ``` **Scheduling:** ```plaintext wrap theme={null} Add this Calendly inline widget to my services page:
``` **Video:** ```plaintext wrap theme={null} Embed this Loom video in the onboarding section:
``` ```plaintext wrap theme={null} Add a YouTube video to the hero. Autoplay muted, no controls, looped. ``` **Maps:** ```plaintext wrap theme={null} Embed a Google Maps iframe on the contact page showing our office location. ``` ```plaintext wrap theme={null} Add a Mapbox interactive map to the locations page. ``` **Social and community:** ```plaintext wrap theme={null} Embed my latest tweets on the homepage sidebar using the Twitter timeline widget. ``` ```plaintext wrap theme={null} Add a Discord invite widget to my community page. ``` ## Scripts and tracking Paste a script tag into chat and Rocket places it in the correct location automatically. **Analytics:** ```plaintext wrap theme={null} Add Google Analytics 4 to every page: ``` ```plaintext wrap theme={null} Add Mixpanel and track a page view event on every route change. ``` **Tag managers:** ```plaintext wrap theme={null} Add Google Tag Manager to the head of every page. Here is the snippet: ``` **Pixels and retargeting:** ```plaintext wrap theme={null} Add the Meta Pixel and fire a PageView on every page load: ``` ```plaintext wrap theme={null} Add the LinkedIn Insight Tag to all pages. ``` **Session recording:** ```plaintext wrap theme={null} Add Hotjar to my site. Only load it on public pages, not inside the dashboard. ``` **Live chat and support:** ```plaintext wrap theme={null} Add this Intercom widget. Only show it when a user is logged in. ``` ```plaintext wrap theme={null} Add the Crisp chat widget to every page. Set the widget color to #FF5C00. ``` ## Styles, fonts, and animations **Custom CSS:** ```plaintext wrap theme={null} Add this CSS override to change the heading font across the whole site: h1, h2, h3 { font-family: 'Cabinet Grotesk', sans-serif; } ``` ```plaintext wrap theme={null} Add a custom scrollbar style that matches my dark theme. ``` **Fonts:** ```plaintext wrap theme={null} Add this Google Fonts import and apply Outfit as the default body font: ``` ```plaintext wrap theme={null} Add a self-hosted variable font from my /fonts folder and apply it to headings. ``` **Icon libraries:** ```plaintext wrap theme={null} Add Font Awesome and use the rocket icon in the navbar. ``` **Animation:** ```plaintext wrap theme={null} Add GSAP and use it to fade in the hero section on page load with a slight upward movement. ``` ```plaintext wrap theme={null} Add Lottie and play this animation JSON when the page loads: https://... ``` ## Targeting specific pages Not everything should load everywhere. Tell Rocket exactly where to apply the code to keep your site fast. ```plaintext wrap theme={null} Add this conversion pixel only to my thank-you page, not the rest of the site. ``` ```plaintext wrap theme={null} Load this charting library only on the dashboard. ``` ```plaintext wrap theme={null} Add this exit-intent popup script to landing pages only. ``` ## Where code gets placed Rocket determines the right location based on what the code does. You can always specify a different location. | Location | When it is used | Examples | | :------------------- | :------------------------------------------- | :--------------------------------------------------- | | **``** | Code that must load before the page renders | Font imports, meta tags, tracking pixels | | **``** | Visible components and embeds | Form widgets, 3D viewers, UI components | | **Before ``** | Code that should load after content | Analytics scripts, chat widgets | | **Inline** | Code scoped to a specific element or section | Custom styles on a button, event listeners on a form | ## What is not supported The following require dedicated backend setup and cannot be added through custom code: * Webhook endpoints * Server-side environment variables accessed outside of Rocket's environment system * Custom server-side API routes For backend functionality, see the [APIs and databases](/build/editor/apis) page. ## What's next? Some tools have dedicated integrations that are simpler than pasting raw code. Import and integrate API endpoints directly into your app. Scripts you add may be subject to cookie consent rules. Publish your site with all custom code included. # Environment variables Source: https://docs.rocket.new/build/editor/env-variables Store API keys and secrets securely in Rocket without hardcoding them. Environment variables let you store API keys, database URLs, and other secrets without hardcoding them in your app. Rocket keeps separate values for staging (while you build) and production (when you launch). The Environment settings panel is only available for **web** build tasks, which use a `.env` file. For mobile tasks, variables are stored in `env.json` - update them directly in that file or inside the connector's value field. ## Open Environment settings Click your **task name** in the top-left corner of the editor, then click **Settings**. Task name menu open with Settings highlighted. Task name menu open with Settings highlighted. In the Settings sidebar under **Task**, click **Environment**. The panel opens showing your existing variables across **Staging** and **Production** tabs. Settings modal with Environment selected, showing Staging and Production tabs with variable rows. Settings modal with Environment selected, showing Staging and Production tabs with variable rows. ## Staging and Production The Environment panel has two tabs: * **Staging** - values used while you are building and testing inside Rocket. * **Production** - values used when your app is live and publicly launched. Make sure both tabs are filled in so your app behaves correctly in each environment. If you set a value directly in your code or in a connector's value field instead of using this panel, Rocket treats it as a staging value by default. ## Add a variable New environment variables are added through your **`.env` file in code**, not through the Settings UI. Click **Code** in the editor toolbar to open the file explorer. Use placeholder values (like `your-key-here`) in code files. Set your real secrets only in the Environment panel. Never commit actual keys to a repository. Open `.env` at the root of your project and add your variable: ```plaintext wrap theme={null} OPENAI_API_KEY=your-key-here NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co ``` Save the file. The variable is now available to your app and will appear in the Environment panel under the relevant tab. For **mobile tasks**, variables are stored in `env.json` instead. Open it in the Code tab and add your key-value pairs there directly. ## Edit an existing variable To update the value of an existing variable, open the Environment panel (Settings > Environment) and click the **edit icon** on the right side of any variable row. Make your change and save. Changes take effect on the next build or generation in that environment. ## Use variables in your app Reference variables in server-side code using standard patterns: ```plaintext wrap theme={null} process.env.OPENAI_API_KEY process.env.NEXT_PUBLIC_SUPABASE_URL ``` You can also ask Rocket to wire them up directly in chat: ```plaintext wrap theme={null} Use the OPENAI_API_KEY environment variable to set up the AI chat feature. ``` ## Common variables Variables prefixed with `NEXT_PUBLIC_` are exposed to the browser (client side). All others stay server-side only. Never put secrets in `NEXT_PUBLIC_` variables. | Variable | Service | | :------------------------------ | :--------------- | | `NEXT_PUBLIC_SUPABASE_URL` | Supabase | | `NEXT_PUBLIC_SUPABASE_ANON_KEY` | Supabase | | `STRIPE_SECRET_KEY` | Stripe | | `OPENAI_API_KEY` | OpenAI | | `GEMINI_API_KEY` | Google Gemini | | `ANTHROPIC_API_KEY` | Anthropic | | `RESEND_API_KEY` | Resend | | `NEXT_PUBLIC_GA_MEASUREMENT_ID` | Google Analytics | | `NEXT_PUBLIC_ADSENSE_ID` | Google AdSense | ## What's next? Import and integrate API endpoints that use your environment variables. Connect services like Supabase, Stripe, and OpenAI with dedicated integrations. Inject scripts and styles that reference your environment configuration. Ask Rocket to use your variables when building features. # Generate images and SVGs Source: https://docs.rocket.new/build/editor/image-generation Generate AI images and vector SVGs directly in your Rocket.new app. Part of the only vibe solutioning platform with research, building, and intelligence. Image and SVG generation are only available on the **web browser**. They are not supported in the Rocket mobile app. Generate visuals directly in chat without leaving the editor. Type a command, describe what you want, and Rocket generates and places it in your app. ## Image generation vs SVG generation Two commands, two different use cases. | | `/Generate Image` | `/Generate SVG Illustration` | | :-------------------------------- | :-------------------------------------------------------- | :------------------------------------------------------- | | **Output** | Raster image (PNG/JPEG) | Vector graphic (SVG) | | **Best for** | Hero images, product shots, lifestyle photos, backgrounds | Icons, diagrams, illustrations, logos, animated elements | | **Scales without losing quality** | No | Yes | | **Supports animation** | No | Yes (CSS animations) | | **Editable as code** | No | Yes | Use `/Generate Image` for photographic, painterly, or rendered visuals. Use `/Generate SVG Illustration` for anything that needs to scale, animate, or be adjusted in code. ## How to use Both commands run from the chat panel inside the Build editor. Navigate to the page or screen where you want the visual placed. Both commands are screen-aware and target what is currently open in your preview. Type `/Generate Image` or `/Generate SVG Illustration` followed by a description of the visual and where to place it. ```plaintext wrap theme={null} /Generate Image replace hero banner with a soft gradient sky with floating abstract shapes ``` ```plaintext wrap theme={null} /Generate SVG Illustration add a process flow diagram showing user signup to dashboard in the onboarding section ``` Rocket generates the visual and places it in the specified location. If the result is not quite right, send a follow-up message to adjust it. You do not need to re-run the slash command; plain chat messages work for refinements. ```plaintext wrap theme={null} Make the colors warmer and increase the contrast on the main subject. ``` ```plaintext wrap theme={null} Simplify the illustration. Remove the background and make it line art only. ``` ## Generate Image Use this for photographic and rendered visuals: hero banners, product mockups, backgrounds, feature card images, lifestyle shots, and abstract art. **Hero and banner images:** ```plaintext wrap theme={null} /Generate Image replace the hero banner with a cinematic wide shot of a mountain trail at golden hour, photorealistic ``` ```plaintext wrap theme={null} /Generate Image replace hero background with a dark abstract gradient with glowing particle shapes ``` **Product and feature visuals:** ```plaintext wrap theme={null} /Generate Image add a minimal 3D render of a floating smartphone to the product section, white background, soft shadow ``` ```plaintext wrap theme={null} /Generate Image replace the feature card image for "fast delivery" with a sleek isometric package icon, flat style ``` **Team and lifestyle:** ```plaintext wrap theme={null} /Generate Image replace the team photo with a warm, candid photo of people collaborating at a wooden desk ``` **Backgrounds and textures:** ```plaintext wrap theme={null} /Generate Image add a subtle grain texture background to the testimonials section, muted sage green ``` ```plaintext wrap theme={null} /Generate Image replace the pricing section background with a dark mesh gradient, deep blue and purple tones ``` One clear visual idea per command works best. Combining multiple unrelated ideas in a single prompt often produces mixed results. ## Generate SVG Illustration Use this for scalable graphics: icons, spot illustrations, diagrams, empty states, mascots, animated elements, and decorative shapes. SVG output is clean code you can edit directly. **Icons:** ```plaintext wrap theme={null} /Generate SVG Illustration create a minimal line art icon set for the three feature cards: speed, security, and reliability ``` ```plaintext wrap theme={null} /Generate SVG Illustration add an animated notification bell icon with a gentle swing to the subscribe button ``` **Spot illustrations:** ```plaintext wrap theme={null} /Generate SVG Illustration add a friendly isometric illustration of a rocket launching from a laptop for the hero section ``` ```plaintext wrap theme={null} /Generate SVG Illustration replace the empty state on the dashboard with a line art illustration of a person planting a flag ``` **Diagrams and flows:** ```plaintext wrap theme={null} /Generate SVG Illustration add a step-by-step diagram showing how the product works: signup, connect, launch. Place it in the how-it-works section ``` ```plaintext wrap theme={null} /Generate SVG Illustration create an architecture diagram showing frontend, API, and database layers for the technical docs page ``` **Decorative and background shapes:** ```plaintext wrap theme={null} /Generate SVG Illustration add an abstract blob shape behind the hero headline, brand color, low opacity ``` ```plaintext wrap theme={null} /Generate SVG Illustration add a subtle wave divider between the hero and features section ``` **Animated SVGs:** ```plaintext wrap theme={null} /Generate SVG Illustration create an animated loading spinner that matches my brand colors ``` ```plaintext wrap theme={null} /Generate SVG Illustration add a looping draw-on animation to the checkmark icon on the success screen ``` ## Writing better prompts Clear prompts produce better results. Include these three things in every prompt: **For images: subject, style, and placement:** | Element | Example | | :-------- | :----------------------------------------------------------------------------------------- | | Subject | "modern home office with natural light and a coffee cup" | | Style | "photorealistic", "soft gradient", "minimal 3D render", "cinematic", "abstract" | | Placement | "replace hero image", "add to pricing card", "replace the team photo in the About section" | **For SVGs: style, content, and placement:** | Element | Example | | :-------- | :---------------------------------------------------------------------------------------------------------- | | Style | "isometric", "line art", "geometric", "duotone", "flat", "outlined" | | Content | "rocket launching from a server rack", "user flow from login to dashboard", "three-step onboarding diagram" | | Placement | "replace hero graphic", "add to features section", "icon for the subscribe button" | **Be specific about color and tone:** ```plaintext wrap theme={null} /Generate Image add a hero background, dark navy with soft aurora-like gradients in teal and violet, no text, abstract ``` ```plaintext wrap theme={null} /Generate SVG Illustration create a geometric icon for "analytics" in my brand colors (#6C63FF and white), line art style ``` **Describe what to keep and what to change when iterating:** ```plaintext wrap theme={null} Keep the overall composition but change the color palette to warmer tones: amber and cream instead of blue. ``` ```plaintext wrap theme={null} Keep the icon style but make the stroke thinner and remove the fill. ``` ## What's next? Click any image to swap, resize, or reposition it in the preview. Manage your app's logo and shared visual assets in one place. See the full list of slash commands available in the Build editor. Use chat to make broader design changes across your app. # Preview your app Source: https://docs.rocket.new/build/editor/preview Test your Rocket.new app live as you build with responsive previews, screen navigation, and screenshot capture - no deploying needed. **See your app running live as you build.** The preview is a browser built into the Rocket editor. Every change you make updates the preview in real time. The preview is separate from your live URL. Use **Launch** in the toolbar to publish your app publicly. ## What you can do in preview | Action | How | | :----------------------- | :-------------------------------------------------------------------- | | Navigate to any screen | Use the URL bar in the preview toolbar to go to any route in your app | | Test responsive layouts | Switch between desktop, tablet, and mobile views | | Click through user flows | Navigate your app like a real user to verify routing and interactions | | Capture screenshots | Take a screenshot and drag it straight into chat | | Make visual edits | Click any element to open Visual Edit and change it directly | | Launch your app | Click **Launch** in the top right of the preview toolbar to publish | ## Preview toolbar The toolbar runs across the top of the preview panel and gives you quick access to all preview controls. | Button | What it does | | :---------------- | :---------------------------------------------------------- | | **Preview** | Opens or focuses the preview panel | | **Full screen** | Expands the preview and hides the chat panel | | **`...`** | Additional options | | URL bar | Shows the current route. Type any path to navigate directly | | Refresh | Reloads the preview to show your latest changes | | **Edit** | Opens the Edit dropdown for Visual edits and Theme | | Camera | Capture a screenshot of the current view | | Device/responsive | Switch screen sizes and device models | | **Launch** | Publish your app to a live URL | ## Using the preview Rocket preview panel showing live web app interface. Rocket preview panel showing live web app interface. ### Navigate to a screen Use the **URL bar** in the preview toolbar to go to any route in your app. Type the path directly (for example `/dashboard` or `/settings`) and press Enter. You can also use the **Currently viewing** dropdown to switch between screens. The **Refresh** icon sits in the same control strip as the URL bar. Click it if your latest changes are not showing. Screen selection dropdown inside the preview panel. Screen selection dropdown inside the preview panel. ### Full screen Click **Full screen** in the toolbar to expand the preview and hide the chat panel. Use this when you want a larger view or need more room to test interactions. Click **Full screen** again to return to the editor. Fullscreen mode of Rocket web preview. Fullscreen mode of Rocket web preview. ### Test responsive layouts and device models Click the **Device** icon in the toolbar to test how your app looks on different screen sizes. Available views: * Desktop * Laptop * Tablet * Mobile Device type dropdown showing responsive view options. Device type dropdown showing responsive view options. Available device models: * Samsung Galaxy S23 * iPhone SE * iPhone 14 Pro * iPhone 16 Pro * iPhone 16 Pro Max * iPhone 17 Pro Device model dropdown showing different phone options. Device model dropdown showing different phone options. ### Edit visually Click the **Edit** button in the toolbar and select **Visual edits** to enter visual edit mode. Click any element to change its text, style, spacing, or image directly in the preview. Learn more about visual edit and what you can change. ### Capture screenshots Take a screenshot of the current preview and use it in chat to show Rocket exactly what to change. 1. Click the **Camera** icon in the toolbar. 2. Choose your capture mode: * **Full screen** - captures the entire preview area * **Selected area** - click and drag to capture a specific region 3. Drag and drop the screenshot into the chat input. Camera dropdown showing Full Screen and Selected Area capture options. Camera dropdown showing Full Screen and Selected Area capture options. The Rocket mobile app supports screen navigation, refresh, and responsive views. Full screen, visual edit, and screenshot capture are only available on the web browser. Rocket preview panel on the mobile app. ### Navigate to a screen Use the **Currently viewing** dropdown to switch between screens in your app. The **Refresh** icon sits in the same control strip as the URL bar. Tap it if your latest changes are not showing. Screen selection dropdown on the mobile app. ### Test responsive layouts and device models Tap the **Device** icon to switch between screen sizes and device models. **Web app views:** Desktop, Laptop, Tablet, Mobile **Mobile device models:** Samsung Galaxy S23, iPhone SE, iPhone 14 Pro, iPhone 16 Pro, iPhone 16 Pro Max, iPhone 17 Pro ## What's next? Click any element in the preview to change its text, style, or spacing. Update your app's fonts, colors, logo, and images from one place. Compare, roll back, and launch specific versions of your app. Publish your app to a live URL and share it with the world. # Theme Source: https://docs.rocket.new/build/editor/theme Change fonts, colors, logo, and images across your Rocket.new site from one panel - no code needed. The Theme panel is where you control your site's visual identity. Update fonts, colors, logo, and images from one place - every change applies site-wide when you save. Theme is only available for **Website** and **Landing page** build types, on the **web browser**. It is not available for other build types or in the Rocket mobile app. Theme changes apply site-wide but do not overwrite element-level changes you have made with Visual edit. Both co-exist: Visual edits take precedence on the individual elements you changed, while Theme governs everything else. ## How to open Theme In the preview toolbar, click **Edit**. Select **Theme** from the dropdown. Edit button clicked in the preview toolbar showing a dropdown with Visual edits and Theme options. The Theme panel opens over the preview. Make changes across any section, then click **Save changes** at the bottom to apply everything at once. ## Fonts Each typeface role in your site - primary, secondary, and any others - has its own dropdown. Theme panel with the Fonts section highlighted, showing typeface role dropdowns with font options. **To change a font:** Open the dropdown for the role you want to update. Pick a font from the list (Inter, Geist, DM Sans, Plus Jakarta Sans, Manrope, Space Grotesk, Poppins, Montserrat, Roboto, Outfit, and more). Click **Save changes**. Font changes are not applied to the preview until you save. ## Colors The Colors section shows your palette as a row of swatches. Theme panel with the Colors section highlighted, showing a row of color swatches for the site's palette. **To edit a color:** Click the swatches row or the arrow to open the color editor. Find the role you want to change - Background, Foreground, Primary, Secondary, Accent, Muted, Card, Border, Input, Focus Ring, and others are all listed individually. Click the role and set it to any color. Click **Save changes**. Color changes update every page and component that uses those roles. ## Logo The Logo section has upload slots for your site's brand marks. Theme panel with the Logo section highlighted, showing logo upload slots. | Slot | What it is | | :----------- | :--------------------------------------------------------------- | | **Favicon** | The small icon shown in browser tabs and bookmarks | | **App logo** | Your primary logo, used in the navbar and other brand placements | **To upload:** Click the slot you want to fill. Select a file from your device. Click **Save changes**. Transparent PNGs work best for logos. For the favicon, use a square image - ICO and PNG formats are both supported. ## Images The Images section shows every image in your site, organized by page. Theme panel with the Images section highlighted, showing image thumbnails organized by page and a Shared Assets group. * **Page groups** - images listed under a page name only appear on that page * **Shared Assets** - images used across multiple pages; replacing one here updates it everywhere Click any thumbnail to replace it with a new file. ## What's next? Click any element to change its text, style, or spacing directly in the preview. Use slash commands like /Change App Theme and /Update App Logo for AI-driven brand changes. Describe broader design changes in chat and Rocket applies them across your site. Browse and edit your task source files directly. # Versions Source: https://docs.rocket.new/build/editor/versions Every Rocket build saves a version. Compare diffs, roll back, label milestones, and deploy any version directly from chat. Every time Rocket responds to a Build message, it saves the result as a new version. You get a complete history of your project that you can compare, roll back, label, and deploy - all from the chat panel. ## How versions work At the bottom of each Rocket message in chat you will see a **Files** row showing the version number and which files changed. Below it are four action buttons. | Button | What it does | | :--------------- | :----------------------------------------------------------- | | **Code diff** | Shows what changed between this version and the previous one | | **Rollback** | Reverts your project to this version | | **Create label** | Adds a name to this version so you can find it easily | | **Launch** | Deploys this specific version to staging or production | ## Code diff Code diff opens a side-by-side view of every file that changed in this version. Added lines are highlighted in green, removed lines in red. Code diff panel showing green and red highlighted lines across two changed files. Code diff panel showing green and red highlighted lines across two changed files. Use code diff to: * Review exactly what Rocket changed before moving on * Understand the impact of a specific edit * Debug unexpected behavior after a build ## Rollback Rollback reverts your entire project to the selected version instantly. Rolling back discards all changes made after the selected version. This cannot be undone. If you want to keep your current state, create a label before rolling back (see [Create label](#create-label) below). Locate the version you want to return to in the chat. Click **Rollback**. Click **Rollback now** to confirm. Rollback confirmation dialog warning that changes cannot be recovered. Rollback confirmation dialog warning that changes cannot be recovered. ## Create label Labels let you name and bookmark a specific version for easy reference later. Locate the version in the chat. Click **Create label**. Type a name and press Enter. Create label input field open below the version action buttons. Create label input field open below the version action buttons. Good times to create a label: * Before a risky change you might want to undo * When a version is ready for review ("Client review v1") * At a significant milestone ("MVP", "Beta launch") ## Launch a version You can deploy any version directly - it does not have to be the most recent one. Locate the version in the chat. Click **Launch**. Select **Staging** or **Production**. Version card with Launch button highlighted. Version card with Launch button highlighted. | Target | What it is | | :------------- | :------------------------------------------------------------------ | | **Staging** | A private preview environment for testing, not visible to end users | | **Production** | Your live app, visible to everyone with the URL | Launching a version does not affect your working state in the editor. Your project continues from wherever you are - only the deployed environment changes. For a full breakdown of how staging and production work together, see [Launch your site](/build/launch-web/launch-your-site). ## What's next? Test your app on different screen sizes before launching. Understand staging and production, and manage your releases. Browse and edit your project source files directly. Keep building - every message creates a new version automatically. # Task visibility Source: https://docs.rocket.new/build/editor/visibility Set Rocket.new tasks as public or private to control who sees your work. Every Build task has its own visibility setting. You choose who can view each task: just you, or anyone with the link. Visibility is set per task, giving you fine-grained control over what you share. ## Visibility levels | Level | Who can see it | Best for | | :---------- | :-------------------------- | :--------------------------------------------------------- | | **Public** | Anyone with the link | Showcasing work, sharing examples, community contributions | | **Private** | Only you (the task creator) | Personal work, sensitive data, draft explorations | Public tasks display a Rocket watermark. Anyone can view the output, but only the task creator can edit it. Private tasks are completely hidden from other users even if they have the URL. Setting a task to Private requires a paid plan (Pro or above). Free plan tasks are public by default. ## Set task visibility You can set visibility when creating a task, or change it at any time from inside the task. Before submitting a new task from **Home**, click the **lock icon** next to the send button to choose **Public** or **Private**. Home screen input with the visibility dropdown open, showing Public and Private options with descriptions. Home screen input with the visibility dropdown open, showing Public and Private options with descriptions. Open the task, then click the **task name** at the top-left to open the dropdown. Task view with the task name in the top-left. Task view with the task name in the top-left. Select **Settings** from the dropdown. Task name dropdown open with Settings highlighted. Task name dropdown open with Settings highlighted. In the **Overview** panel, open the **Task Visibility** dropdown and choose **Public** or **Private**. The change takes effect immediately. Task Settings Overview panel with the Task Visibility dropdown open, showing Public and Private options. Task Settings Overview panel with the Task Visibility dropdown open, showing Public and Private options. ## How visibility affects sharing **Public tasks:** Copy the task URL and share it with anyone. Recipients can view the task output without logging in. **Private tasks:** Private tasks are completely hidden from other users. If you later change a private task to public, the full task history becomes visible immediately. Changing visibility from Private to Public exposes the entire task history, including all messages and outputs. Review your task content before making it visible. ## Frequently asked questions Yes. See the steps in the **From inside the task** tab above. No. Visibility controls who can see the task, not what Rocket can do with it. Rocket has full access to the task's files, context, and connected services regardless of visibility. Existing links stop working immediately. Anyone who previously had access will see an error page. If you switch back to public, the same link becomes active again. No. Each task has its own visibility setting. You can have a mix of public and private tasks within a single [project](/getting-started/project/overview). ## What's next? Share tasks with teammates via link or email. Rename, star, move, or delete a task. # Visual edit Source: https://docs.rocket.new/build/editor/visual-edit Click any element in your Rocket.new app preview to change text, style, spacing, or images without writing code. Visual edit is accessed via the **web browser**, but you can use it to edit both web app and mobile app build tasks. Visual edit lets you click directly on any element in your preview and change it on the spot. No prompts, no guessing selectors. Select something, adjust it, and save. ## When to use visual edit | Use visual edit when | Use chat instead when | | :----------------------------------- | :------------------------------------------- | | You can see and click the element | You need changes across multiple pages | | Quick text, style, or spacing tweaks | Complex layout restructuring or new sections | | You want immediate visual feedback | You are adding new features or logic | ## How to use In the preview toolbar, click **Edit**. A dropdown appears with two options: **Visual edits** and **Theme**. Edit button clicked in the preview toolbar showing a dropdown with Visual edits and Theme options. Edit button clicked in the preview toolbar showing a dropdown with Visual edits and Theme options. Click **Visual edits**. The preview becomes interactive and elements highlight as you hover over them. Click any element to select it. A floating toolbar appears with editing controls and an **Ask me...** field for quick AI-assisted changes. Visual edit mode active in Rocket with a selected element and the editing toolbar showing Ask me field and controls. Use the toolbar controls to adjust style, spacing, text, or images. You can also type a change in the **Ask me...** field and Rocket applies it to just that element. Click **Save changes** to write all pending changes to code. You can edit multiple elements before saving and they all apply at once. ## Editing tools ### Edit style Adjust colors, fonts, weight, and alignment directly in the toolbar. Click the element you want to style. Use the font size, weight, color, or alignment controls in the toolbar. Changes apply immediately in the preview. Click **Save changes**. Visual edit toolbar showing font size set to 20, Normal weight, color picker, text edit, spacing, italic, underline, align, go to code, and delete controls on a selected paragraph. ### Edit spacing Adjust margin and padding values on any element. Click the element you want to adjust. Click the spacing icon in the toolbar. Enter values for each side of the margin and padding. Click **Save changes**. Spacing panel expanded showing individual margin and padding numeric inputs for a selected element. ### Edit image Replace or update an image without touching code. Click an image element to select it. Click the image icon in the toolbar. Choose how to update it: * **Import** a URL from the web * **Upload** a file from your device (PNG, JPG up to 1MB) * **Auto** to regenerate the image with AI * **Instruction** to describe what you want Click **Update**. Update image panel showing Import URL, Upload file, Auto AI regenerate, and Instruction options for a selected image element. ### Delete an element Remove an element from the page. Click the element you want to remove. Click the **Delete element** icon at the end of the toolbar. Click **Save changes**. Visual edit toolbar with the delete element icon highlighted showing a Delete element tooltip. ### Go to code Jump directly to the element's source code for changes beyond what the toolbar offers. Click the element whose code you want to view. Click the **``** icon in the toolbar. The code view opens with the element highlighted. Visual edit toolbar with the Go to code icon highlighted showing a Go to code tooltip on a selected heading element. ### Ask for a quick change Every selected element has an **Ask me...** field at the top of the toolbar. Type a change in plain language and Rocket applies it to just that element. **Examples:** * `Make this button orange with white text and rounded corners` * `Set this heading to bold, center aligned, 32px` * `Add 24px padding and a subtle box shadow to this card` * `Change the background to a gradient from blue to purple` ## Toolbar reference | Tool | What it does | | :--------------- | :---------------------------------------------------- | | Ask me... | Apply a plain-language change to the selected element | | Font size | Set the size numerically | | Font weight | Toggle Bold, Semibold, Normal, etc. | | Color | Change the text or fill color | | T | Edit the text content inline | | Spacing | Adjust margin and padding | | I / U | Italic and underline | | Align | Change text or element alignment | | Image | Replace or regenerate an image | | `` | Jump to the element's source code | | Delete | Remove the element from the page | | **Save changes** | Write all pending changes to code | ## What's next? Update your site's fonts, colors, logo, and images from one place. Use slash and @ commands for precise, targeted edits. Use chat for bigger changes, new sections, or logic updates. Browse and edit your task source files directly. # Download and install APK Source: https://docs.rocket.new/build/launch-mobile/android-apk Build an Android APK from your Rocket.new mobile app and install it on a device for native testing. Rocket builds your mobile app into an APK you can install on any Android device. Use this to get a full native testing experience before you [publish to Google Play](/build/launch-mobile/google-play). You need an Android device running version 8.0 or higher. Downloading an APK requires a paid plan (Pro or above). Not ready to build a native package? [Share your app as a web preview](/build/launch-mobile/share-as-web-preview) for instant testing in any browser without a build step. ## Build and download From your task, click the **Launch** button in the top-right corner. A popup appears with the **Rocket hosted** tab selected by default. Launch popup open showing Rocket hosted tab selected by default. Launch popup open showing Rocket hosted tab selected by default. Click the **APK** tab, then click **Build** to start generating your APK. APK tab selected in the Launch popup showing the Build button. APK tab selected in the Launch popup showing the Build button. A progress bar shows the build status. If it takes more than a minute, Rocket emails you a download link when it is ready. APK tab showing Building APK progress bar at 95%. APK tab showing Building APK progress bar at 95%. When the build finishes, click **Download** to save the `.apk` file to your computer. Click **Build new APK** to rebuild with your latest changes. APK tab showing Download and Build new APK buttons after a successful build. APK tab showing Download and Build new APK buttons after a successful build. From your project screen, tap **More** in the header bar. More button in header bar on mobile. Tap **Launch on Android phone** from the menu. Dropdown menu showing Launch on Android phone option highlighted on mobile. Tap **Build APK** to start the build. Launch on Android phone modal showing Build APK button on mobile. A progress indicator shows the build status. If it takes more than a minute, Rocket emails you a download link when it is ready. Progress indicator during Android app build showing Building status on mobile. When the build finishes, tap **Download** to save the `.apk` file to your device. Tap **Build new APK** to rebuild with your latest changes. If a build fails, fix any code errors in your editor, make sure you have a stable internet connection, and click **Rebuild**. Common causes are dependency mismatches, invalid configurations, or unsupported packages. If it fails three times in a row, contact [support@rocket.new](mailto:support@rocket.new). ## Install on your Android device If you downloaded it from a browser, check the **Downloads** folder. If you downloaded it on your computer, transfer it to your device via USB or cloud storage. Open your device's **Files** or **Downloads** app and tap the APK file. A system prompt appears asking if you want to install the app. System prompt triggered after tapping the APK file to start installation. If this is your first time installing an APK from this source, Android will block the install and show a warning. 1. Tap **Settings** in the popup. 2. Toggle on **Allow from this source**. 3. Tap the back arrow to return to the install screen. Android settings screen showing Allow from this source toggle enabled. You only need to do this once per app you use to open the APK (such as Chrome or Gmail). Tap **Install** and wait a few seconds. Once done, tap **Open** to launch it or find it in your app drawer. After installing, consider turning off **Allow from this source** to protect your device. Go to **Settings > Apps > Special app access > Install unknown apps**, select the app you used, then disable the permission. ## What's next? Submit your tested app to the Google Play Store for public distribution. Decide between web links, APK builds, and app store submissions. # Apple App Store Source: https://docs.rocket.new/build/launch-mobile/apple-store Submit your Rocket.new-built Flutter app to the Apple App Store for public iOS distribution. Rocket generates production-ready Flutter code that you can publish directly to the Apple App Store. This guide covers every step from registering in App Store Connect to submitting your build for review. **Before you start:** * An [Apple Developer account](https://developer.apple.com/programs/enroll/) (\$99/year) * A Mac with Xcode installed * Store listing assets: app name, description, icon, screenshots, and a privacy policy URL Publishing to the App Store requires Xcode on a Mac. This process is not available in the Rocket mobile app. If you want to share your app without the store, [launch it as a web preview](/build/launch-mobile/share-as-web-preview) or [download an APK](/build/launch-mobile/android-apk) for Android testing. ## Steps In the Build editor, open the **Code** tab and click **Download** in the toolbar to export your project as a `.zip` file (paid plan required). Extract it on your Mac. This is the Flutter project you will open in Xcode. Download your project source code Join the Apple Developer Program and register your app in App Store Connect using your bundle ID. Register on App Store Connect (Flutter docs) Before exporting your `.ipa`, confirm your build and signing settings are correct. Review Xcode project settings (Flutter docs) Archive your app and follow Apple's process for uploading it to App Store Connect and submitting it for review. Distribute your app through Xcode (Apple docs) To release a new version or make changes after launch, use App Store Connect to submit updates. Update your app in App Store Connect (Apple docs) ## What's next? Reach Android users by submitting your app to the Google Play Store. Compare distribution options to decide where else to publish. # Google Play Store Source: https://docs.rocket.new/build/launch-mobile/google-play Submit your Rocket.new-built Flutter app to Google Play for public Android distribution. Rocket generates production-ready Flutter code that you can publish directly to the Google Play Store. This guide covers every step from creating a developer account to submitting your first release. **Before you start:** * A [Google Play Developer account](https://play.google.com/console/signup) (\$25 one-time fee) * A Mac or PC with [Flutter installed](https://docs.flutter.dev/get-started/install) * Store listing assets: app name, description, icon, and screenshots Publishing to Google Play Store requires building your app with Flutter command-line tools on a computer. This process is not available in the Rocket mobile app. If you want to share your app without the store, [launch it as a web preview](/build/launch-mobile/share-as-web-preview) or [download an APK](/build/launch-mobile/android-apk) for direct testing. ## Steps In the Build editor, open the **Code** tab and click **Download** in the toolbar to export your project as a `.zip` file (paid plan required). Extract it on your computer. This is the Flutter project you will build from. Download your project source code Go to the [Google Play Console](https://play.google.com/console/signup), accept the terms, and pay the one-time registration fee. Set up your Developer Account (Google's official guide) Create a new app and fill in the basics: app name and default language, app category (game or app), release type and intended users, and store listing information (description, screenshots, icon). Set up a new app in Play Console (Google's official guide) Use Flutter's official instructions to generate a release-ready `.aab` from the code Rocket generated. Build and release an Android app (Flutter docs) Upload your `.aab` to the Play Console, write release notes, and submit through the **Production** track. Prepare and roll out a release (Google's official guide) After launch, push updates or change your app's visibility at any time from the Play Console. Manage app updates and visibility (Google's official guide) ## What's next? Reach iOS users by submitting your app to the Apple App Store. Compare distribution options to decide where else to publish. # Share as web preview Source: https://docs.rocket.new/build/launch-mobile/share-as-web-preview Deploy your Rocket.new mobile app as a browser-accessible web preview for instant sharing and testing. Rocket deploys your mobile app as a browser-accessible web preview that anyone can open without installing anything. This is useful for sharing with testers, stakeholders, or clients without waiting for [App Store](/build/launch-mobile/apple-store) or [Google Play](/build/launch-mobile/google-play) review. You can push updates to the same URL at any time. Mobile apps are always hosted on Rocket's Netlify account. You cannot connect your own Netlify account or a custom domain for mobile app web previews. ## Steps Click the **Launch** button in the top-right corner of your task. A popup appears with the **Rocket hosted** tab already selected. Launch popup showing the Rocket hosted tab selected with a Launch button. Launch popup showing the Rocket hosted tab selected with a Launch button. Click **Launch**. Rocket deploys your app and shows a loading spinner while it is running. When deployment finishes, your public URL appears with a **Copy** button. Share this link with anyone. No app install is needed to open it. Deployed app URL shown with a Copy button after launch completes. Deployed app URL shown with a Copy button after launch completes. Mobile apps are always hosted on Rocket's Netlify account. See the note at the top of this page for details. Click **Launch** again at any time to return to the popup. * Click **Update** to push your latest changes to the same URL. * Click **Unpublish** to remove the app and disable the public link (paid plan required). Open your project in the Rocket mobile app and tap **More** at the bottom of the screen. More tab highlighted in the navigation bar at the bottom of the screen. In the settings modal, tap **Launch on Netlify**. Project settings modal showing Launch on Netlify option highlighted. Tap **Launch** to start deployment. The button changes to **Launching** while Rocket deploys your app. Launch on Netlify modal showing Netlify logo and Launch button. When deployment finishes, you see a confirmation screen with your public link. Tap **Copy and share link** to share it. Use **Update** to push new changes or **Unpublish** (paid plan required) to take it offline. Published app confirmation showing live link and controls to update or unpublish. Mobile apps are always hosted on Rocket's Netlify account. See the note at the top of this page for details. ## What's next? Build a native Android package for device testing or direct distribution. Decide between web links, APK builds, and app store submissions. # Sharing vs. app stores Source: https://docs.rocket.new/build/launch-mobile/sharing-vs-stores Choose the right distribution method for your Rocket.new mobile app - web links, APK downloads, or app store submissions. Rocket gives you three ways to distribute your mobile app: web links, downloadable APK builds, and app store submissions. Each option fits a different stage of your project, from early prototyping to public launch. Use the comparison below to decide which method matches your needs. ## Compare your options
| | **Web link** | **Download build** | **App stores** | | :--------------- | :---------------------------------------- | :----------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Best for** | Quick sharing, demos, stakeholder reviews | Testing on real devices, beta distribution | Public release, monetization, discoverability | | **Speed** | Instant | Minutes (build time) | Days to weeks (review process) | | **Audience** | Anyone with the link | Testers with devices | Public | | **Requirements** | None | Android device or emulator | Developer account + store approval | | **Cost** | Free | Free | [USD 25 one-time on Google Play Store](https://play.google.com/console/signup) or
[USD 99/year on Apple App Store](https://developer.apple.com/programs/enroll/) | | **Updates** | Automatic on relaunch | Rebuild and reinstall | Submit new version for review |
## Choose your distribution method **Sharing a prototype or demo?** [Launch a web preview](/build/launch-mobile/share-as-web-preview). It works on any device with a browser and requires no installs. You can also [launch your web app](/build/launch-web/launch-your-site) with a public URL. **Testing before release?** [Download an APK](/build/launch-mobile/android-apk) (paid plan required) and install it on Android devices to test the full native experience. **Ready for public release?** Submit to [Google Play](/build/launch-mobile/google-play) or the [Apple App Store](/build/launch-mobile/apple-store) to reach users worldwide. ## What's next? Share your mobile app as a browser link with no installs required. Build and sideload your app onto an Android device. Use your own domain for a branded web preview URL. # Buy a domain Source: https://docs.rocket.new/build/launch-web/buy-domain Purchase and connect a domain to your Rocket.new app without leaving the editor. Part of the only vibe solutioning platform with research, building, and intelligence. Purchase a domain directly through Rocket and connect it to your app without visiting a separate registrar. Rocket uses IONOS to handle the purchase. You are redirected to IONOS to complete payment, and DNS is configured automatically when done. Buying a domain through Rocket requires a paid plan (Pro or above). ## Steps Click the **Launch** button in the top-right corner of your task. Rocket editor with the Launch button highlighted in the top-right navbar. Rocket editor with the Launch button highlighted in the top-right navbar. You can reach the domain purchase from two places in the launch dialog: In the **Staging** tab, select **Purchase a new domain** and click **Next**. Launch dialog on the Staging tab with the Purchase a new domain radio button selected. Launch dialog on the Staging tab with the Purchase a new domain radio button selected. Launch dialog on the Staging tab with the Next button highlighted. Launch dialog on the Staging tab with the Next button highlighted. Switch to the **Production** tab. It shows a **Custom domain** input field with a **Purchase a new domain** link. Click it. Production tab showing the Custom domain input field with the Purchase a new domain button highlighted. Production tab showing the Custom domain input field with the Purchase a new domain button highlighted. The IONOS domain search opens inside Rocket. Type the name you want and click **Search**. IONOS Find your new domain modal with a search input and Search button. IONOS Find your new domain modal with a search input and Search button. Browse available domains and their pricing. Click the **→** button next to the domain you want. Domain search results listing available domains with first-year pricing and a select arrow button. Domain search results listing available domains with first-year pricing and a select arrow button. Rocket redirects you to IONOS to complete payment. Keep this screen open. Rocket connects your domain automatically once the purchase is confirmed. Rocket screen showing the IONOS logo and the message: You'll complete your domain purchase on IONOS. Don't close this screen. Rocket screen showing the IONOS logo and the message: You'll complete your domain purchase on IONOS. Don't close this screen. Do not close the Rocket tab while the IONOS payment is in progress. Rocket needs this screen open to detect the completed purchase and configure your DNS automatically. ## What's next? Already own a domain? Connect it to your Rocket app instead. Test in staging, publish to production, and roll back if needed. Optimize your site so search engines find it at your new domain. Full guide to deploying your web app. # Custom domain Source: https://docs.rocket.new/build/launch-web/custom-domain Connect your own domain to a Rocket.new app with automatic HTTPS. Rocket can configure DNS automatically for supported providers, or you can add records manually. Connect any domain you own to your Rocket app so it is reachable at your custom address with automatic HTTPS. If you do not own a domain yet, you can [buy one directly through Rocket](/build/launch-web/buy-domain) (paid plan required). Connecting a custom domain requires a paid plan (Pro or above). You also need a Rocket task that has been [deployed to the web](/build/launch-web/launch-your-site) and access to your domain provider account. Rocket tries to configure DNS automatically by default. For supported providers, it logs into your domain account with one-time permission and updates the records for you. If automatic setup is not available for your provider or fails, you can fall back to the manual method where Rocket gives you the exact records to add yourself. ## Automatic setup (default) Rocket uses an automated flow to log in to your domain provider and configure DNS automatically with your permission. This works for supported providers. Click the **Launch** button in the top-right corner of your project, then click the **Production** tab. Launch panel with the Production tab selected. Launch panel with the Production tab selected. Choose which version of your app to publish from the version dropdown. Once you select a version, type your domain in the **Custom domain** field (for example, `example.com`) and click **Next**. Version dropdown open in the Launch panel showing available versions. Version dropdown open in the Launch panel showing available versions. Once you publish on a version, you can only move forward to newer versions. To go back to an earlier version, you need to unpublish and publish again from that version. Launch panel with a version selected and a domain name entered, ready to click Next. Launch panel with a version selected and a domain name entered, ready to click Next. Rocket prompts you to configure your Production Environment. Click **Setup now** to add any required environment variables. If you have no environment variables to add, click **Skip & continue**. Rocket prompt to set up the Production Environment with Setup now and Skip & continue buttons. Rocket prompt to set up the Production Environment with Setup now and Skip & continue buttons. Add your required environment variables in the Production environment settings, then click **Done** to continue. Production environment settings with variables added and the Done button highlighted. Production environment settings with variables added and the Done button highlighted. Rocket opens a popup explaining that it will configure your domain automatically. Click **Continue**. Automatic domain configuration popup with Continue button highlighted. Rocket shows a login screen for your domain provider. Enter your credentials and click **Continue** to grant one-time permission to configure DNS. Provider login screen asking for credentials to grant one-time DNS configuration permission. Your provider shows the existing DNS records and the new ones Rocket wants to add. Review them and click **Okay, continue** to approve the change. Provider confirmation screen showing existing and new DNS records with Okay, continue button. Your domain is confirmed as configured. Click **Done**. DNS propagation can take up to 48 hours, after which your app is live at your custom domain. Success screen showing your domain is now configured with Done button. Once live, the Launch panel shows your domain URL. You can click it to open your app. Launch panel showing the custom domain is live and the URL is active. Launch panel showing the custom domain is live and the URL is active. ## Manual setup (fallback) Use this method if automatic setup is not available for your provider or did not complete successfully. Rocket shows you the exact DNS records and you add them directly in your domain provider's dashboard. Click the **Launch** button, select the **Production** tab, choose your version, enter your domain, and click **Next**. Complete the [Production Environment step](#set-up-the-production-environment) as described above. If automatic setup did not work or your provider is not supported, click **Go to our manual setup** on the automatic setup screen. Rocket shows you the exact DNS records to add. Rocket manual DNS configuration screen showing record type, host name, and required values to copy. Remove any existing A and AAAA records for your domain before adding the new ones. Conflicting records will prevent your domain from connecting. Copy each record (Type, Host Name, Required Value). In a new browser tab, open your domain provider's DNS settings and add them exactly as shown. Once you have added all records in your provider's dashboard, click **I have added all records above to my domain's provider** in Rocket. Rocket starts monitoring for the DNS changes. You're all set screen after confirming DNS records have been added. DNS propagation can take up to 48 hours. Once Rocket detects the records, your domain goes live automatically. Open your app in the Rocket mobile app and tap the **More** tab at the bottom of the screen. More tab highlighted in the navigation bar at the bottom of the screen. In the settings modal, tap **Launch on custom domain**. Project settings modal showing Launch on custom domain option highlighted. Tap **+ Add domain**, type the domain you own (for example, `example.com`), and tap **Add Domain**. Rocket adds the domain to your project and shows the DNS records you need. Text input for adding your domain to Rocket on mobile. Copy the DNS records that Rocket shows you. DNS records provided by Rocket for domain verification on mobile. Open your domain provider's dashboard (you may need a web browser for this step) and add the records exactly as shown. **What to add:** * **Root domains** (e.g., `example.com`): Add two A records, one with host `@` (root) and one with host `www`, both pointing to the IP address provided by Rocket. * **Subdomains** (e.g., `app.example.com`): Add one A record with the subdomain as the host (e.g., `app`), pointing to the IP address provided by Rocket. Return to the Rocket mobile app and tap **Refresh** next to your domain. The status shows **Verification in process** at first. When Rocket detects the correct DNS records, the status changes to **Live**. Your app is now accessible at your custom domain. Rocket showing your domain verification status on mobile. DNS changes can take up to 48 hours to propagate. Your domain may not work immediately after setup. ## Fix conflicting DNS records If your domain is not connecting after 48 hours, you likely have conflicting DNS records. Go to [dnschecker.org](https://dnschecker.org/), enter your domain, and select **A** as the record type. If you see multiple different IP addresses, log in to your domain provider's dashboard and remove any A records that do not point to the IP address Rocket provided. Wait up to 24 hours for the changes to propagate, then check the domain status in Rocket again. Multiple A records with different IP addresses cause your domain to intermittently point to the wrong server. Keep only the Rocket IP address configured. ## What's next? Optimize meta tags and sitemaps so search engines find your site. Track visits, pageviews, and traffic sources from your dashboard. Set up cookie consent, GDPR banners, and a privacy policy page. # Launch your site Source: https://docs.rocket.new/build/launch-web/launch-your-site Publish your Rocket.new app to a staging URL for testing before going live. Rocket deploys your app to a staging URL where you can test and share it before going live. When you're ready to publish to a real domain, connect a custom domain from the **Production** tab. ## Publish to staging Open your task in Rocket and click the **Launch** button in the top-right corner. Rocket editor with the Launch button highlighted in the top-right. Rocket editor with the Launch button highlighted in the top-right. The launch dialog opens with **Staging** and **Production** tabs. Stay on **Staging** and click **Publish**. You can also connect or purchase a custom domain directly from the Staging tab. See [Custom domain](/build/launch-web/custom-domain) and [Buy a domain](/build/launch-web/buy-domain) for details. Launch dialog with Staging tab selected. Launch dialog with Staging tab selected. Rocket uses a default Netlify account if you have not connected your own. You can [connect your Netlify account](/build/connectors/netlify) to use your own. When deployment finishes, you see your staging URL. Share it with teammates to collect feedback, or open it yourself to test. Confirmation screen showing the staging URL and options to update or unpublish. Confirmation screen showing the staging URL and options to update or unpublish. Click **Update** any time to push your latest changes to the same URL. Click **Unpublish** to take the staging URL offline. Unpublishing requires a paid plan (Pro or above). Unpublish confirmation dialog. Unpublish confirmation dialog. After unpublishing, the link stops working immediately. You can republish at any time. ## Ready to go live? When testing is done, switch to the **Production** tab in the Launch dialog to connect a custom domain and publish your live app. Connect your own domain and publish to production. ## What's next? Optimize meta tags and sitemaps so search engines find your site. Track how users interact with your live app. # Analytics Source: https://docs.rocket.new/build/measure/analytics Monitor visits, bounce rate, traffic sources, and campaigns with Rocket.new built-in analytics - zero setup required.