Last updated on Apr 6

9 min read


Samespace Studio is an advanced design tool that enables administrators to configure, design, and manage both simple and complex call and chat flows with ease.

Nodes are fundamental building blocks that make up the flow, enabling you to create Interactive Voice Response (IVR) systems tailored to your specific requirements. With a total of 22 functions at your disposal, you have the flexibility to create a customised call flow that meets your unique needs.


It is used to answer an incoming call.

Answer Delay: The answer delay is the time between when a call is received and when it is answered. During this time, the caller hears a ringing sound.


These nodes are utilized for extracting data and transmitting custom headers using the Session Initiation Protocol (SIP) signaling. Information can be conveyed in the form of key-value pairs, and it can either be stored or transmitted.

The node contains two distinct sections, namely GET and SEND. The GET section is used for storing the value of incoming SIP headers, which can be referenced using the 'variable_sip_h.' prefix.

Use case:

To obtain the value of a SIP custom header, use the GET section of this node. You can reference the header's value by prefixing it with 'variable_sip_h_' (e.g., to reference the Caller-ANI header, use 'variable_sip_h_Caller-ANI').

In the SEND section of this node, you can send custom SIP headers to external parties by adding the 'sip_h*' prefix to the key. For example, to send the Caller-ANI header, use 'sip_h_Caller-ANI.'


Use the Say node to play pre-recorded messages during your call flows without the need to upload audio files beforehand. This node offers a convenient solution for playing messages on the fly.

Voice: Select the desired accent for the message.

Allow Interruptions: If this option is enabled, the node will accept interruptions and move to the next node.

Message: Type the message that the caller will hear. You can also include variations. If you provide multiple variations, the message will be randomly selected from them.

SSML: You can use Speech Synthesis Markup Language (SSML) in your Text-to-Speech request for more customization in your audio response. We offer a wide range of SSML elements for you to choose from.


The Play node allows you to play an audio file that you have uploaded. Please note that the supported audio format is 8 kHz mono.

Allow Interruptions: If this option is enabled, the node will accept interruptions and move to the next node.

Files: You can upload custom audio files here. You can upload multiple audio files, which will be played randomly.

URL: You can also input a URL that contains the audio file to be played.

Record Audio

Allows the caller to record an audio message.

Use Case: This node combines with an Email node to send the recorded audio message to an email address.

It supports the following options:

Play beep before recording: Plays a beep sound to notify the caller when to start speaking

Max Length: Allowed duration to record a message

Finish on Key: Specifies a keypad input that stops recording the audio message.

Save recording to: Name of the variable that will store recording file name.


Message nodes are used to display messages in a chat widget.

Type the message that needs to be displayed in the chat widget. It also supports adding subsequent messages.


Attachment nodes are used to display attachments in the chat widget. Users can upload the file directly from their system.


Buttons node is used to display options in the form of buttons. The visitor can click on the button to respond.

Message: Displays messages before showing buttons.

Hide Message box from widget: Does not show the message box to the visitor. It can be used if the visitor is not allowed to type anything.

Display as quick replies: If enabled, shows the buttons like quick replies. The visitor can still click on these to select the button of their choice.

Timeout: Duration the buttons node will wait for the visitor’s response.

Buttons: This allows the user to specify details for the button.

Gallery node displays a collection of photos in the chat window. These collections of images are shown as cards that can be scrolled. You can add buttons to a card.


The Intent node is used to collect inputs from the customer. You can collect the information either through keypad input or utterance. Please note that keypad input is limited from 0-9, while you can provide multiple utterances.

Timeout: Response timeout.

Responses: Contain a label, keypad input, and utterances for the response. Helps the Intent Node to categorize responses based on the input given by customers.


Slot node is used to validate and store data.

Slot Type: Specifies the category of the data. Predefined entities include, sys.time, sys.digit, sys.percentage, sys.any, and sys.alphanumeric. For example, sys.currency is a slot type that detects monetary currency values expressed with currency symbols or specific terms.

Type Description:

  • detects mentions of dates in user input
  • sys.time: detects mentions of times in user input
  • sys.digit: detects mentions of digits in user input
  • sys.percentage: detects mentions of percentages in user input
  • sys.any: matches any non-empty input
  • sys.alphanumeric: detects mentions of alphanumeric characters in user input

Save answer to: Specifies the name of the variable used to store the data.

Attribute Existence: Specifies the action to take if the attribute exists.

Max Length: Specifies the maximum number of characters that can be stored for the data.

Keypad Only: If enabled, only digits will be stored for the data.


Condition nodes are used to evaluate a condition and determine the appropriate action to take based on the result. The condition is defined within the node, and the control flow of the program can be modified based on the evaluation result.

For example, if you need to schedule a call with an agent who is located in Asia, specifically in India, you can utilize two conditional nodes in the following way:


The schedule node is used to split a workflow based on timezone and calling schedule.

The schedule node consists of the following fields:

  • Label: This field allows you to assign an appropriate name to the schedule node.
  • Timezone: This field displays the selected timezone for the flow.
  • Business hours: This field allows you to input the working hours for the node.
  • Holidays: This field enables you to upload a holiday list, which differentiates the node from the regular business flow.


The Connect Node is responsible for routing call or chat requests to either a Team, User, or an external entity.

  • Phone Number: This allows the call to be transferred to a designated phone number.
  • Exit on Connect: This option will end the call once it has been successfully established.
  • Ring Timeout: This setting determines how long the phone will ring before an agent answers the call or chat.
  • Override ANI: If enabled, this feature allows the caller ID to be specified for the transferred call.
  • Answering Machine Detection: This setting can be enabled to allow for control over how answering machines are detected.


As flows become more complex, they can quickly become difficult to manage. This is where the Redirect Node can be a valuable tool. By dividing large flows into smaller sections, Redirect Nodes make it easier to keep track of the logic and ensure that everything is working as intended. Additionally, Redirect Nodes are often used when creating nested flows, allowing for even more organization and flexibility in the design of your chatbot or automation system.


The Webhook Node is a powerful tool that allows you to send real-time data from your flow to an external application whenever a specified event occurs. This can be incredibly useful in a wide range of scenarios, from updating a customer's information in a CRM system to triggering an email notification when a particular action is taken. To configure the Webhook Node, you'll need to specify the following options:

  • URL: URL of the receiving application
  • Secret Token: Secret token used with the URL


A Run Function node is used to create/execute a function directly from the flow. This node can be used to execute small serverless javascript applications.


Tag node helps control flow execution by attaching attributes to a call. It can be used to control routing to a team in Samespace.


The Salesforce node enables users to retrieve Salesforce data by executing SOQL (Salesforce Object Query Language) queries. In order to use this node, a Salesforce Profile must be created.

Profile: A Profile contains the user's credentials, which are used to execute the SOQL query.

SOQL query: The SOQL query is used to retrieve specific data from Salesforce.


SMS node is a feature that enables users to send messages through SMS. It offers the following options:

Profile: Users can specify the profile containing the necessary credentials of the service provider.

Sender: Users can input the name of the sending entity.

Recipient: Users can provide the telephone number of the intended recipient.

Messages: Users can draft the message content of the SMS.


Email node is a feature within the platform that enables users to send emails directly from a flow. This feature offers users the following options:

Profile: Users can specify the profile containing the necessary credentials of the email service provider.

Sender: Users can input the email address of the sending entity.

To: Users can provide the email address of the intended recipient.

Subject: Users can specify the subject of the email.

Body: Users can draft the email body of the message.


The end node is used to specify the end of a flow. In case of a call, it will hang up the call, whereas the conversation will be terminated for a webchat.