How to get started on Opal

Featured

Table of Contents

🔎 Lead: A quick news-style summary

I’m Megan, a product manager on the Google Labs team, and today I’m reporting on a simple, practical way to build small AI-powered apps without writing code. In this dispatch I walk through Opal, a no-code mini app builder that combines a visual editor, generative models, and integrations with Google Docs and Drive. The goal is to help you create repeatable workflows and mini-apps for yourself, your team, or your friends.

Opal is designed for quick iteration. You can start from a gallery example, type a natural language idea, and immediately get a visual flow that you can edit, preview, and share. I’ll explain what each part does, give real examples like a weekly meal planner and a pet comic generator, and share best practices, tips, and common pitfalls.

🧭 What Opal is and why it matters

Opal is a no-code visual app builder that lets you create mini-apps—what I call Opals—that chain user inputs, AI generation steps, and outputs into a workflow. Think of it as a lightweight, visual automation studio focused on generative AI. It is ideal for building repeatable tasks such as planning, content generation, report creation, and playful experiments like photo-based comics.

Why should you care? Because Opal lowers the friction between an idea and a working tool. Instead of wiring code, endpoints, and auth from scratch, you describe what you want in natural language, tweak a visual flow, pick models from a dropdown, and hit preview. It surfaces model calls, interim steps, and final outputs in a way that is approachable for designers, PMs, content creators, and people who want to prototype quickly.

My approach in this guide is practical. I will walk you through the most important parts of the product, show how to customize a flow, and explain how to publish and share your creations. This is useful whether you are building a one-off helper or a repeatable workflow for a team.

🛠️ The basics: Starting a new Opal

The fastest way to get going is to click Create New or browse the gallery for inspiration. For most people the top section of the Opal home will be empty because you do not have any Opals yet. The gallery is where you can look at examples and import ones that match your needs.

When you create a new Opal you can either start from a template or type a simple natural language idea. For example I typed a short idea: an app that plans a weekly meal plan based on the number of people and the number of times I want to cook in a week. The editor instantly built a visual flow from that single sentence. That moment of going from an idea to a flow is one of the things that makes Opal so productive.

🧩 Inside the visual editor ✨

When the flow is generated you will see the visual editor. I call this the heart of the experience. The editor represents the logic behind your mini-app using blocks on a canvas. Each block is a step in the workflow.

There are a few block types you will use most often:

  • User input (yellow blocks) - prompts for the person who runs the Opal to provide information such as number of people, cooking frequency, or leftovers.
  • Generate (AI model calls) - steps that run a generative model to produce text, code, or images.
  • Output - final presentation blocks that display a landing page, a document, images, or a link.
  • Assets - uploaded files or references that the model can use as inspiration or structure, like an example comic style or a doc template.

One thing I often emphasize is that you can always add blocks manually. If the auto-generated flow is not exactly what you want, you can drag in a user input or generate block and wire it into the flow. The visual editor aims to be both fast for beginners and flexible for power users who need to customize logic and outputs.

💡 How the generated flow looks and feels

When Opal creates a flow from a short prompt it expands that prompt behind the scenes. You might enter a one-line idea, then see a generate step using a model such as Gemini 2.5 Flash. The editor often expands the prompt into a more detailed version—one that includes constraints, formatting instructions, and context—so the model produces higher-quality results.

I like to keep an eye on the generate steps because they tell me which model is being used. The model dropdown shows all the Google ecosystem models you can choose from. For example, the flow I generated for the meal planner used Gemini 2.5 Flash as the text model. When you click the generate step you will see the expanded prompt and any parameters applied to the model.

"They've actually expanded my prompt so that it's way more detailed than what I just put in that original prompt box."

That detail matters. A short natural language instruction becomes a robust prompt with examples, formatting rules, and expectations. If you want to iterate on the behavior, edit the generate block and refine the prompt directly in the visual editor.

▶️ Previewing and running your Opal 🧪

To test an Opal you click the start button. That launches a preview of the mini-app where you, or anyone you share the app with, can provide inputs and see the generated outputs.

When I ran the meal planner example I chose two people and set cooking frequency to four times. Clicking start runs every step in the flow and builds the final landing page. In the preview you can toggle between a compact preview and a more immersive app view that looks like a real app someone would run.

