Xenioo
  • Welcome!
  • Basic Concepts
    • Your Account
      • The Free plan
      • Upgrading to a paid plan
      • Canceling your subscription
      • Deleting your account
      • Additional Packages
      • Support
      • Payment & Invoicing
      • Messages Count
    • Designing your Chatbot
      • Introduction
      • Behaviors
      • Interactions
      • Actions and Operations
    • Chatbot Details
      • Chatbot Settings
        • General Chatbot Settings
        • Chatbot Conversation Settings
        • Chatbot Integration Settings
      • Teams
        • Team Permissions
        • Team Message Templates
        • Team Member Access
      • Backup & Restore
      • Clone and Reference Clone
    • Publishing
      • Live & Draft Chatbots
      • Publish Your Bot
      • Channels
        • Web
          • Web Variables
          • WordPress
          • Widget Customization
            • Initialization
            • Scripting
        • WhatsApp
          • WhatsApp Variables
          • First Message Processing
          • Configuring Providers
            • Infobip
            • ZOKO
            • MessengerPeople
            • Twilio
            • Chat-API
            • Maytapi
            • Wassenger
            • Waboxapp
        • RCS
          • RCS Variables
          • Configuring Providers
            • LINK Mobility
        • Google Business Messages
          • Google Business Messages Variables
        • SMS
          • SMS Variables
          • Configuring Providers
            • LINK Mobility
        • Facebook
          • Facebook Ads Integration
          • Feed Integration
          • Messenger Referral
          • Facebook Variables
          • Moving users from an existing bot to Xenioo
        • Telegram
          • Telegram Deep Linking
          • Telegram Variables
        • Slack
          • Configuring Slack
          • Slack Variables
        • Microsoft Teams
          • Microsoft Teams Variables
        • Discord
          • Discord Variables
        • Alexa
          • Troubleshooting
          • Alexa Variables
        • Google Assistant
          • Google Assistant Variables
        • Phone
          • Phone Variables
          • Configuring Providers
            • Voximplant
        • Custom
          • REST Reference Guide
          • API Variables
    • Users and Conversation Persistance
  • Artificial Intelligence
    • Intents
    • Expressions
    • Entities
      • Creating Manually
      • Entity Types
      • Synonims
    • Training & Testing your Model
      • Using the NLP Parse Logs
      • Importing Intents From File
    • NLP Master
  • Database
    • Xenioo Database
    • Collections
      • Import And Export Collections Data
    • Database API Interface
      • Url Filtering Syntax
      • Save To Collection
      • Delete From Collection
      • Query Collection
      • CSV Direct Data
  • Broadcasts
    • Broadcasts
      • Settings
        • On Demand
          • HubSpot
        • On Date And Time
        • On Time
        • On Trigger
        • On Interval
    • Campaigns
    • Distribution Lists
    • Audiences
    • Distribution Logs
  • Conversations
    • Conversations
    • Contacts
    • Chat Commands
    • Contact Details
    • Data Retention
  • Actions And Operations
    • Execution
      • Execution Diagram
    • Actions Availability
    • Variables and Tags
    • Dynamic Parsing And Content
    • Content
      • Text Action
      • Random Text Action
      • Quick Reply Action
      • Database Quick Reply Buttons Action
      • Quick Reply Array Action
      • Chat Delay Action
      • Phone Quick Reply Action
      • Email Quick Reply Action
      • Location Quick Reply Action
      • Display Location
      • Image Action
      • Video Action
      • Audio Action
      • File Action
      • Url Action
      • NLP Topics Summary Action
      • Highly Structured Message
      • Custom Class
    • Input
      • Voice Recognition Action
      • Global Detection
        • Text Parse Action
        • NLP Processing Action
        • Dialogflow Detection Action
        • IBM Watson Assistant Intent Detection Action
      • Generic Input Action
      • NLP Input Action
      • Number Input Action
      • Email Input Action
      • Phone Number Action
      • Media Attachment Action
      • Voice Input Action
      • Global Detection Action
      • Dialogflow
        • Dialogflow Input Action
        • Dialogflow Detection Action
      • IBM Watson Assistant
        • IBM Watson Assistant Input Action
        • IBM Watson Assistant Detection Action
    • Flow
      • Go To Action
      • Include Interaction Action
      • Random Split Action
      • Flow Control Action
      • Set Chat Operator State Action
      • Schedule Behaviour Action
      • Variable Switch Action
      • Tag Switch Action
      • Set Context Action
      • Conversation Bookmark Action
      • Create Conversation URL Action
      • Reset Conversation Action
      • Control Conversation Transfer Action
        • Forward Variable Value Action
    • Forms
      • Form Container
      • Fields
        • Text Box
        • Password
        • Text Area
        • Dropdown
        • Checkbox
        • Number
        • Date Picker
        • Time Picker
        • Calendar
        • File Upload
      • Layout
        • Image
        • Literal
        • Divider
        • Html Content
        • Custom CSS
    • Database
      • Load Single Record
      • Delete Records
      • Save Record
      • Save Raw Model
      • Query Collection Data
      • Move To Next Record
      • Set Field Filter Value
      • Order By Field
      • Set Field Value
    • Cards
      • Carousel Template Action
      • List Card Template Action
      • Buttons Card Template Action
      • Card Container Action
      • Interactive Message Action
      • One-Time Notification Request Action
      • Database Carousel Action
      • Dynamic Carousel Action
      • Card And Menu Buttons
        • Postback Button Action
        • URL Button Action
        • Call Phone Button
        • Share Button Action
        • Nested Button Action
        • Interactive Button
    • Profile
      • Set Variable Action
      • Delete Variable Action
      • Set Tag Action
      • Delete Tag Action
      • Set Campaign Subscription Action
    • Privacy
      • Forget User
      • Privacy Opt-In
      • Privacy Flag Condition
    • IoT
      • Control Device State
      • Device State Switch
    • Integration
      • Call API Service Action
      • Execute Cloud Script Action
        • Base Conversation object methods
        • Firebase Connection methods
        • Xenioo Database Collection Methods
      • Execute Client Script Action
      • Send SMS Message
      • Dynamic Content Action
      • Post To Facebook Action
      • Firebase Database Action
      • ActiveCampaign Action
      • Zapier Webhook Action
      • MailChimp Contact Action
      • Wordpress Search Action
      • RSS & Podcast Feed Action
      • SendGrid Mail Action
      • Send Mail Action
      • Send Custom Mail Action
  • Xenioo API
    • Choosing your API
    • Global Platform API
      • Authorization
      • Platform SSO
      • Bots
        • Publish
        • Clone
        • Reference Clone
        • Teams
          • List
          • Add Or Update
          • Delete
      • Conversations
        • Exist
        • Data
        • Share Url
      • AI
      • Statistics
        • Runtime Data
        • Report Files
        • Download Report File
      • Broadcasts
        • Broadcasts List
        • Broadcast State
  • Service State
    • Scheduled Maintenance
    • Platform Changelog
