Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


In this article

Table of Contents
maxLevel2
absoluteUrltrue

Overview

Use this Snap to modify existing Twilio data objects.
Image Modified

Prerequisites

  • Valid Twilio Account SID
  • Auth Token corresponding to the Account SID

...

Input/OutputType of ViewNumber of ViewsExamples of Upstream and Downstream SnapsDescription
Input 

Document




  • Min:1
  • Max:1
  • Mapper Snap
  • Copy Snap
  • CSV Parser
  • JSON Parser
A document containing details of the entity or data object to modify a Twilio entity.
Output

Document



  • Min:0
  • Max:1
  • Mapper Snap
  • Copy Snap
  • XML Formatter
  • JSON Formatter

A document containing details of the modified Twilio entity or data object.

Snap Settings

Parameter NameData TypeDescriptionDefault ValueExample 
LabelString

Required. The name for the Snap. You can modify this to be more specific, especially if you have more than one of the same Snap in your Pipeline.

Twilio ModifyTwilio Modify Assistant
API objectString/Expression

Required. Select the API that you want to access in Twilio instance. This property provides a set of business objects defined by Twilio.

Programmable SMSAutopilot
EntityString/Expression/Suggestion

Required. Select an entity that belongs to the corresponding API object chosen above.
You can choose an entity from the suggestion list or provide a static value.  

MessagesAssistant
Entity SIDString/Expression

Required. Specify a unique ID for the entity that determines one specific resource under the given entity type.

Note

Entity SID is required to perform the modification operation in most cases. However, an exception to this arises for entity types that can only be operated as a group rather than an instance, such as Actions of a Task under the Autopilot object. To re-program the actions that correspond to a task invoked during the dialogue, you must not provide Entity SID in this field.


NoneSM191d756dfd987khlo345s

Required SID

Use this field set to specify the parent entity String Identifiers (SIDs) necessary for accessing the requested resources, if any.
Twilio's API designs follow a hierarchical pattern to indicate relationships among entities. For example, you can build an autopilot assistant to answer incoming calls with a task model. In this case, the
Task entity is considered as a property of Assistant entity. Each assistant has a unique SID, and one assistant can have multiple tasks associated with it. To retrieve the record for one of the tasks, also provide the task's parent assistant SID in the Required SIDs table.

Click  to add a new row in this table and define the values accordingly.
This field set comprises the following fields:

  • SID name
  • SID value

SID name

String/SuggestionSpecify the name(s) of the parent SID(s) of the input Entity
The available entities are dynamically populated in the suggestion list according to the specified 
Entity.  
NoneAssistantSid

SID value

StringSpecify the SID value for the corresponding SID name chosen above.NoneUA12ab3478amkiu765dfnlp2309kloi657q
Connection details

Use this field set to configure the network connection parameters.

This field set contains the following fields:

  • Connection timeout
  • Maximum request attempts
  • Retry request interval

Connection timeout

IntegerRequired. Specify the connection timeout duration in seconds.3060

Maximum request attempts

IntegerRequired. Specify the maximum number of connection attempts if the connection fails or is timed-out.06

Retry request interval

Integer

RequiredSpecify the time in seconds to wait before retrying the connection request.

03
Snap ExecutionDrop-down list

Select one of the three following modes in which the Snap executes:

  • Validate & Execute. Performs limited execution of the Snap and generates a data preview during Pipeline validation, then performs full execution of the Snap (unlimited records) during Pipeline runtime.
  • Execute only. Performs full execution of the Snap during Pipeline execution without generating preview data.
  • Disabled. Disables the Snap and all Snaps downstream from it.

Execute OnlyValidate & Execute

Troubleshooting

ErrorReasonResolution
You have an empty value in the Key/Value field.

Key/value parameters must not be empty.

Enter a valid value for key/value parameters.

One or more Required SIDs are missing

The Required SIDs are mandatory for this Endpoint.

Check your settings under the Required SIDs table. Ensure that you have entered SID names and values for all the entries.

You have an empty value in the SID name/value field for the Required SID.

The SID name/value field must not be empty for Required SIDs.

Enter a valid SID name/value for the Required SID.

Input schema

The Payload schema helps you define the input payload for the API call through Modify Snap. It dynamically loads and represents all the parameters that you need for the data object modification. For Mapper Snap or a Snap which can display the entire input schema, always use the Payload schema to define your input payload. Else, in your input JSON object, always include Payload text as a key in the parent of your input. 

...


Modifying a Message sent through Programmable SMS

This example illustrates modifying a message sent through Programmable SMS which involves modifying the message-body from a message record while retaining the rest of the properties. We use Twilio Modify to achieve this result.
To use this example you must have a valid Twilio Account (see Twilo Account) and a Twilio phone number (including a trial phone number). You should also have sent at least one message with that Twilio phone number.

First, we configure the Twilio Modify Snap as shown below. Note that in the Entity Sid field you need to provide the message SID retrieved from your Twilio account (the one created from the Twilio Create Pipeline).
Image Modified

On validation, we can view both the required and optional parameters in the upstream Mapper Snap for updating the object of Messages entity in the Target Schema. We select the parameters that are dynamically populated from the JSON Generator and map them to the Target Path. 

Subsequently, we edit the JSON text in the JSON Generator Snap according to Target path and provide them as expressions in the Mapper Snap. To modify the message body, we set the Body parameter as an empty string in the JSON object as shown below:
Image Modified

A successful execution of this Pipeline results in the following API response in the output view of the Twilio Modify Snap, which we later convert into XML format and stream to an XML Writer Snap. We can see the generated XML file in the project workspace.
Image Modified


Download this Pipeline

Downloads

...