LogoLogo
  • 👋START HERE
    • Welcome!
  • â„šī¸General
    • Release Notes
      • Full Feature Base Template
      • Services
      • Rule-based Automation
        • May 2025
        • February 2025
        • January 2025
        • December 2024
        • November 2024
        • October 2024
        • September 2024
        • August 2024
        • July 2024
        • June 2024
        • May 2024
        • April 2024
        • March 2024
        • February 2024
        • January 2024
        • 2023
        • 2022
        • 2021
        • Dialog Design Update
    • Glossary of Terms
    • Authentication Methods
      • SSO (Single Sign-On)
      • Built-In User Management
    • Acceptable Use Policy
  • âš™ī¸Rule-based Automation
    • Overview
      • Account Settings
        • Profile
        • Team
        • Roles and Permissions
          • User Management
          • Project Permissions
      • Basic Concepts
        • Project Management
        • Version Management
        • Multi-Lingual Bots
          • Supported Languages
        • Managing User Interactions
          • Unexpected User Input
          • No User Input
    • Dialog Interface
      • Blocks
        • Conversation Logic
          • Start Conversation
          • Global
          • State
          • Intermediate Response
          • To Previous State
          • End Conversation
        • Subdialog
          • Reusable Subdialogs
        • Phone
          • Continue Listening
          • Call Control
        • Technical Logic
          • Service
          • Condition
          • Storage
        • Other
          • Note
      • Speech Assets
        • Intents
          • Utterances
          • Descriptions
        • Slots
          • Custom Slots
            • List Slots
            • Machine Learning Slots
            • Regex Slots
            • LLM Slots
          • Prebuilt Slots
            • DTMF Slot
        • Text Snippets
        • Dictionary
      • Variables
        • Intents
        • Slots
        • Storage
        • Text Snippets
        • Environments
        • Platform
        • Context
      • Services
        • Service Integration Guide
        • Service Development
        • Service Branches and Error Handling
        • Public Services
          • Date and Birthdate Recognition
          • Spelling Post-Processing for Phone
          • IBAN Validation
          • License Plate Validation
          • Address Search
          • Street Names per Postal Code
          • Email Service
          • SMS Service
          • API Adapter
          • Salesforce-Flow Connector
          • Opening Hours
          • Speech-to-Text Hints
          • Fuzzy Match Names
          • Delay Service
      • Debugger
        • Phone 2
        • WhatsApp
        • Textchat 2
    • Environments Interface
      • Service Keys
    • Deployments Interface
      • Creating a Release
      • Editing a Release
    • Text-to-Speech
      • Azure
      • ElevenLabs
      • OpenAI via Azure (Preview)
      • SSML
        • Audio
        • Break
        • Emphasis
        • Prosody
        • Say-as
        • Substitute
        • Paragraph and Sentence
        • Voice
    • Autocomplete
    • Parloa APIs
      • CallData Service and API
      • Conversation History API
      • Textchat V2 API
    • Phone Integrations
      • Genesys Cloud
        • Setting up the SIP Trunk
        • Sending/Receiving UUI Data
        • Creating a Script to Display UUI
      • SIP
      • Tenios
        • Setting Up an Inbound Connection
        • Setting Up an Outbound Connection
        • Transferring a Call
      • Twilio
      • Public IPs and Port Information
    • AI Integration Overview
      • Dual Intent Recognizer (DIR)
      • Dual Tone Multifrequency (DTMF) Intent
    • Analytics and Debugging
      • Understanding Conversations and Transactions
      • Managing Caller ID Data
      • Hangup Events and Triggered Analytics
      • Analytics Transactions: Data Structure and Insights
      • Dialog Analytics
      • Audit Logs
      • Parloa-hosted Analytics
    • Data Privacy
      • Anonymizing Personally Identifiable Information
    • NLU Training
      • NLU Training Best Practices
    • How To
      • Create a Scalable and Maintainable Bot Architecture
      • Implement OnError Loop Handling
      • Resolve the 'Service Unavailable' Error
    • Reference
      • Parloa Keyboard Shortcuts
      • Frequently Asked Questions (FAQ)
      • JavaScript Cheat Sheet
        • Using Regular Expressions (Regex)
  • 🧠Knowledge Skill
    • Introduction
    • Knowledge Collections
    • Knowledge Sources
    • Knowledge Skill Setup
      • Step 1 – Create a Knowledge Skill Agent
      • Step 2 – Configure a Knowledge Skill Agent
      • Step 3 – Configure a Knowledge Skill Agent
Powered by GitBook
On this page
  • Interface Requirements
  • HTTP Request
  • Expected Response
  • Important Considerations
  • Parloa's Services
  • Sample Code

Was this helpful?

Export as PDF
  1. Rule-based Automation
  2. Dialog Interface
  3. Services

Service Development

Developing Custom Services for Integration with Parloa

Interface Requirements

For seamless integration, Parloa mandates adherence to a specific request-response format within the dialog graph.

HTTP Request

Parloa issues an HTTP POST request to the service URL defined within your configuration, carrying a JSON payload that includes additional headers as outlined in the technical settings. The request body, structured as shown below, contains dialog-generated variables and meta information about the interaction:

{
    "input": {
        "input_name_1": "value from dialog",
        "input_name_2": "another value from the dialog"
    },
    "context": {
        // Additional context information
    }
}

The variables generated during the graph execution are provided in the input property as string values. Further meta information about the dialog and the interaction is provided in the context field.

Expected Response

A response with an HTTP status code of 200 is mandatory, with any other codes signaling a fault that redirects to the error branch. For predictable errors, like invalid inputs, send a status code of 200 with an error message in the body. The expected response JSON format is:

{
    "choice": "success",
    "output": {
        "result_var_1": "data content",
        "result_var_2": "further information",
        "result_object": { ... }
    }
}

Important Considerations

  • Avoid Downtimes – For instance, during deployment. Invest in a zero-downtime deployment process, or use another approach to ensure that the API endpoints are always available. Otherwise, ongoing bot dialogs may fail.

  • Input Strings Only – Only string values can be sent out of Parloa. You can, however, JSON-stringify objects or arrays if needed, and process them accordingly in your service.

  • No Global State – Parloa cannot store information from the service requests beyond the current dialog execution.

Parloa's Services

Sample Code

PreviousService Integration GuideNextService Branches and Error Handling

Last updated 1 year ago

Was this helpful?

It is crucial that the choice field is present in the response, as this determines which path to follow in the dialog graph. Information from the service, required for the subsequent dialog execution, must be provided in an output object. These values can then be easily copied to a variable in Parloa. In this context, it is also possible to return non-string values, which requires further processing in blocks with JavaScript to extract relevant values for use in other contexts.

High Availability – Ensure that the APIs have a maximum response time between 4-9 seconds, depending on the platform the bot runs on. See for more information.

Authentication – Static authentication methods, such as basic authentication and API key headers, are supported out of the box. See for more information.

Parloa offers a suite of common services ready for use. Familiarize yourself with Parloa's Services, including the service which adapts existing APIs to Parloa's expected format.

Visit our GitHub repository for service examples which can serve as templates for your service development: ​

âš™ī¸
storage
Storage
API Adapter
https://github.com/parloa/services-examples
Timeout
Authentication