Powered by GitBook
On this page
  • Settings
  • Remarks
  • Trigger
  • Variables
  • Availability

Was this helpful?

  1. Actions And Operations
  2. Integration

Call API Service Action

PreviousIntegrationNextExecute Cloud Script Action

Last updated 4 months ago

Was this helpful?

This operation can be used to call any external HTTP or HTTPS Web API services using different methods. The full result or a single hierarchical value can be assigned to a variable to be later used in the conversation flow.

Settings

The action uses the following settings:

Setting

Description

Method

Choose the HTTP request method required to invoke the API Service

Service URL

The URL of the service to be invoked

Username

The username to be used to invoke the service, if required

Password

The password to be used to invoke the service, if required

Challenge Authentication Mode

If enabled, the service will called by using Username and Password as standard Network Credentials

Headers

Headers to be sent with the request. One header on each line in a name=value format

Payload

The payload to be sent with the request. It can be anything acceptable by your target service.

Payload Mode

The type of payload that is going to be sent to the service.

Response Format

Choose if the service is replying with a JSON or XML or BINARY content

JSON Token Path

The full property path of the value to extract from the JSON response

XML XPath Query

The query to be applied to extract the required value from the XML response

Target Variable

The name of the variable that will hold the response received from the server or the value extracted by Token Path or XPath Query