"This is showing me what it would look like when I run the app."

💻 Console and debugging 🔎

One feature I frequently use is the Console. It shows interim steps while the app is running. If you are curious what the model was asked, or how a piece of content was produced, open the Console to inspect the calls. You can see the specific model being called and expand details for each step. This is invaluable for debugging, improving prompts, and understanding model costs.

The Console makes the internal process visible. For every generate step you can see the prompt that was sent and sometimes the intermediate outputs that get stitched together. If a result is not what you expect, use the Console to trace which step needs editing.

"If I go here to Console, you can actually see all the interim steps."

🎨 Themes, cover images, and randomization

Every Opal has a theme section where you can set or change the cover image and visual style. You can upload an image or generate one from a model. If you are experimenting, hit the randomize button to get a relevant cover image suggestion. The theme is shown in the editor and on the landing page that the output renders to visitors.

Small touches like a good cover image and a descriptive description can make your Opal feel polished and help people understand what it does at a glance. You can edit the title and description from the top of the editor. The description is shown below the title in the landing area so fill it with a quick explanation of what the app does.

🔗 Publishing and sharing your Opal

Once you have an Opal that works, the next step is sharing. Opal supports two related concepts: publishing the app and sharing the output.

Publish App: When you publish an Opal you create a link that anyone can open to run the app. Publish is best when you want others to use the mini-app themselves. Click Share App, then Publish, and copy the publish link to distribute it.

Share Output: If you want to share a specific run or a static result, use the Share Output button after running the Opal. To enable share output you need to publish the app first. Once published you can copy a share URL that links directly to the generated output HTML, so recipients see exactly what you created without re-running the app.

That distinction is important. Publish gives people the ability to run your flow. Share Output gives people a snapshot of a result. Choose depending on whether you want others to interact with the Opal or only view a finished artifact.

✍️ Editing: Natural language vs manual building

I often recommend starting with natural language because it is fast. Type something like "weekly meal planner based on number of people and cooking frequency" and let Opal generate a flow. Then iterate visually.

If you need to add a field like "what leftovers do you have" you can type a natural language change or drag in a new user input block manually. The editor is smart enough to auto-wire things when you add fields using the natural language interface. When you add a user input manually, connect it into the flow by drawing its connections to subsequent steps so the model receives that context.

For small changes natural language is the fastest. For precise control add blocks manually and tune each generate block. Either way, you can always preview and run to validate your changes.

🖼️ Adding image generation to your flow

Some workflows benefit from images. For example, after the meal planning generate step I added another generate step specifically for images. This step uses an image generation model instead of a text model. In the editor you can pick image generation models such as image in four or a newer playful model I call nano banana.

When you add an image generation step the flow updates to include that output. The final output will now contain both the textual recipes and the generated images for each meal. This makes the experience richer and more shareable.

Tip: when generating images, think about aspect ratio, style, and whether you want the model to follow a reference asset. Include those directions in the image generate step’s prompt. That level of control dramatically improves the reliability of image outputs.

📁 Assets: upload files as inspiration or templates

One of my favorite capabilities is adding assets. Assets are files you upload or reference from Drive, YouTube, or other sources. These assets can be images, documents, or videos that the model will use as inspiration, structure, or examples.

Example: I built a pet comic strip app. I uploaded a sample comic style image and told the model to reference that style every time. I also included a user-uploaded pet photo and the pet's name. The generate step combines the uploaded style asset with the pet photo and prompts the model to produce consistent comic-style panels. The prompt references the asset and instructs the model to mimic the look and feel.

"This prompt actually references that specific image and tells the model that it needs to take inspiration from that photo when it generates the comic strip."

You can upload a structured doc if you want the model to follow a fixed format, or a video to provide context. Assets are a powerful way to enforce brand voice, visual style, or structural constraints across runs.

💾 Output destinations beyond web pages

Opal outputs are flexible. The default output is a landing page style HTML view, but you can also save results directly to Google Docs, Slides, or Sheets. This is great when you need programmatic outputs or want a shareable document to hand off or edit further.

