# Build overview

To build Conversational Actions, you create and deploy the following components:

- **[Actions project](https://developers.google.com/assistant/conversational/build/projects)** - The logical container for all of your Conversational Actions, web services, and web apps. It also defines project settings and resources that describe how to deploy your project to Actions on Google.
- **[Invocation model](https://developers.google.com/assistant/conversational/build/invocation)** - Defines how users discover and start the Actions inside your project. You build your invocation model with [intents](https://developers.google.com/assistant/intents) and [types](https://developers.google.com/assistant/types).
- **[Conversation model](https://developers.google.com/assistant/conversational/build/conversation)** - Defines what users can say to your Actions and how your Actions respond to users. You build your conversational model with [intents](https://developers.google.com/assistant/intents), [types](https://developers.google.com/assistant/types), [scenes](https://developers.google.com/assistant/scenes), and [prompts](https://developers.google.com/assistant/prompts).
- **[Webhooks](https://developers.google.com/assistant/webhooks)** - Actions can trigger webhooks to delegate additional logic to your fulfillment services, like generating prompts, validating data, and more.
- **[Interactive Canvas](https://developers.google.com/assistant/interactivecanvas)** - Instead of sending simple text responses or rich cards and images, you can deliver a full-screen, interactive web app powered by HTML, CSS, and JavaScript.

The following sections describe the tools that you'll use to build Actions.

### Actions

[Video](https://www.youtube.com/watch?v=V6s5vp4l4WE)

The Actions API is a set of developer tools for building Actions for the
Google Assistant. It consists of the following features:

- **An open, file-based representation of an Actions project** - Build your
  invocation and conversation models with
  [intents](https://developers.google.com/assistant/conversational/intents),
  [types](https://developers.google.com/assistant/conversational/types),
  [scenes](https://developers.google.com/assistant/conversational/scenes), and
  [prompts](https://developers.google.com/assistant/conversational/prompts). You can edit your Actions
  projects with your favorite text editor, check them into source control, build
  automated processes, and more.

- **A command-line interface (CLI)** - The
  [`gactions` tool](https://developers.google.com/assistant/actionssdk/gactions) provides a CLI to bootstrap and
  automate development of your Actions. It lets you initialize standard Action
  project files, push updates to the Actions console, deploy Action projects,
  and more. The tool lets you perform many common workflows, such as importing
  existing projects or starting work on a feature branch using your favorite
  source control system.

- **The Actions API** - The Actions API is the same API used by
  the `gactions` tool. The Actions API provides a list of REST endpoints to
  manage your Actions, including for testing and building. The API lets you use
  JSON requests to perform many common workflows. When
  [using the Actions API](https://developers.google.com/assistant/actions/api) there are
  certain limits and best practices that you should consider.

- **Webhooks and a Node.js fulfillment library** - Your Actions can delegate
  business logic to your web services with webhooks and a JSON based messaging
  format. We provide a Node.js fulfillment library that provides idiomatic interfaces for the
  [Conversation Webhook](https://developers.google.com/assistant/conversational/webhooks). This library makes it
  easy to implement many common user flows. For example, some features include
  extracting parameters from a user query and generating a multimodal experience
  (voice only and voice and visuals) for Google Assistant.

### Actions Builder

[Video](https://www.youtube.com/watch?v=Z1hxvniJ18s)

Actions Builder gives you a powerful and easy-to-use, web-based IDE that's
integrated into the Actions console. Since Actions Builder is built on the
same technologies as the Actions API, you can use it on its own or together with
the Actions API depending on your needs.
![](https://developers.google.com/assistant/images/builder-panels.png)

The Actions Builder UI is split into the following areas:

1. The top menu provides access to the different areas of the Actions console, and you can access Actions Builder on the **Develop** tab.
2. The left menu lets you access all the components to build Actions, like intents and scenes.
3. The build area lets you build the component you're working on.
4. The details area lets you configure more details about the component you're working on.