diff --git a/twiml/voice/connect/virtualagent-2/virtualagent-2.6.x.py b/twiml/voice/connect/virtualagent-2/virtualagent-2.6.x.py
index 87769852f6..59e4f09190 100644
--- a/twiml/voice/connect/virtualagent-2/virtualagent-2.6.x.py
+++ b/twiml/voice/connect/virtualagent-2/virtualagent-2.6.x.py
@@ -3,7 +3,7 @@
response = VoiceResponse()
response.say('Hello! You will be now be connected to a virtual agent.')
connect = Connect(action='https://myactionurl.com/virtualagent_ended')
-connect.virtualagent(
+connect.virtual_agent(
connector_name='project', status_callback='https://mycallbackurl.com'
)
response.append(connect)
diff --git a/twiml/voice/connect/virtualagent-3/meta.json b/twiml/voice/connect/virtualagent-3/meta.json
new file mode 100644
index 0000000000..093a57939c
--- /dev/null
+++ b/twiml/voice/connect/virtualagent-3/meta.json
@@ -0,0 +1,4 @@
+{
+ "title": "Change the Dialogflow ES language",
+ "type": "server"
+}
diff --git a/twiml/voice/connect/virtualagent-3/output/connect_virtualagent_3.twiml b/twiml/voice/connect/virtualagent-3/output/connect_virtualagent_3.twiml
new file mode 100644
index 0000000000..2eabc5d235
--- /dev/null
+++ b/twiml/voice/connect/virtualagent-3/output/connect_virtualagent_3.twiml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/twiml/voice/connect/virtualagent-3/virtualagent-3.3.x.js b/twiml/voice/connect/virtualagent-3/virtualagent-3.3.x.js
new file mode 100644
index 0000000000..c3faccec57
--- /dev/null
+++ b/twiml/voice/connect/virtualagent-3/virtualagent-3.3.x.js
@@ -0,0 +1,10 @@
+const VoiceResponse = require('twilio').twiml.VoiceResponse;
+
+const response = new VoiceResponse();
+const connect = response.connect();
+connect.virtualAgent({
+ connectorName: 'project',
+ language: 'fr'
+});
+
+console.log(response.toString());
diff --git a/twiml/voice/connect/virtualagent-3/virtualagent-3.5.x.cs b/twiml/voice/connect/virtualagent-3/virtualagent-3.5.x.cs
new file mode 100644
index 0000000000..0066a349b8
--- /dev/null
+++ b/twiml/voice/connect/virtualagent-3/virtualagent-3.5.x.cs
@@ -0,0 +1,17 @@
+using System;
+using Twilio.TwiML;
+using Twilio.TwiML.Voice;
+
+
+class Example
+{
+ static void Main()
+ {
+ var response = new VoiceResponse();
+ var connect = new Connect();
+ connect.VirtualAgent(connectorName: "project", language: "fr");
+ response.Append(connect);
+
+ Console.WriteLine(response.ToString());
+ }
+}
diff --git a/twiml/voice/connect/virtualagent-3/virtualagent-3.5.x.php b/twiml/voice/connect/virtualagent-3/virtualagent-3.5.x.php
new file mode 100644
index 0000000000..f56fca7317
--- /dev/null
+++ b/twiml/voice/connect/virtualagent-3/virtualagent-3.5.x.php
@@ -0,0 +1,9 @@
+connect();
+$connect->virtualagent(['connectorName' => 'project', 'language' => 'fr']);
+
+echo $response;
diff --git a/twiml/voice/connect/virtualagent-3/virtualagent-3.5.x.rb b/twiml/voice/connect/virtualagent-3/virtualagent-3.5.x.rb
new file mode 100644
index 0000000000..e4d1dbee9c
--- /dev/null
+++ b/twiml/voice/connect/virtualagent-3/virtualagent-3.5.x.rb
@@ -0,0 +1,8 @@
+require 'twilio-ruby'
+
+response = Twilio::TwiML::VoiceResponse.new
+response.connect do |connect|
+ connect.virtual_agent(connector_name: 'project', language: 'fr')
+end
+
+puts response
diff --git a/twiml/voice/connect/virtualagent-3/virtualagent-3.6.x.py b/twiml/voice/connect/virtualagent-3/virtualagent-3.6.x.py
new file mode 100644
index 0000000000..7dcff3bc13
--- /dev/null
+++ b/twiml/voice/connect/virtualagent-3/virtualagent-3.6.x.py
@@ -0,0 +1,8 @@
+from twilio.twiml.voice_response import Connect, VoiceResponse, VirtualAgent
+
+response = VoiceResponse()
+connect = Connect()
+connect.virtual_agent(connector_name='project', language='fr')
+response.append(connect)
+
+print(response)
diff --git a/twiml/voice/connect/virtualagent-3/virtualagent-3.7.x.java b/twiml/voice/connect/virtualagent-3/virtualagent-3.7.x.java
new file mode 100644
index 0000000000..366f2d9250
--- /dev/null
+++ b/twiml/voice/connect/virtualagent-3/virtualagent-3.7.x.java
@@ -0,0 +1,19 @@
+import com.twilio.twiml.voice.Connect;
+import com.twilio.twiml.VoiceResponse;
+import com.twilio.twiml.voice.VirtualAgent;
+import com.twilio.twiml.TwiMLException;
+
+
+public class Example {
+ public static void main(String[] args) {
+ VirtualAgent virtualagent = new VirtualAgent.Builder().connectorName("project").language("fr").build();
+ Connect connect = new Connect.Builder().virtualAgent(virtualagent).build();
+ VoiceResponse response = new VoiceResponse.Builder().connect(connect).build();
+
+ try {
+ System.out.println(response.toXml());
+ } catch (TwiMLException e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/twiml/voice/connect/virtualagent-3/virtualagent.3.x.js b/twiml/voice/connect/virtualagent-3/virtualagent.3.x.js
new file mode 100644
index 0000000000..1dc256f2e2
--- /dev/null
+++ b/twiml/voice/connect/virtualagent-3/virtualagent.3.x.js
@@ -0,0 +1,12 @@
+const VoiceResponse = require('twilio').twiml.VoiceResponse;
+
+const response = new VoiceResponse();
+const connect = response.connect({
+ action: 'https://myactionurl.com/twiml'
+});
+connect.virtualAgent({
+ connectorName: 'project',
+ statusCallback: 'https://mycallbackurl.com'
+});
+
+console.log(response.toString());
diff --git a/twiml/voice/connect/virtualagent-3/virtualagent.5.x.cs b/twiml/voice/connect/virtualagent-3/virtualagent.5.x.cs
new file mode 100644
index 0000000000..43b186c7e9
--- /dev/null
+++ b/twiml/voice/connect/virtualagent-3/virtualagent.5.x.cs
@@ -0,0 +1,17 @@
+using System;
+using Twilio.TwiML;
+using Twilio.TwiML.Voice;
+
+
+class Example
+{
+ static void Main()
+ {
+ var response = new VoiceResponse();
+ var connect = new Connect(action: new Uri("https://myactionurl.com/twiml"));
+ connect.VirtualAgent(connectorName: "project", statusCallback: "https://mycallbackurl.com");
+ response.Append(connect);
+
+ Console.WriteLine(response.ToString());
+ }
+}
diff --git a/twiml/voice/connect/virtualagent-3/virtualagent.5.x.php b/twiml/voice/connect/virtualagent-3/virtualagent.5.x.php
new file mode 100644
index 0000000000..c011637b08
--- /dev/null
+++ b/twiml/voice/connect/virtualagent-3/virtualagent.5.x.php
@@ -0,0 +1,9 @@
+connect(['action' => 'https://myactionurl.com/twiml']);
+$connect->virtualagent(['connectorName' => 'project', 'statusCallback' => 'https://mycallbackurl.com']);
+
+echo $response;
diff --git a/twiml/voice/connect/virtualagent-3/virtualagent.5.x.rb b/twiml/voice/connect/virtualagent-3/virtualagent.5.x.rb
new file mode 100644
index 0000000000..4e7786e2d0
--- /dev/null
+++ b/twiml/voice/connect/virtualagent-3/virtualagent.5.x.rb
@@ -0,0 +1,8 @@
+require 'twilio-ruby'
+
+response = Twilio::TwiML::VoiceResponse.new
+response.connect(action: 'https://myactionurl.com/twiml') do |connect|
+ connect.virtual_agent(connector_name: 'project', status_callback: 'https://mycallbackurl.com')
+end
+
+puts response
diff --git a/twiml/voice/connect/virtualagent-3/virtualagent.6.x.py b/twiml/voice/connect/virtualagent-3/virtualagent.6.x.py
new file mode 100644
index 0000000000..90a9594587
--- /dev/null
+++ b/twiml/voice/connect/virtualagent-3/virtualagent.6.x.py
@@ -0,0 +1,10 @@
+from twilio.twiml.voice_response import Connect, VoiceResponse, VirtualAgent
+
+response = VoiceResponse()
+connect = Connect(action='https://myactionurl.com/twiml')
+connect.virtualagent(
+ connector_name='project', status_callback='https://mycallbackurl.com'
+)
+response.append(connect)
+
+print(response)
diff --git a/twiml/voice/connect/virtualagent-3/virtualagent.7.x.java b/twiml/voice/connect/virtualagent-3/virtualagent.7.x.java
new file mode 100644
index 0000000000..62ea0b9837
--- /dev/null
+++ b/twiml/voice/connect/virtualagent-3/virtualagent.7.x.java
@@ -0,0 +1,19 @@
+import com.twilio.twiml.voice.Connect;
+import com.twilio.twiml.VoiceResponse;
+import com.twilio.twiml.voice.VirtualAgent;
+import com.twilio.twiml.TwiMLException;
+
+
+public class Example {
+ public static void main(String[] args) {
+ VirtualAgent virtualagent = new VirtualAgent.Builder().connectorName("project").statusCallback("https://mycallbackurl.com").build();
+ Connect connect = new Connect.Builder().action("https://myactionurl.com/twiml").virtualAgent(virtualagent).build();
+ VoiceResponse response = new VoiceResponse.Builder().connect(connect).build();
+
+ try {
+ System.out.println(response.toXml());
+ } catch (TwiMLException e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/twiml/voice/connect/virtualagent-4/meta.json b/twiml/voice/connect/virtualagent-4/meta.json
new file mode 100644
index 0000000000..1f66c59068
--- /dev/null
+++ b/twiml/voice/connect/virtualagent-4/meta.json
@@ -0,0 +1,4 @@
+{
+ "title": "Turn on Sentiment Analysis for a Dialogflow ES agent call",
+ "type": "server"
+}
diff --git a/twiml/voice/connect/virtualagent-4/output/connect_virtualagent_4.twiml b/twiml/voice/connect/virtualagent-4/output/connect_virtualagent_4.twiml
new file mode 100644
index 0000000000..db4edd5cf0
--- /dev/null
+++ b/twiml/voice/connect/virtualagent-4/output/connect_virtualagent_4.twiml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/twiml/voice/connect/virtualagent-4/virtualagent-4.3.x.js b/twiml/voice/connect/virtualagent-4/virtualagent-4.3.x.js
new file mode 100644
index 0000000000..2bedcc180e
--- /dev/null
+++ b/twiml/voice/connect/virtualagent-4/virtualagent-4.3.x.js
@@ -0,0 +1,10 @@
+const VoiceResponse = require('twilio').twiml.VoiceResponse;
+
+const response = new VoiceResponse();
+const connect = response.connect();
+connect.virtualAgent({
+ connectorName: 'project',
+ sentimentAnalysis: true
+});
+
+console.log(response.toString());
diff --git a/twiml/voice/connect/virtualagent-4/virtualagent-4.5.x.cs b/twiml/voice/connect/virtualagent-4/virtualagent-4.5.x.cs
new file mode 100644
index 0000000000..cdcfdda25b
--- /dev/null
+++ b/twiml/voice/connect/virtualagent-4/virtualagent-4.5.x.cs
@@ -0,0 +1,17 @@
+using System;
+using Twilio.TwiML;
+using Twilio.TwiML.Voice;
+
+
+class Example
+{
+ static void Main()
+ {
+ var response = new VoiceResponse();
+ var connect = new Connect();
+ connect.VirtualAgent(connectorName: "project", sentimentAnalysis: true);
+ response.Append(connect);
+
+ Console.WriteLine(response.ToString());
+ }
+}
diff --git a/twiml/voice/connect/virtualagent-4/virtualagent-4.5.x.php b/twiml/voice/connect/virtualagent-4/virtualagent-4.5.x.php
new file mode 100644
index 0000000000..820cf90f23
--- /dev/null
+++ b/twiml/voice/connect/virtualagent-4/virtualagent-4.5.x.php
@@ -0,0 +1,9 @@
+connect();
+$connect->virtualagent(['connectorName' => 'project', 'sentimentAnalysis' => 'true']);
+
+echo $response;
diff --git a/twiml/voice/connect/virtualagent-4/virtualagent-4.5.x.rb b/twiml/voice/connect/virtualagent-4/virtualagent-4.5.x.rb
new file mode 100644
index 0000000000..a03ca62332
--- /dev/null
+++ b/twiml/voice/connect/virtualagent-4/virtualagent-4.5.x.rb
@@ -0,0 +1,8 @@
+require 'twilio-ruby'
+
+response = Twilio::TwiML::VoiceResponse.new
+response.connect do |connect|
+ connect.virtual_agent(connector_name: 'project', sentiment_analysis: true)
+end
+
+puts response
diff --git a/twiml/voice/connect/virtualagent-4/virtualagent-4.6.x.py b/twiml/voice/connect/virtualagent-4/virtualagent-4.6.x.py
new file mode 100644
index 0000000000..b1fc80ecb7
--- /dev/null
+++ b/twiml/voice/connect/virtualagent-4/virtualagent-4.6.x.py
@@ -0,0 +1,8 @@
+from twilio.twiml.voice_response import Connect, VoiceResponse, VirtualAgent
+
+response = VoiceResponse()
+connect = Connect()
+connect.virtual_agent(connector_name='project', sentiment_analysis=True)
+response.append(connect)
+
+print(response)
diff --git a/twiml/voice/connect/virtualagent-4/virtualagent-4.7.x.java b/twiml/voice/connect/virtualagent-4/virtualagent-4.7.x.java
new file mode 100644
index 0000000000..8a44ce0b64
--- /dev/null
+++ b/twiml/voice/connect/virtualagent-4/virtualagent-4.7.x.java
@@ -0,0 +1,19 @@
+import com.twilio.twiml.voice.Connect;
+import com.twilio.twiml.VoiceResponse;
+import com.twilio.twiml.voice.VirtualAgent;
+import com.twilio.twiml.TwiMLException;
+
+
+public class Example {
+ public static void main(String[] args) {
+ VirtualAgent virtualagent = new VirtualAgent.Builder().connectorName("project").sentimentAnalysis(true).build();
+ Connect connect = new Connect.Builder().virtualAgent(virtualagent).build();
+ VoiceResponse response = new VoiceResponse.Builder().connect(connect).build();
+
+ try {
+ System.out.println(response.toXml());
+ } catch (TwiMLException e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/twiml/voice/connect/virtualagent/virtualagent.6.x.py b/twiml/voice/connect/virtualagent/virtualagent.6.x.py
index 90a9594587..156c2008f2 100644
--- a/twiml/voice/connect/virtualagent/virtualagent.6.x.py
+++ b/twiml/voice/connect/virtualagent/virtualagent.6.x.py
@@ -2,7 +2,7 @@
response = VoiceResponse()
connect = Connect(action='https://myactionurl.com/twiml')
-connect.virtualagent(
+connect.virtual_agent(
connector_name='project', status_callback='https://mycallbackurl.com'
)
response.append(connect)