Example: I built a small Opal to generate a "viral trends for social media" report. Instead of rendering a page, I configured the output to save to Google Docs. When the Opal ran it wrote a doc and provided a link to it in the app. Each time I re-ran the Opal it appended new content to the same doc, making it a living report that accumulates results over time.

Saving to Docs or Sheets also simplifies sharing because you can use Google Docs permissions to manage who can view or edit the output. It is also a common pattern if you want to automate weekly reports, capture structured data in a Sheet, or produce slide decks quickly.

🧾 Version history, titles, descriptions, and canvas controls

Opal includes standard editing conveniences. Use version history to revert changes or inspect prior versions when a tweak breaks something. Edit the title and description at the top of the editor. The description appears below the title on the landing page and is helpful to explain the purpose of the Opal.

Canvas controls: Undo and redo are available. Zoom in and zoom out help when the canvas gets crowded. Click the center home button to re-center the canvas quickly. These features help maintain a clean editing experience when you are iterating on complex flows.

🔐 Sharing, permissions, and privacy considerations

Before publishing an Opal or sharing outputs, consider the data your Opal will accept and generate. If your Opal asks users to upload private files, those files will be referenced in prompts or saved to outputs. Make sure you are comfortable with the privacy model and that your organization approves public sharing if necessary.

When you publish an Opal the publish link controls who can run it. Use Google Docs or Drive sharing controls for outputs saved to those destinations. Treat publish links as you would any web link. If you need more control, keep the Opal in draft and share access only with collaborators.

📚 Use cases: where Opal shines

Opal is ideal for many practical scenarios. Below are examples I have built or seen others build:

  • Weekly meal planner - input household size and cooking frequency, generate recipes and shopping lists, optionally generate meal photos.
  • Pet comic generator - upload a pet photo and name, inject a style asset, and generate a comic strip with panels.
  • Social media trend report - scrape or summarize trends and save to Google Docs or Slides.
  • Team onboarding checklist - create a standardized checklist based on role inputs, save to Docs for new hires.
  • Marketing creative generator - produce copy variations and hero images for quick A/B testing.
  • Prototyping and demo flows - rapidly prototype product experiences using generative models and assets.

These examples show how Opal can be both a creative playground and a practical automation tool. The visual nature helps non-engineers produce quality outputs quickly, while the model choices and prompt edits let power users fine-tune results.

📋 Step-by-step: Building a weekly meal planner Opal

Here’s a concrete step-by-step walkthrough so you can replicate the meal planner I described. I include concrete prompts and suggestions so you can copy and modify them for your own needs.

  1. Start a new Opal

    Click Create New in the Opal home. If you want a template, browse the gallery and pick a meal planner template. Otherwise, type a natural language idea: "Weekly meal planner based on number of people and times to cook per week."

  2. Review the generated flow

    The visual editor will create blocks such as: User Input for number of people, User Input for cooking frequency, Generate step for a menu, and Output step to render the landing page. Click each block to inspect prompts and outputs. The generate step should show a model, for example Gemini 2.5 Flash, and an expanded prompt.

  3. Customize user input fields

    Add a new user input for leftovers so the menu reuses existing ingredients. You can either type natural language like "Ask what leftovers the user has" or drag a User Input block in and name it Leftovers. Connect this block to the generate step so the model can use the leftovers field in the prompt.

  4. Edit the generate prompt

    Click the generate block and refine the expanded prompt. For example, set the prompt to:

    "Generate a 7-day meal plan for {number_of_people} people, with {cooking_frequency} cooking days. Prioritize using the following leftovers: {leftovers}. For each cooking day, provide: title, short description, estimated cook time, main ingredients required, and a shopping list. Keep recipes simple and family friendly."

  5. Add an image generation step

    Drag a Generate block and switch the model to an image generation model like image in four or nano banana. In the prompt ask for images for each meal, describing style and dimensions. Example:

    "Create a 512x512 appetizing photo of {dish_name} in a bright, natural kitchen, high contrast, minimal props."

  6. Connect outputs

    Make sure the final Output step references both the recipe generate step and the image generate step. You should end up with a landing page that shows the meal schedule, a shopping list, and images for each planned meal.

  7. Preview and test

    Click Start, enter test inputs like 2 people and 4 cooking days, and observe the Console for interim outputs. If items are missing or phrasing is off, edit the generate prompt and re-run.

  8. Set theme and publish

    Customize the cover image and description. Click Share App and Publish if you want others to run the planner. If you prefer sharing a single result, run the Opal then click Share Output after publishing and copy the snapshot link.

