Noodles, Poodles and More!

    TypeScript icon, indicating that this package has built-in type declarations

    3.8.1 • Public • Published

    Actions SDK Node.js Fulfillment Library

    This fulfillment library exposes a developer friendly way to fulfill Actions SDK handlers for the Google Assistant.

    NPM Version Build Status

    Setup Instructions

    Make sure Node.js >=10.18.0 is installed.

    Install the library with either npm install @assistant/conversation or yarn add @assistant/conversation if you use yarn.

    Example Usage

    // Import the appropriate service and chosen wrappers
    const {
    } = require('@assistant/conversation')
    // Create an app instance
    const app = conversation()
    // Register handlers for Actions SDK
    app.handle('<YOUR HANDLER NAME>', conv => {
      conv.add('Hi, how is it going?')
      conv.add(new Image({
        url: '',
        alt: 'A cat',


    Export or run for your appropriate framework:

    Firebase Functions

    const functions = require('firebase-functions')
    // ... app code here
    exports.fulfillment = functions.https.onRequest(app)

    Actions Console Inline Editor

    const functions = require('firebase-functions')
    // ... app code here
    // name has to be `ActionsOnGoogleFulfillment`
    exports.ActionsOnGoogleFulfillment = functions.https.onRequest(app)

    Self Hosted Express Server

    const express = require('express')
    const bodyParser = require('body-parser')
    // ... app code here
    const expressApp = express().use(bodyParser.json())'/fulfillment', app)

    AWS Lambda API Gateway HTTP proxy integration

    // ... app code here
    exports.fulfillment = app

    Next Steps

    Take a look at the docs and samples linked at the top to get to know the platform and supported functionalities.

    Library Development Instructions

    This library uses yarn to run commands. Install yarn using instructions from or with npm: npm i -g yarn.

    Install the library dependencies with yarn. If you want to run any of the sample apps, follow the instructions in the sample README.


    Public interfaces, classes, functions, objects, and properties are labeled with the JSDoc @public tag and exported at the top level. Everything that is not labeled @public and exported at the top level is considered internal and may be changed.

    References & Issues

    Make Contributions

    Please read and follow the steps in the


    See LICENSE.


    npm i @assistant/conversation

    DownloadsWeekly Downloads






    Unpacked Size

    503 kB

    Total Files


    Last publish


    • assistant