Save Response Headers

If enabled, will store all of the request response headers in a variable

Remarks

Xenioo will invoke the URL using standard HTTP format: any service available online can be invoked and interacted using this action.

The JSON service reply format setting will also enable standard RAW replies: Xenioo will accept and store in the target variable whatever the server will reply. If you specify a JSON Token Path on a non-JSON result the action will raise an error.

The XML service reply format will automatically parse both standard XML replies and SOAP envelope replies. Typical WSDL based services are perfectly invokable using this action.

Use Payload Mode to set the type of payload you're sending to your service and to change how Xenioo will format the request.

Payload Mode

Result

RAW

No formatting or additional headers are used by Xenioo. The request is sent as-is.

JSON

Xenioo will automatically add a content-type:application/json header to the request

FORM-ENCODED

Xenioo will automatically try to split the payload in one or more variable=value strings and send the data as application/x-www-form-urlencoded.

If you specify both Username and Password but do not enable Challenge Authentication Mode, Xenioo will automatically transform both into a base64 string and call the service using an additional Authorization/Basic header like the one below:

Authorization=Basic dGVzdDp0ZXN0

Xenioo will never add any header or default call value to the request. Any header or value that is required by your call will need to be fully added so that you have total control over each and every aspect of your API integration.

Xenioo variables can hold without content loss only string based content. If you choose to access a service that replies in binary content (like a service that replies with a pdf file or an image) choose BINARY format as result. Xenioo will automatically create a file with the result contents inside your account storage and return the full filename url inside the target variable. If the binary service is correctly exposing a content-type for the reply, Xenioo will automatically append to the downloaded file the correct extension.

Response Headers

Response Headers can be saved by this action by activating the Save Response Headers flag. When the action is executed, every headers sent by the server inside the response will be added to a JSON object into a variable named last_api_response_headers.

A sample headers variable is available below:

{
    "Transfer-Encoding":"chunked",
    "Connection":"keep-alive",
    "Access-Control-Allow-Origin":"*",
    "Vary":"Accept-Encoding",
    "Content-Type":"application/json",
    "Date":"Wed, 10 Nov 2021 14:25:44 GMT"
}

Call Timeout

Trigger

Call Completed. This action will trigger any child operation as soon as the service call is completed. The event will trigger whatever the call is successful or has failed.

Variables

This action produces the following variables:

Variable

Description

last_api_message

The last HTTP message returned by the call. If successful, the variable will be set to 200 OK, otherwise it will contain the remote URL error message.

last_api_response_headers

The response headers of the last call.

last_api_error_content

The raw return content of the last call, if it was an error.

Availability

Channel specific availability follows the table below:

Channel

Availability

Facebook

Fully Available.

WhatsApp

Fully Available.

Telegram

Fully Available.

Web

Fully Available.

Alexa

Fully Available.

Google Assistant

Fully Available.

Slack

Fully Available.

API

Fully Available.

Each field of the response headers can be accessed using .

By default, Xenioo enforces a 10 seconds timeout on every API call executed by your chatbot. If your remote service needs more time to execute its operations please contact to discuss your backend requirements.

When timeout is increased for an account an additional is counted for any API call taking more than 30 seconds to complete.

This action can be used only inside interactions and not as child of other actions. This action requires a to be used on a live chatbot.

Dynamic Parsing
team@xenioo.com
Premium Account
⛔
✅
✅
✅
⛔
✅
✅
⛔
⛔
✅
✅
✅
⛔
Parsed
action message