That step-by-step takes you from idea to a shared, working app in minutes. You can refine prompts and styling until the outputs match your expectations.

⚠️ Common pitfalls and how to avoid them

People ask me what goes wrong most often. These are the common issues and my advice for avoiding each.

  • Vague prompts: If you leave a generate prompt too generic the model will fill gaps unpredictably. Solution: be specific in format and constraints and include example outputs.
  • Missing data connections: Adding user inputs but not wiring them into generate steps results in outputs that ignore user inputs. Solution: confirm all required fields are connected to generate steps.
  • Assuming the asset will be copied exactly: Uploading a doc or image as an asset does not always guarantee exact replication. The model uses the asset as guidance. Solution: if you need strict adherence, include explicit instructions and examples in the prompt.
  • Publishing sensitive workflows publicly: Accidentally publishing an Opal that handles private data. Solution: keep private flows in draft or limit publish link distribution and set output storage controls appropriately.
  • Not checking the Console: When results are wrong, people skip the Console. Solution: always inspect the Console to see the prompts and interim results.

🧠 Practical tips for better results

Here are tactics that help deliver more consistent and valuable outputs from Opal.

  • Write example outputs in the prompt. Show the model exactly the structure you want such as bullet points, headers, and lists.
  • Set a tone and style explicitly. If you want friendly and concise recipes, say so.
  • Use assets for brand consistency. Upload a style image or a doc template to steer visuals and format.
  • Iterate with small changes. Make one change at a time and run the Opal so you can measure the effect.
  • Test edge cases. Use unusual inputs so you can confirm the flow handles them gracefully.
  • Monitor model costs. Some models are larger and more expensive. Choose models appropriate to the task and frequency of runs.

📈 On scaling and reuse

Opal is designed for repeatable workflows. When you build something that works, reuse it as a template. You can also use the same Opal to generate periodic reports or to create many distinct outputs by simply changing inputs each run.

For teams, share the publish link internally and keep a single canonical Opal that writes results to a shared Google Doc or Sheet. That way the output accumulates and is easily audited. If privacy is a concern, keep the Opal unpublished and use direct shares for collaborators only.

When using generative models remember to follow applicable laws and platform policies. Be mindful of how you use copyrighted assets as inspiration, and avoid presenting AI-generated content as human-created when labeling matters. If the Opal will be used in a business context, include appropriate disclaimers about AI usage and data handling in the description or output docs.

🛫 Final thoughts and quick recap

Opal makes it fast to prototype and ship mini-apps that chain user inputs, model calls, and outputs. It supports text and image models, asset-driven generation, previews, Console debugging, and outputs to Docs, Slides, or Sheets. My recommended workflow is:

  1. Start with a short natural language idea or a template.
  2. Inspect and refine the visual flow in the editor.
  3. Tune generate prompts and add assets if needed.
  4. Use the Console to debug and validate results.
  5. Preview, publish, and share the Opal or its outputs as appropriate.

In my experience the magic of Opal is that it compresses the path from a concept to a usable tool. You can go from an idea like "weekly meal planner" to a shareable app in minutes. And because the editor is visual and the models are selectable from a dropdown, it is approachable for both novice users and technical people who want to iterate quickly.

❓ FAQ

What is Opal and who is it for?

Opal is a no-code mini app builder that lets you create workflows combining user inputs, generative model steps, and outputs like web pages or Google Docs. It is for designers, product managers, content creators, educators, and anyone who wants to prototype or automate tasks without writing code.

How do I start a new Opal?

Click Create New from the Opal home. You can type a natural language idea or choose a template from the gallery. The editor will auto-generate a visual flow that you can customize.

What types of blocks exist in the visual editor?

The key blocks are User Input blocks for collecting inputs, Generate blocks for model calls, Output blocks to render results, and Assets for uploaded files that the model can reference. You can also add other utility blocks depending on the flow complexity.

Which AI models can I use in Opal?

