Hi, I want to create entire inbound flow using "purecloud-platform-client-v2". So when I ran below code it says it ran successfully but when I try to open in Genesys it says
const platformClient = require('purecloud-platform-client-v2');
const client = platformClient.ApiClient.instance;
const architectApi = new platformClient.ArchitectApi();
client.setEnvironment('');
// Authenticate
client.loginClientCredentialsGrant('', '')
.then(() => {
console.log('Authenticated successfully');
const flowData = {
name: 'My Inbound Flow with Main Menu',
type: 'inboundcall', // Inbound Call Flow type
description: 'An inbound flow that plays audio, provides a main menu, and disconnects',
startAction: {
actionType: 'playAudio',
playAudio: {
text: 'Hello, thank you for calling. Please press 1 for Sales, press 2 for Support, or press 3 to speak to an operator.'
}
},
actions: [
{
actionType: 'menu', // Main Menu action
menu: {
speechRecognition: {
speechRecognitionEnabled: true, // Enable speech recognition for menu
speechRecognitionPrompts: [
{ text: 'Please choose from the following options: Press 1 for Sales, Press 2 for Support, or Press 3 for an Operator.' }
]
},
options: [
{
value: '1',
action: {
actionType: 'playAudio',
playAudio: {
text: 'You have selected Sales. Please hold for further assistance.'
}
}
},
{
value: '2',
action: {
actionType: 'playAudio',
playAudio: {
text: 'You have selected Support. Please hold for further assistance.'
}
}
},
{
value: '3',
action: {
actionType: 'playAudio',
playAudio: {
text: 'You have selected to speak to an operator. Please hold.'
}
}
}
],
timeoutAction: {
actionType: 'playAudio',
playAudio: {
text: 'Sorry, I did not catch that. Please press 1 for Sales, press 2 for Support, or press 3 for an Operator.'
}
}
}
},
{
actionType: 'disconnect', // Disconnect after the main menu selection
disconnect: {}
}
],
division: { // Division parameter to specify which division the flow belongs to
id: '' // Provide the actual Division ID here
},
defaultLanguage: 'en-US'
};
// Create the flow using Architect API
architectApi.postFlows(flowData)
.then((flowResponse) => {
console.log('Flow created successfully:', flowResponse);
// Save the flow
architectApi.putFlow(flowResponse.id, flowResponse)
.then((savedFlow) => {
console.log('Flow saved successfully:', savedFlow);
// Mark the flow as 'published'
savedFlow.state = 'published';
// Update and publish the flow
architectApi.putFlow(savedFlow.id, savedFlow)
.then((publishedFlow) => {
console.log('Flow published successfully:', publishedFlow);
})
.catch((err) => {
console.error('Error publishing flow:', err);
});
})
.catch((err) => {
console.error('Error saving flow:', err);
});
})
.catch((err) => {
console.error('Error creating flow:', err);
});
})
.catch((err) => {
console.error('Error authenticating', err);
});