Opal offers multiple models from the Google ecosystem, including text models like Gemini 2.5 Flash and image models such as image in four or newer models like nano banana. You select a model from a dropdown per generate step.

Can I edit the prompts the models receive?

Yes. Each generate block contains the prompt and parameters. Opal often expands your original short prompt into a more detailed version, and you can edit that expanded prompt directly to refine behavior.

How do I preview and debug an Opal?

Click the Start button to preview and run the Opal. Use the Console to inspect interim steps, see model calls, and view prompts and intermediate outputs. The Console is the primary debugging tool.

How do I share an Opal with others?

Publish the Opal to generate a publish link that others can use to run the app. If you want to share a specific run or snapshot, use Share Output after publishing to copy a link to the generated output.

Can I save results to Google Docs or Sheets?

Yes. Configure the Output block to save to Google Docs, Slides, or Sheets. Each run can create or append to a doc or sheet, and the app will show a link to the document in the output section.

How can I use assets in my Opal?

Add assets via the Add Asset option. You can upload images, docs, or reference files from Drive or YouTube. Prompts can reference assets so models use them as visual or structural inspiration.

Are there cost implications for choosing different models?

Yes. Larger or more capable models are typically more expensive to run. Choose models based on precision needed and frequency of runs. Monitor usage if you plan to scale the Opal.

What if the output is inconsistent or incorrect?

Use the Console to find which step produced the problematic output. Improve prompt specificity, add examples, or add assets for consistent style. Test with edge cases and adjust until results stabilize.

Can Opal be used for sensitive or private data?

You can build Opals that handle private data, but treat those with caution. Keep private flows unpublished, limit access to collaborators, and ensure your data handling complies with organizational policies.

How do I revert a change?

Use Undo and Redo on the canvas, or open Version History to revert to a previous saved state of the Opal.

Can I automate repeated runs of an Opal?

Opal is designed for repeatable runs. While Opal itself is manual-trigger oriented, you can re-run frequently and save outputs to Docs or Sheets automatically if that fits your workflow. For programmatic automation, consider pairing Opal outputs with other automation tools.

Does Opal support multi-step logic and branching?

Yes. The visual editor supports multiple steps and connections. You can build branching logic by adding conditional blocks or multiple generate steps and wiring inputs to control flow behavior.

How do I ensure consistent image styles?

Upload a style asset and reference it in the image generate prompt. Provide detailed style instructions, such as color palettes, lighting, and composition. Assets plus specific prompt language yield consistent visual output.

Is it possible to reuse an Opal as a template?

Yes. Save or duplicate an Opal to use it as a template. Share the template with teammates so they can customize inputs for their needs.

What are good practices for prompt design in Opal?

Include the desired format, examples, tone, constraints (length, units, style), and required fields. Show a small sample output to guide the model. Keep changes incremental and test each variation.

How are outputs secured when saving to Google Docs?

Outputs saved to Google Docs follow Google Drive sharing settings. Use Doc permissions to control who can view or edit the outputs generated by your Opal.

Can I incorporate video or YouTube as assets?

Yes. You can reference video or YouTube assets. Use them as context for the model, but be explicit in the prompt about what aspects of the video the model should use, such as tone, scene composition, or script structure.

What should I do if a generated output includes inappropriate content?

Immediately remove or restrict the Opal. Review the prompt to remove triggers and add guardrails and safety constraints. If needed, report the issue to platform support and avoid running sensitive inputs until prompt safeguards are in place.

How do I learn more advanced techniques?

Experiment with assets, advanced prompt templates, and model combinations. Inspect the Console, check version history, and iterate. For team adoption, create internal templates and share best practices across your organization.

📣 Closing note

Opal turns ideas into runnable mini-apps quickly. Whether you want to automate a weekly task, prototype a creative idea, or standardize team workflows, Opal gives you a visual, model-driven environment to build and share. Start with a short natural language idea, inspect and refine the generated flow, use assets to enforce style, and publish or share outputs as appropriate.

If you want to get hands on, try building a simple Opal today: a two-question input that generates a one-page summary and saves it to Google Docs. You will see how quickly a concept becomes a repeatable tool.

Share this post

AI World Vision

AI and Technology News