Provide instructions, relevant information, and examples of the ideal conversation flow.This is your prompt where you are telling the agent what to do.Recommendations:
Include context and a background/persona for the agent like "You are {name}, a customer service agent at {company} calling {name} about {reason}.
Phrase instructions like you are speaking to the agent before the call.
Any time you tell the agent not to do something, provide an example of what they should do instead.
Keep the prompt under 2,000 characters where possible.
This is the pathway ID for the pathway you have created on our dev portal. You can access the ID of your pathways by clicking the ‘Copy ID’ button of your pathway hereNote: Certain parameters do not apply when using pathways.
Unused Parameters
task - The pathway substitutes as the agent’s instructions.
model - We use our own fine-tuned models under the hood.
tools - Replaced by ‘Webhook’ Node in Pathways
transfer_list - Replaced by ‘Transfer Call’ Node in Pathways
transfer_phone_number - Replaced by ‘Transfer Call’ Node in Pathways
This is the node ID for the node you want the pathway to start from. You can access the ID of your nodes hereNote: This parameter is only used when pathway_id is provided.Example Simple Request body:
The voice of the AI agent to use. Accepts any form of voice ID, including custom voice clones and voice presets.Default voices can be referenced directly by their name instead of an id.Usage example: voice: "maya"Luly Curated voices:
maya
mason
ryan
adriana
tina
matt
evelyn
Use the GET /v1/voices endpoint to see a full list of your available voices.
Moving from voice_id to voice
Note: Including voice_id or reduce_latency in your request is still supported, but not recommended.The previous structure to select voices used both voice_id and reduce_latency. To simplify the process, we’ve combined these into a single voice parameter.
If the first two letters of voice are RL, that is equivalent to settings reduce_latency to true.
Prefixing the voice ID with HQ will use the high fidelity version of the voice.
The integer following the prefix is the voice_id from before.
Example:
reduce_latency: true, voice_id: 0 is equivalent to voice: "RL0"
reduce_latency: false, voice_id: 3 is equivalent to voice: "HQ3"
Including reduce_latency may override the voice parameter, so exclude it when using voice.
Moving from voice_preset_id to voice
All presets have been migrated to the voice parameter and can use either the preset name or ID.If you used to have a voice_preset_id of "2f9fdbc7-4bf2-4792-8a18-21ce3c93978f", you can now use voice: "2f9fdbc7-4bf2-4792-8a18-21ce3c93978f".
Select an audio track that you’d like to play in the background during the call. The audio will play continuously when the agent isn’t speaking, and is incorporated into it’s speech as well.Use this to provide a more natural, seamless, engaging experience for the conversation. We’ve found this creates a significantly smoother call experience by minimizing the stark differences between total silence and the agent’s speech.Options:
null - Default, will play audible but quiet phone static.
office - Office-style soundscape. Includes faint typing, chatter, clicks, and other office sounds.
cafe - Cafe-like soundscape. Includes faint talking, clinking, and other cafe sounds.
By default, the agent starts talking as soon as the call connects.When wait_for_greeting is set to true, the agent will wait for the call recipient to speak first before responding.
Adjusts how patient the AI is when waiting for the user to finish speaking.Lower values mean the AI will respond more quickly, while higher values mean the AI will wait longer before responding.Recommended range: 50-200
50: Extremely quick, back and forth conversation
100: Balanced to respond at a natural pace
200: Very patient, allows for long pauses and interruptions. Ideal for collecting detailed information.
Try to start with 100 and make small adjustments in increments of ~10 as needed for your use case.
A value between 0 and 1 that controls the randomness of the LLM. 0 will cause more deterministic outputs while 1 will cause more random.Example Values: "0.9", "0.3", "0.5"
These words will be boosted in the transcription engine - recommended for proper nouns or words that are frequently mis-transcribed.For example, if the word “Reece” is frequently transcribed as a homonym like “Reese” you could do this:
{ "keywords": ["Reece"] }
For stronger keyword boosts, you can place a colon then a boost factor after the word. The default boost factor is 2.
The pronunciation guide is an array of objects that guides the agent on how to say specific words. This is great for situations with complicated terms or names.
word — the word you want to guide the LLM on how to pronounce
pronunciation — the word you want to guide the LLM on how to pronounce.
case_sensitive — whether or not to consider case. Particularly useful with names. EG: ‘Max’ the name versus ‘max’ the word. Defaults to false. Not required.
spaced — whether or not to consider spaces. When true the word ‘high’ would be flagged but NOT ‘hightop’. Defaults to true. Not required.
Give your agent the ability to transfer calls to a set of phone numbers.Overrides transfer_phone_number if a transfer_list.default is specified.Will default to transfer_list.default, or the chosen phone number.Example usage to route calls to different departments:
Set the timezone for the call. Handled automatically for calls in the US.This helps significantly with use cases that rely on appointment setting, scheduling, or behaving differently based on the time of day.Timezone options are here in the TZ identifier column.
Any JSON you put in here will be visible to the AI agent during the call - and can also be referenced with Prompt Variables.For example, let’s say in your app you want to programmatically set the name of the person you’re calling. You could set request_data to:
{ "phone_number": "+1...", "task": "...", "first_sentence": "Hello {{name}}! How are you doing today?", // also works in the prompt, tools, etc. "request_data": { "name": "John Doe", } }
For further information about how Prompt Variables work, check out the Custom Tools tutorial.
Make dynamic requests to external APIs and use the data in your AI’s responses.
Properties
Each request object should contain:url: The URL of the external API to fetch data from.response_data: An array of objects describing how to parse and use the data fetched from the API. Explained in more detail below.The following are optional:method: Allows GET or POST. Default: GETcache: Whether to fetch the data once at the beginning of the call, or to re-check continuously for data that might change mid-call. Default: trueheaders: An object of headers to send with the request.body: The body of the request.The following variables can be injected into the dynamic request body:
{{from}} (Ex. +12223334444)
{{to}}
{{short_from}} (Ex. 2223334444)
{{short_to}}
{{call_id}}
These string values will be replaced in each dynamic_data[].body where they’re used by system values in each request.Try out with this example:
The time you want the call to start. If you don’t specify a time (or the time is in the past), the call will send immediately.Set your time in the format YYYY-MM-DD HH:MM:SS -HH:MM (ex. 2021-01-01 12:00:00 -05:00).The timezone is optional, and defaults to UTC if not specified.Note: Scheduled calls can be cancelled with the POST /v1/calls/:cal\l_id/stop endpoint.
When the AI encounters a voicemail, it will leave this message after the beep and then immediately end the call.Warning: If amd is set to true or voicemail_action is set to ignore, then this will still work for voicemails, but it will not hang up for IVR systems.
If the call goes to voicemail, you can set up the call to retry, after a configurable delay. You can also update the voicemail_action, and voicemail_message in the retry object, for the re-tried call.Takes in the following parameters:
wait (integer): The delay in seconds before the call is retried.
voicemail_action (enum): The action to take when the call goes to voicemail. Options: hangup, leave_message, ignore.
voicemail_message (string): The message to leave when the call goes to voicemail.
Example:
{ "retry": { "wait": 10, "voicemail_action": "leave_message", "voicemail_message": "Hello, this is a test message." } }
When the call starts, a timer is set for the max_duration minutes. At the end of that timer, if the call is still active it will be automatically ended.Example Values: 20, 2
To record your phone call, set record to true. When your call completes,
you can access through the recording_url field in the call details or
your webhook.
Specify a phone number to call from that you own or have uploaded from your Twilio account. Country code is required, spaces or parentheses must be excluded.By default, calls are initiated from a separate pool of numbers owned by luly.
When the call ends, we’ll send the call details in a POST request to the URL you specify here.The request body will match the response from the GET /v1/calls/:call_id endpoint.
Add any additional information you want to associate with the call. This can be useful for tracking or categorizing calls.Anything that you put here will be returned in your webhook or in the call details under metadata.Example:
At the end of each call, a summary is generated based on the transcript - you can use this field to add extra instructions and context for how it should be summarized.For example: "Summarize the call in French instead of English."
When the call ends, the transcript and call details will be analyzed by the AI.Define a JSON schema for how you want to get information about the call - information like email addresses, names, appointment times or any other type of custom data.In the webhook response or whenever you retrieve call data later, you’ll get the data you defined back under analysis.For example, if you wanted to retrieve this information from the call:
If this is set to true, we process the audio from the start of the call to determine if it was answered by a human or a voicemail.In the call details or webhook response, you’ll see the answered_by field with the value human, unknown or voicemail.Notes for accuracy:
When answered_by is voicemail or human, that is nearly 100% accurate.
When it is unknown, try using text analysis by adding answered_by to your analysis_schema.
For validation errors, a detailed list of each field with an error and it’s error message.Example:
{ "status": "error", "message": "Invalid parameters", "errors": [ "Missing required parameter: phone_number.", "Missing required parameter: task.", "Phone number must be a string or number.", "Task must be a string." ] }
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"Luly AI","colors":{"primary":"#0099ff","light":"#0099ff","dark":"#0099ff"},"favicon":"/favicon.svg","logo":{"light":"https://mintlify.s3.us-west-1.amazonaws.com/developersden/logo/light.svg","dark":"https://mintlify.s3.us-west-1.amazonaws.com/developersden/logo/dark.svg"},"api":{"mdx":{"server":"https://app.luly.ai/api/"}},"navbar":{"links":[{"label":"Support","href":"mailto:lulyai@gmail.com"}],"primary":{"type":"button","label":"Get Started","href":"https://portal.luly.ai/"}},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"developersden","hasAudioNarration":false,"actualSubdomain":"developersden","customDomains":["docs.luly.ai"],"gitSource":{"type":"github","owner":"fa1ez","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21e65b03d4026a3ef76b74","collectionId":"8eed265a-943f-47e3-9d26-f33c6dc9a457","schemaVersion":"v2"},"entitlements":{},"buildId":"6ae92254d4316d4cae5718b5:success","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"api-reference","count":78},{"language":"default","tag":"Conversational Pathways","count":17},{"language":"default","tag":"Documentation","count":17},{"language":"default","tag":"Calls","count":9},{"language":"default","tag":"Basic Tutorials","count":9},{"language":"default","tag":"SMS","count":8},{"language":"default","tag":"Batches","count":6},{"language":"default","tag":"Pathway Folders","count":6},{"language":"default","tag":"Custom Tools","count":5},{"language":"default","tag":"Vector Stores","count":5}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/calls/sendCall","slug":"/api-reference/calls/sendCall","pageMetadata":{"title":"Send Call","description":"Send an AI phone call with a custom objective and actions.","api":"POST v1/calls","href":"/api-reference/calls/sendCall"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Send an AI phone call with a custom objective and actions.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,CodeBlock,Heading,ParamField,ResponseField}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`3`,id:`headers`,children:`Headers`}),`\n`,_jsx(ParamField,{header:`authorization`,type:`string`,required:true,id:`param-authorization`,children:_jsx(_components.p,{children:`Your API key for authentication.`})}),`\n`,_jsx(ParamField,{header:`encrypted_key`,type:`string`,id:`param-encrypted-key`,children:_jsx(_components.p,{children:`A special key for using a BYOT (Bring Your Own Twilio) account. Only required\nfor sending calls from your own Twilio account.`})}),`\n`,_jsx(Heading,{level:`3`,id:`body`,children:`Body`}),`\n`,_jsxs(ParamField,{body:`phone_number`,type:`string`,required:true,id:`param-phone-number`,children:[_jsx(_components.p,{children:`The phone number to call. Country code defaults to +1 (US) if not specified.`}),_jsxs(_components.p,{children:[`For best results, use the `,_jsx(_components.a,{href:`https://www.twilio.com/docs/glossary/what-e164#examples-of-e164-numbers`,children:`E.164`}),` format.`]}),_jsxs(Accordion,{title:`Formatting Examples`,id:`formatting-examples`,children:[_jsx(_components.p,{children:`Expected/Ideal Format`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`“+12223334444”`}),`\n`,_jsx(_components.li,{children:`“+91223334444”`}),`\n`,_jsx(_components.li,{children:`“+61223334444”`}),`\n`]}),_jsx(_components.p,{children:`Valid, but not recommended:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`“2223334444”`}),`\n`,_jsx(_components.li,{children:`“+1 (222) 333-4444”`}),`\n`,_jsx(_components.li,{children:`“+1 222 333 4444”`}),`\n`,_jsx(_components.li,{children:`“222-333-4444”`}),`\n`]}),_jsx(_components.p,{children:`Invalid`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`“12223334444”`}),`\n`,_jsx(_components.li,{children:`“552223334444”`}),`\n`,_jsx(_components.li,{children:`“non-numeric characters”`}),`\n`,_jsx(_components.li,{children:`“2223334444 ext. 123”`}),`\n`]})]})]}),`\n`,_jsxs(ParamField,{body:`task`,type:`string`,required:true,id:`param-task`,children:[_jsx(_components.p,{children:`Provide instructions, relevant information, and examples of the ideal conversation flow.`}),_jsx(_components.p,{children:`This is your prompt where you are telling the agent what to do.`}),_jsx(_components.p,{children:`Recommendations:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Include context and a background/persona for the agent like `,_jsx(_components.code,{children:`\"You are {name}, a customer service agent at {company} calling {name} about {reason}`}),`.`]}),`\n`,_jsx(_components.li,{children:`Phrase instructions like you are speaking to the agent before the call.`}),`\n`,_jsx(_components.li,{children:`Any time you tell the agent not to do something, provide an example of what they should do instead.`}),`\n`,_jsx(_components.li,{children:`Keep the prompt under 2,000 characters where possible.`}),`\n`,_jsxs(_components.li,{children:[`Want to easily test out exactly how your agent will behave? `,_jsx(_components.a,{href:`https://portal.luly.ai/login`,children:`Try out Agent Testing!`})]}),`\n`]})]}),`\n`,_jsxs(ParamField,{body:`pathway_id`,type:`string`,id:`param-pathway-id`,children:[_jsxs(_components.p,{children:[`This is the pathway ID for the pathway you have created on our dev portal. You can access the ID of your pathways by clicking the ‘Copy ID’ button of your pathway `,_jsx(_components.a,{href:`https://portal.luly.ai/login`,children:`here`})]}),_jsx(_components.p,{children:`Note: Certain parameters do not apply when using pathways.`}),_jsx(Accordion,{title:`Unused Parameters`,id:`unused-parameters`,children:_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`task`}),` - The pathway substitutes as the agent’s instructions.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`model`}),` - We use our own fine-tuned models under the hood.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`tools`}),` - Replaced by ‘Webhook’ Node in Pathways`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`transfer_list`}),` - Replaced by ‘Transfer Call’ Node in Pathways`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`transfer_phone_number`}),` - Replaced by ‘Transfer Call’ Node in Pathways`]}),`\n`]})}),_jsx(_components.p,{children:`Example Simple Request body:`}),_jsx(CodeBlock,{numberOfLines:`5`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"phone_number\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"+1975934749\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"pathway_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"a0f0d4ed-f5f5-4f16-b3f9-22166594d7a7\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`]})})})]}),`\n`,_jsxs(ParamField,{body:`start_node_id`,type:`string`,id:`param-start-node-id`,children:[_jsxs(_components.p,{children:[`This is the node ID for the node you want the pathway to start from. You can access the ID of your nodes `,_jsx(_components.a,{href:`https://docs.luly.ai/api-reference/pathways/get`,children:`here`})]}),_jsxs(_components.p,{children:[`Note: This parameter is only used when `,_jsx(_components.code,{children:`pathway_id`}),` is provided.`]}),_jsx(_components.p,{children:`Example Simple Request body:`}),_jsx(CodeBlock,{numberOfLines:`6`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"phone_number\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"+1975934749\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"pathway_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"a0f0d4ed-f5f5-4f16-b3f9-22166594d7a7\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"start_node_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"a0cd5fed-f3f3-5412-1339-13567921d7b8\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`]})})})]}),`\n`,_jsx(Heading,{level:`3`,id:`agent-parameters-body`,children:`Agent Parameters (Body)`}),`\n`,_jsxs(ParamField,{body:`voice`,type:`string`,default:`mason`,id:`param-voice`,children:[_jsx(_components.p,{children:`The voice of the AI agent to use. Accepts any form of voice ID, including custom voice clones and voice presets.`}),_jsx(_components.p,{children:`Default voices can be referenced directly by their name instead of an id.`}),_jsxs(_components.p,{children:[`Usage example: `,_jsx(_components.code,{children:`voice: \"maya\"`})]}),_jsx(_components.p,{children:`Luly Curated voices:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`maya`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`mason`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`ryan`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`adriana`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`tina`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`matt`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`evelyn`})}),`\n`]}),_jsxs(_components.p,{children:[`Use the `,_jsx(_components.a,{href:`https://api.luly.ai/voices`,children:`GET /v1/voices`}),` endpoint to see a full list of your available voices.`]}),_jsxs(Accordion,{title:_jsxs(_Fragment,{children:[`Moving from `,_jsx(_components.code,{children:`voice_id`}),` to `,_jsx(_components.code,{children:`voice`})]}),id:`moving-from-voice-id-to-voice`,children:[_jsxs(_components.p,{children:[`Note: Including `,_jsx(_components.code,{children:`voice_id`}),` or `,_jsx(_components.code,{children:`reduce_latency`}),` in your request is still supported, but not recommended.`]}),_jsxs(_components.p,{children:[`The previous structure to select voices used both `,_jsx(_components.code,{children:`voice_id`}),` and `,_jsx(_components.code,{children:`reduce_latency`}),`. To simplify the process, we’ve combined these into a single `,_jsx(_components.code,{children:`voice`}),` parameter.`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`If the first two letters of `,_jsx(_components.code,{children:`voice`}),` are `,_jsx(_components.code,{children:`RL`}),`, that is equivalent to settings `,_jsx(_components.code,{children:`reduce_latency`}),` to `,_jsx(_components.code,{children:`true`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Prefixing the voice ID with `,_jsx(_components.code,{children:`HQ`}),` will use the high fidelity version of the voice.`]}),`\n`,_jsxs(_components.li,{children:[`The integer following the prefix is the `,_jsx(_components.code,{children:`voice_id`}),` from before.`]}),`\n`]}),_jsx(_components.p,{children:`Example:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`reduce_latency: true, voice_id: 0`}),` is equivalent to `,_jsx(_components.code,{children:`voice: \"RL0\"`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`reduce_latency: false, voice_id: 3`}),` is equivalent to `,_jsx(_components.code,{children:`voice: \"HQ3\"`})]}),`\n`]}),_jsxs(_components.p,{children:[`Including `,_jsx(_components.code,{children:`reduce_latency`}),` may override the `,_jsx(_components.code,{children:`voice`}),` parameter, so exclude it when using `,_jsx(_components.code,{children:`voice`}),`.`]})]}),_jsxs(Accordion,{title:_jsxs(_Fragment,{children:[`Moving from `,_jsx(_components.code,{children:`voice_preset_id`}),` to `,_jsx(_components.code,{children:`voice`})]}),id:`moving-from-voice-preset-id-to-voice`,children:[_jsxs(_components.p,{children:[`All presets have been migrated to the `,_jsx(_components.code,{children:`voice`}),` parameter and can use either the preset name or ID.`]}),_jsxs(_components.p,{children:[`If you used to have a `,_jsx(_components.code,{children:`voice_preset_id`}),` of `,_jsx(_components.code,{children:`\"2f9fdbc7-4bf2-4792-8a18-21ce3c93978f\"`}),`, you can now use voice: `,_jsx(_components.code,{children:`\"2f9fdbc7-4bf2-4792-8a18-21ce3c93978f\"`}),`.`]})]})]}),`\n`,_jsxs(ParamField,{body:`background_track`,type:`string`,id:`param-background-track`,children:[_jsx(_components.p,{children:`Select an audio track that you’d like to play in the background during the call. The audio will play continuously when the agent isn’t speaking, and is incorporated into it’s speech as well.`}),_jsx(_components.p,{children:`Use this to provide a more natural, seamless, engaging experience for the conversation. We’ve found this creates a significantly smoother call experience by minimizing the stark differences between total silence and the agent’s speech.`}),_jsx(_components.p,{children:`Options:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`null`}),` - Default, will play audible but quiet phone static.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`office`}),` - Office-style soundscape. Includes faint typing, chatter, clicks, and other office sounds.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`cafe`}),` - Cafe-like soundscape. Includes faint talking, clinking, and other cafe sounds.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`restaurant`}),` - Similar to `,_jsx(_components.code,{children:`cafe`}),`, but more subtle.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`none`}),` - Minimizes background noise`]}),`\n`]})]}),`\n`,_jsx(ParamField,{body:`first_sentence`,type:`string`,id:`param-first-sentence`,children:_jsx(_components.p,{children:`Makes your agent say a specific phrase or sentence for it’s first response.`})}),`\n`,_jsxs(ParamField,{body:`wait_for_greeting`,type:`boolean`,default:`false`,id:`param-wait-for-greeting`,children:[_jsx(_components.p,{children:`By default, the agent starts talking as soon as the call connects.`}),_jsxs(_components.p,{children:[`When `,_jsx(_components.code,{children:`wait_for_greeting`}),` is set to `,_jsx(_components.code,{children:`true`}),`, the agent will wait for the call recipient to speak first before responding.`]})]}),`\n`,_jsx(ParamField,{body:`block_interruptions`,type:`boolean`,default:`false`,id:`param-block-interruptions`,children:_jsxs(_components.p,{children:[`When set to `,_jsx(_components.code,{children:`true`}),`, the AI will not respond or process interruptions from\nthe user.`]})}),`\n`,_jsxs(ParamField,{body:`interruption_threshold`,type:`number`,default:`100`,id:`param-interruption-threshold`,children:[_jsx(_components.p,{children:`Adjusts how patient the AI is when waiting for the user to finish speaking.`}),_jsx(_components.p,{children:`Lower values mean the AI will respond more quickly, while higher values mean the AI will wait longer before responding.`}),_jsx(_components.p,{children:`Recommended range: 50-200`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`50: Extremely quick, back and forth conversation`}),`\n`,_jsx(_components.li,{children:`100: Balanced to respond at a natural pace`}),`\n`,_jsx(_components.li,{children:`200: Very patient, allows for long pauses and interruptions. Ideal for collecting detailed information.`}),`\n`]}),_jsx(_components.p,{children:`Try to start with 100 and make small adjustments in increments of ~10 as needed for your use case.`})]}),`\n`,_jsxs(ParamField,{body:`temperature`,type:`float`,default:`0.7`,id:`param-temperature`,children:[_jsx(_components.p,{children:`A value between 0 and 1 that controls the randomness of the LLM. 0 will cause more deterministic outputs while 1 will cause more random.`}),_jsxs(_components.p,{children:[`Example Values: `,_jsx(_components.code,{children:`\"0.9\", \"0.3\", \"0.5\"`})]})]}),`\n`,_jsxs(ParamField,{body:`keywords`,type:`string[]`,default:`[]`,id:`param-keywords`,children:[_jsx(_components.p,{children:`These words will be boosted in the transcription engine - recommended for proper nouns or words that are frequently mis-transcribed.`}),_jsx(_components.p,{children:`For example, if the word “Reece” is frequently transcribed as a homonym like “Reese” you could do this:`}),_jsx(CodeBlock,{numberOfLines:`3`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"keywords\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Reece\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`]})})}),_jsx(_components.p,{children:`For stronger keyword boosts, you can place a colon then a boost factor after the word. The default boost factor is 2.`}),_jsx(CodeBlock,{numberOfLines:`4`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"keywords\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Reece:3\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`]})})})]}),`\n`,_jsxs(ParamField,{body:`pronunciation_guide`,type:`array`,id:`param-pronunciation-guide`,children:[_jsxs(_components.p,{children:[`The pronunciation guide is an `,_jsx(_components.code,{children:`array`}),` of `,_jsx(_components.code,{children:`objects`}),` that guides the agent on how to say specific words. This is great for situations with complicated terms or names.`]}),_jsx(CodeBlock,{numberOfLines:`14`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`14`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"word\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"example\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"pronunciation\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ex-am-ple\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"case_sensitive\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"false\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"spaced\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"false\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"word\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"API\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"pronunciation\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"A P I\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"case_sensitive\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"true\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"spaced\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"true\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`]})})}),_jsx(Accordion,{title:`Object Parameters`,id:`object-parameters`,children:_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`word`}),` — the word you want to guide the LLM on how to pronounce`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`pronunciation`}),` — the word you want to guide the LLM on how to pronounce.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`case_sensitive`}),` — whether or not to consider case. Particularly useful with names. EG: ‘Max’ the name versus ‘max’ the word. Defaults to false.`,_jsx(_components.code,{children:` Not required.`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`spaced`}),` — whether or not to consider spaces. When `,_jsx(_components.code,{children:`true`}),` the word ‘high’ would be flagged but NOT ‘hightop’. Defaults to true. `,_jsx(_components.code,{children:`Not required.`})]}),`\n`]})})]}),`\n`,_jsxs(ParamField,{body:`transfer_phone_number`,type:`string`,id:`param-transfer-phone-number`,children:[_jsx(_components.p,{children:`A phone number that the agent can transfer to under specific conditions - such as being asked to speak to a human or supervisor.`}),_jsxs(Accordion,{title:`Prompting Notes`,id:`prompting-notes`,children:[_jsx(_components.p,{children:`For best results:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Specify conditions that the agent should transfer to a human under (examples are great!)`}),`\n`,_jsxs(_components.li,{children:[`In the `,_jsx(_components.code,{children:`task`}),`, refer to the action solely as “transfer” or “transferring”.`]}),`\n`,_jsx(_components.li,{children:`Alternate phrasing such as “swap” or “switch” can mislead the agent, causing the action to be ignored.`}),`\n`]})]})]}),`\n`,_jsxs(ParamField,{body:`transfer_list`,type:`object`,id:`param-transfer-list`,children:[_jsx(_components.p,{children:`Give your agent the ability to transfer calls to a set of phone numbers.`}),_jsxs(_components.p,{children:[`Overrides `,_jsx(_components.code,{children:`transfer_phone_number`}),` if a `,_jsx(_components.code,{children:`transfer_list.default`}),` is specified.`]}),_jsxs(_components.p,{children:[`Will default to `,_jsx(_components.code,{children:`transfer_list.default`}),`, or the chosen phone number.`]}),_jsx(_components.p,{children:`Example usage to route calls to different departments:`}),_jsx(CodeBlock,{numberOfLines:`8`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`8`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"transfer_list\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"default\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"+12223334444\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"sales\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"+12223334444\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"support\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"+12223334444\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"billing\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"+12223334444\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),`\n`,_jsxs(ParamField,{body:`language`,type:`string`,default:`en-US`,id:`param-language`,children:[_jsx(_components.p,{children:`Select a supported language of your choice. Optimizes every part of our API\nfor that language - transcription, speech, and other inner workings.`}),_jsxs(Accordion,{title:`Expand to view language options`,id:`expand-to-view-language-options`,children:[_jsx(_components.p,{children:`The available language options are as follows:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`en`}),` - English`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`en-US`}),` - English (US)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`en-GB`}),` - English (UK)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`zh`}),` - Chinese (Mandarin, Simplified)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`zh-CN`}),` - Chinese (Mandarin, Simplified, China)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`zh`}),` - Hans - Chinese (Mandarin, Simplified, Hans)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`zh`}),` - TW -Chinese (Mandarin, Traditional)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`zh`}),` - Hant - Chinese (Mandarin,Traditional, Hant)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`es`}),` - Spanish`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`fr`}),` - French`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`de`}),` - German`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`hi`}),` - Hindi`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`ja`}),` - Japanese`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`ko`}),` - Korean`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`pt`}),` - Portuguese`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`it`}),` - Italian`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`nl`}),` - Dutch`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`pl`}),` - Polish`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`ru`}),` - Russian`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`sv`}),` - Swedish`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`da`}),` - Danish`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`id`}),` - Indonesian`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`ms`}),` - Malay`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`tr`}),` - Turkish`]}),`\n`]})]})]}),`\n`,_jsxs(ParamField,{body:`timezone`,type:`string`,default:`America/Los_Angeles`,id:`param-timezone`,children:[_jsx(_components.p,{children:`Set the timezone for the call. Handled automatically for calls in the US.`}),_jsx(_components.p,{children:`This helps significantly with use cases that rely on appointment setting, scheduling, or behaving differently based on the time of day.`}),_jsxs(_components.p,{children:[`Timezone options are `,_jsx(_components.a,{href:`https://en.wikipedia.org/wiki/List_of_tz_database_time_zones`,children:`here`}),` in the TZ identifier column.`]})]}),`\n`,_jsxs(ParamField,{body:`request_data`,type:`object`,id:`param-request-data`,children:[_jsx(_components.p,{children:`Any JSON you put in here will be visible to the AI agent during the call - and can also be referenced with Prompt Variables.`}),_jsxs(_components.p,{children:[`For example, let’s say in your app you want to programmatically set the name of the person you’re calling. You could set `,_jsx(_components.code,{children:`request_data`}),` to:`]}),_jsx(CodeBlock,{numberOfLines:`8`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`8`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"phone_number\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"+1...\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"task\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"...\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"first_sentence\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Hello {{name}}! How are you doing today?\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// also works in the prompt, tools, etc.`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"request_data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"John Doe\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`]})})}),_jsx(_components.p,{children:`For further information about how Prompt Variables work, check out the Custom Tools tutorial.`})]}),`\n`,_jsxs(ParamField,{body:`tools`,type:`array`,id:`param-tools`,children:[_jsx(_components.p,{children:`Interact with the real world through API calls.`}),_jsxs(_components.p,{children:[`Detailed tutorial here: `,_jsx(_components.a,{href:`https://docs.luly.ai/tutorials/custom-tools`,children:`Custom Tools`})]})]}),`\n`,_jsxs(ParamField,{body:`dynamic_data`,type:`array`,id:`param-dynamic-data`,children:[_jsx(_components.p,{children:`Make dynamic requests to external APIs and use the data in your AI’s responses.`}),_jsxs(Accordion,{title:`Properties`,id:`properties`,children:[_jsx(_components.p,{children:`Each request object should contain:`}),_jsxs(_components.p,{children:[_jsx(_components.code,{children:`url`}),`: The URL of the external API to fetch data from.`]}),_jsxs(_components.p,{children:[_jsx(_components.code,{children:`response_data`}),`: An array of objects describing how to parse and use the data fetched from the API. Explained in more detail below.`]}),_jsx(_components.p,{children:`The following are optional:`}),_jsxs(_components.p,{children:[_jsx(_components.code,{children:`method`}),`: Allows `,_jsx(_components.code,{children:`GET`}),` or `,_jsx(_components.code,{children:`POST`}),`. Default: `,_jsx(_components.code,{children:`GET`})]}),_jsxs(_components.p,{children:[_jsx(_components.code,{children:`cache`}),`: Whether to fetch the data once at the beginning of the call, or to re-check continuously for data that might change mid-call. Default: `,_jsx(_components.code,{children:`true`})]}),_jsxs(_components.p,{children:[_jsx(_components.code,{children:`headers`}),`: An object of headers to send with the request.`]}),_jsxs(_components.p,{children:[_jsx(_components.code,{children:`body`}),`: The body of the request.`]}),_jsx(_components.p,{children:`The following variables can be injected into the dynamic request body:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`{{from}}`}),` (Ex. `,_jsx(_components.code,{children:`+12223334444`}),`)`]}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`{{to}}`})}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`{{short_from}}`}),` (Ex. `,_jsx(_components.code,{children:`2223334444`}),`)`]}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`{{short_to}}`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`{{call_id}}`})}),`\n`]}),_jsxs(_components.p,{children:[`These string values will be replaced in each `,_jsx(_components.code,{children:`dynamic_data[].body`}),` where they’re used by system values in each request.`]}),_jsx(_components.p,{children:`Try out with this example:`}),_jsx(CodeBlock,{numberOfLines:`20`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`20`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"dynamic_data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://api.coindesk.com/v1/bpi/currentprice.json\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"response_data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"BTC Price USD\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"bpi.USD.rate\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"context\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:'\"Current BTC Price: ${{BTC Price USD}} USD\"'})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"BTC Price EUR\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"bpi.EUR.rate\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"context\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"In Euros: {{BTC Price USD}} EUR\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`]})})}),_jsxs(ParamField,{body:`dynamic_data[i].response_data`,type:`array`,id:`param-dynamic-data-i-response-data`,children:[_jsx(_components.p,{children:`An array of objects describing how to parse and use the data fetched from the API.`}),_jsx(_components.p,{children:`Each object in this array should contain:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`name`}),`: A label for the fetched data.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`Example`}),`: `,_jsx(_components.code,{children:`\"Flight Status\"`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`data`}),`: The JSON path in the API response to extract the data from.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`Example`}),`: `,_jsx(_components.code,{children:`\"user.flights[0].status\"`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`context`}),`: How this data should be incorporated into the AI’s knowledge.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`Example`}),`: `,_jsx(_components.code,{children:`\"John's flight is currently {{Flight Status}}\"`})]}),`\n`]})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`call-parameters-body`,children:`Call Parameters (Body)`}),`\n`,_jsxs(ParamField,{body:`start_time`,type:`string`,id:`param-start-time`,children:[_jsx(_components.p,{children:`The time you want the call to start. If you don’t specify a time (or the time is in the past), the call will send immediately.`}),_jsxs(_components.p,{children:[`Set your time in the format `,_jsx(_components.code,{children:`YYYY-MM-DD HH:MM:SS -HH:MM `}),`(ex. `,_jsx(_components.code,{children:`2021-01-01 12:00:00 -05:00`}),`).`]}),_jsx(_components.p,{children:`The timezone is optional, and defaults to UTC if not specified.`}),_jsxs(_components.p,{children:[`Note: Scheduled calls can be cancelled with the `,_jsx(_components.a,{href:`https://docs.luly.ai/api-v1/post/calls-id-stop`,children:`POST /v1/calls/:cal\\\\l_id/stop`}),` endpoint.`]})]}),`\n`,_jsxs(ParamField,{body:`voicemail_message`,type:`string`,id:`param-voicemail-message`,children:[_jsx(_components.p,{children:`When the AI encounters a voicemail, it will leave this message after the beep and then immediately end the call.`}),_jsxs(_components.p,{children:[`Warning: If `,_jsx(_components.code,{children:`amd`}),` is set to `,_jsx(_components.code,{children:`true`}),` or `,_jsx(_components.code,{children:`voicemail_action`}),` is set to `,_jsx(_components.code,{children:`ignore`}),`, then this will still work for voicemails, but it will not hang up for IVR systems.`]})]}),`\n`,_jsxs(ParamField,{body:`voicemail_action`,type:`enum`,default:`hangup`,id:`param-voicemail-action`,children:[_jsx(_components.p,{children:`This is processed separately from the AI’s decision making, and overrides it.`}),_jsx(_components.p,{children:`Options:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`hangup`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`leave_message`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`ignore`})}),`\n`]}),_jsx(_components.p,{children:`Examples:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Call is answered by a voicemail (specifically with a beep or tone):`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`If `,_jsx(_components.code,{children:`voicemail_message`}),` is set, that message will be left and then the call will end.`]}),`\n`,_jsx(_components.li,{children:`Otherwise, the call immediately ends (regardless of amd)`}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`Call is answered by an IVR system or phone tree:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`If `,_jsx(_components.code,{children:`amd`}),` is set to `,_jsx(_components.code,{children:`true`}),`, the AI will navigate the system and continue as normal.`]}),`\n`,_jsxs(_components.li,{children:[`If `,_jsx(_components.code,{children:`voicemail_action`}),` is set to `,_jsx(_components.code,{children:`ignore`}),`, the AI will ignore the IVR and continue as normal.`]}),`\n`,_jsxs(_components.li,{children:[`Otherwise, if `,_jsx(_components.code,{children:`voicemail_message`}),` is set then it’ll leave that message and end the call.`]}),`\n`,_jsx(_components.li,{children:`Finally, if none of those conditions are met, the call will end immediately.`}),`\n`]}),`\n`]}),`\n`]}),_jsxs(_components.p,{children:[`Note: If `,_jsx(_components.code,{children:`voicemail_message`}),` is set, then the AI will leave the message regardless of the `,_jsx(_components.code,{children:`voicemail_action`}),`.`]})]}),`\n`,_jsxs(ParamField,{body:`retry`,type:`object`,id:`param-retry`,children:[_jsx(_components.p,{children:`If the call goes to voicemail, you can set up the call to retry, after a configurable delay. You can also update the voicemail_action, and voicemail_message in the retry object, for the re-tried call.`}),_jsx(_components.p,{children:`Takes in the following parameters:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`wait`}),` (integer): The delay in seconds before the call is retried.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`voicemail_action`}),` (enum): The action to take when the call goes to voicemail. Options: `,_jsx(_components.code,{children:`hangup`}),`, `,_jsx(_components.code,{children:`leave_message`}),`, `,_jsx(_components.code,{children:`ignore`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`voicemail_message`}),` (string): The message to leave when the call goes to voicemail.`]}),`\n`]}),_jsx(_components.p,{children:`Example:`}),_jsx(CodeBlock,{numberOfLines:`7`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`7`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"retry\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"wait\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`10`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"voicemail_action\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"leave_message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"voicemail_message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Hello, this is a test message.\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`]})})})]}),`\n`,_jsxs(ParamField,{body:`max_duration`,type:`integer`,default:`30`,id:`param-max-duration`,children:[_jsxs(_components.p,{children:[`When the call starts, a timer is set for the `,_jsx(_components.code,{children:`max_duration`}),` minutes. At the end of that timer, if the call is still active it will be automatically ended.`]}),_jsxs(_components.p,{children:[`Example Values: `,_jsx(_components.code,{children:`20, 2`})]})]}),`\n`,_jsx(ParamField,{body:`record`,type:`boolean`,default:`false`,id:`param-record`,children:_jsxs(_components.p,{children:[`To record your phone call, set record to `,_jsx(_components.code,{children:`true`}),`. When your call completes,\nyou can access through the `,_jsx(_components.code,{children:`recording_url`}),` field in the call details or\nyour webhook.`]})}),`\n`,_jsxs(ParamField,{body:`from`,type:`string`,id:`param-from`,children:[_jsx(_components.p,{children:`Specify a phone number to call from that you own or have uploaded from your Twilio account. Country code is required, spaces or parentheses must be excluded.`}),_jsx(_components.p,{children:`By default, calls are initiated from a separate pool of numbers owned by luly.`})]}),`\n`,_jsxs(ParamField,{body:`webhook`,type:`string`,id:`param-webhook`,children:[_jsx(_components.p,{children:`When the call ends, we’ll send the call details in a POST request to the URL you specify here.`}),_jsxs(_components.p,{children:[`The request body will match the response from the `,_jsx(_components.a,{href:`https://docs.luly.ai/api-v1/get/calls-id`,children:`GET /v1/calls/:call_id`}),` endpoint.`]})]}),`\n`,_jsxs(ParamField,{body:`webhook_events`,type:`string[]`,id:`param-webhook-events`,children:[_jsx(_components.p,{children:`Specify which events you want to stream to the webhook, during the call.`}),_jsx(_components.p,{children:`Options:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`queue`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`call`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`latency`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`webhook`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`tool`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`dynamic_data`})}),`\n`]}),_jsx(_components.p,{children:`Example Payload:`}),_jsx(CodeBlock,{numberOfLines:`6`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"LLM: 411ms\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"call_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0fb3c518-e941-48fd-a32c-67d59c541336\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"category\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"latency\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"log_level\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"performance\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`]})})})]}),`\n`,_jsxs(ParamField,{body:`metadata`,type:`object`,id:`param-metadata`,children:[_jsx(_components.p,{children:`Add any additional information you want to associate with the call. This can be useful for tracking or categorizing calls.`}),_jsxs(_components.p,{children:[`Anything that you put here will be returned in your webhook or in the call details under `,_jsx(_components.code,{children:`metadata`}),`.`]}),_jsx(_components.p,{children:`Example:`}),_jsx(CodeBlock,{numberOfLines:`6`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"metadata\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"campaign_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"1234\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"source\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"web\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`]})})})]}),`\n`,_jsxs(ParamField,{body:`summary_prompt`,type:`string`,id:`param-summary-prompt`,children:[_jsxs(_components.p,{children:[`At the end of each call, a `,_jsx(_components.code,{children:`summary`}),` is generated based on the transcript - you can use this field to add extra instructions and context for how it should be summarized.`]}),_jsxs(_components.p,{children:[`For example:`,_jsx(_components.code,{children:` \"Summarize the call in French instead of English.\"`})]})]}),`\n`,_jsx(ParamField,{body:`analysis_prompt`,type:`string`,id:`param-analysis-prompt`,children:_jsxs(_components.p,{children:[`Guides the output and provides additional instructions and clarifications for\nthe `,_jsx(_components.code,{children:`analysis_schema`}),`.`]})}),`\n`,_jsxs(ParamField,{body:`analysis_schema`,type:`object`,id:`param-analysis-schema`,children:[_jsx(_components.p,{children:`When the call ends, the transcript and call details will be analyzed by the AI.`}),_jsx(_components.p,{children:`Define a JSON schema for how you want to get information about the call - information like email addresses, names, appointment times or any other type of custom data.`}),_jsxs(_components.p,{children:[`In the webhook response or whenever you retrieve call data later, you’ll get the data you defined back under `,_jsx(_components.code,{children:`analysis`}),`.`]}),_jsx(_components.p,{children:`For example, if you wanted to retrieve this information from the call:`}),_jsx(CodeBlock,{numberOfLines:`9`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`9`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"analysis_schema\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"email_address\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"email\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"first_name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"string\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"last_name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"string\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"wants_to_book_appointment\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"boolean\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"appointment_time\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"YYYY-MM-DD HH:MM:SS\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(_components.p,{children:`You would get it filled out like this in your webhook once the call completes:`}),_jsx(CodeBlock,{numberOfLines:`10`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`10`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"analysis\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"email_address\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"johndoe@gmail.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"first_name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"John\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"last_name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Doe\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"wants_to_book_appointment\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"appointment_time\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2024-01-01 12:00:00\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`]})})})]}),`\n`,_jsxs(ParamField,{body:`answered_by_enabled`,type:`boolean`,default:`false`,id:`param-answered-by-enabled`,children:[_jsx(_components.p,{children:`If this is set to true, we process the audio from the start of the call to determine if it was answered by a human or a voicemail.`}),_jsxs(_components.p,{children:[`In the call details or webhook response, you’ll see the `,_jsx(_components.code,{children:`answered_by`}),` field with the value `,_jsx(_components.code,{children:`human`}),`, `,_jsx(_components.code,{children:`unknown`}),` or `,_jsx(_components.code,{children:`voicemail`}),`.`]}),_jsx(_components.p,{children:`Notes for accuracy:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`When `,_jsx(_components.code,{children:`answered_by`}),` is `,_jsx(_components.code,{children:`voicemail`}),` or `,_jsx(_components.code,{children:`human`}),`, that is nearly 100% accurate.`]}),`\n`,_jsxs(_components.li,{children:[`When it is `,_jsx(_components.code,{children:`unknown`}),`, try using text analysis by adding `,_jsx(_components.code,{children:`answered_by`}),` to your `,_jsx(_components.code,{children:`analysis_schema`}),`.`]}),`\n`]})]}),`\n`,_jsx(Heading,{level:`3`,id:`response`,children:`Response`}),`\n`,_jsx(ResponseField,{name:`status`,type:`string`,id:`param-status`,children:_jsxs(_components.p,{children:[`Can be `,_jsx(_components.code,{children:`success`}),` or `,_jsx(_components.code,{children:`error`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`call_id`,type:`string`,id:`param-call-id`,children:_jsxs(_components.p,{children:[`A unique identifier for the call (present only if status is `,_jsx(_components.code,{children:`success`}),`).`]})}),`\n`,_jsx(ResponseField,{name:`batch_id`,type:`string`,id:`param-batch-id`,children:_jsxs(_components.p,{children:[`The batch ID of the call (present only if status is `,_jsx(_components.code,{children:`success`}),`).`]})}),`\n`,_jsx(ResponseField,{name:`message`,type:`string`,id:`param-message`,children:_jsx(_components.p,{children:`A message explaining the status of the call.`})}),`\n`,_jsxs(ResponseField,{name:`errors`,type:`array`,id:`param-errors`,children:[_jsx(_components.p,{children:`For validation errors, a detailed list of each field with an error and it’s error message.`}),_jsx(_components.p,{children:`Example:`}),_jsx(CodeBlock,{numberOfLines:`10`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`10`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Invalid parameters\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"errors\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Missing required parameter: phone_number.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Missing required parameter: task.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Phone number must be a string or number.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Task must be a string.\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`]})})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Send Call","description":"Send an AI phone call with a custom objective and actions.","api":"POST v1/calls","href":"/api-reference/calls/sendCall"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[336,340,"Example,ResponseFiel"],[577,592,"Example)_missingMdxReference(`ResponseExample`,true);if(!ResponseField)_missingM"],[72956,72974,",`\n`,_jsx(ResponseExample,{children:_jsx(CodeBlock,{filename:`Response`,numberOfLines:`6`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Call successfully queued.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"call_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"9d404c1b-6a23-4426-953a-a52c392ff8f1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"batch_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})})]})}function MDXCo"]]},"mdxExtracts":{"tableOfContents":[{"title":"Headers","slug":"headers","depth":3,"children":[]},{"title":"Body","slug":"body","depth":3,"children":[]},{"title":"Agent Parameters (Body)","slug":"agent-parameters-body","depth":3,"children":[]},{"title":"Call Parameters (Body)","slug":"call-parameters-body","depth":3,"children":[]},{"title":"Response","slug":"response","depth":3,"children":[]}],"codeExamples":{"response":{"type":"ResponseExample","children":[{"filename":"Response","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"6\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"status\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"success\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"message\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Call successfully queued.\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"call_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"9d404c1b-6a23-4426-953a-a52c392ff8f1\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"batch_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]}},"endpoint":{"title":"Send Call","path":"v1/calls","servers":[{"url":"https://app.luly.ai/api/"}],"method":"post","request":{"security":[],"parameters":{"query":{},"header":{"authorization":{"schema":[{"type":"string","description":"Your API key for authentication.","required":true}]},"encrypted_key":{"schema":[{"type":"string","description":"A special key for using a BYOT (Bring Your Own Twilio) account. Only required for sending calls from your own Twilio account."}]}},"cookie":{},"path":{}},"body":{"application/json":{"schemaArray":[{"type":"object","properties":{"phone_number":[{"type":"string","description":"The phone number to call. Country code defaults to +1 (US) if not specified. For best results, use the E.164 format.","required":true}],"task":[{"type":"string","description":"Provide instructions, relevant information, and examples of the ideal conversation flow. This is your prompt where you are telling the agent what to do. Recommendations: Include context and a background/persona for the agent like `\"You are {name}, a customer service agent at {company} calling {name} about {reason}` . Phrase instructions like you are speaking to the agent before the call. Any time you tell the agent not to do something, provide an example of what they should do instead. Keep the prompt under 2,000 characters where possible. Want to easily test out exactly how your agent will behave? Try out Agent Testing!","required":true}],"pathway_id":[{"type":"string","description":"This is the pathway ID for the pathway you have created on our dev portal. You can access the ID of your pathways by clicking the ‘Copy ID’ button of your pathway here Note: Certain parameters do not apply when using pathways. Example Simple Request body:"}],"start_node_id":[{"type":"string","description":"This is the node ID for the node you want the pathway to start from. You can access the ID of your nodes here Note: This parameter is only used when `pathway_id` is provided. Example Simple Request body:"}],"voice":[{"type":"string","description":"The voice of the AI agent to use. Accepts any form of voice ID, including custom voice clones and voice presets. Default voices can be referenced directly by their name instead of an id. Usage example: `voice: \"maya\"` Luly Curated voices: `maya` `mason` `ryan` `adriana` `tina` `matt` `evelyn` Use the GET /v1/voices endpoint to see a full list of your available voices."}],"background_track":[{"type":"string","description":"Select an audio track that you’d like to play in the background during the call. The audio will play continuously when the agent isn’t speaking, and is incorporated into it’s speech as well. Use this to provide a more natural, seamless, engaging experience for the conversation. We’ve found this creates a significantly smoother call experience by minimizing the stark differences between total silence and the agent’s speech. Options: `null` - Default, will play audible but quiet phone static. `office` - Office-style soundscape. Includes faint typing, chatter, clicks, and other office sounds. `cafe` - Cafe-like soundscape. Includes faint talking, clinking, and other cafe sounds. `restaurant` - Similar to `cafe` , but more subtle. `none` - Minimizes background noise"}],"first_sentence":[{"type":"string","description":"Makes your agent say a specific phrase or sentence for it’s first response."}],"wait_for_greeting":[{"type":"boolean","description":"By default, the agent starts talking as soon as the call connects. When `wait_for_greeting` is set to `true` , the agent will wait for the call recipient to speak first before responding."}],"block_interruptions":[{"type":"boolean","description":"When set to `true` , the AI will not respond or process interruptions from the user."}],"interruption_threshold":[{"type":"number","description":"Adjusts how patient the AI is when waiting for the user to finish speaking. Lower values mean the AI will respond more quickly, while higher values mean the AI will wait longer before responding. Recommended range: 50-200 50: Extremely quick, back and forth conversation 100: Balanced to respond at a natural pace 200: Very patient, allows for long pauses and interruptions. Ideal for collecting detailed information. Try to start with 100 and make small adjustments in increments of ~10 as needed for your use case."}],"temperature":[{"type":"number","description":"A value between 0 and 1 that controls the randomness of the LLM. 0 will cause more deterministic outputs while 1 will cause more random. Example Values: `\"0.9\", \"0.3\", \"0.5\"`"}],"keywords":[{"type":"array","items":[{"type":"string"}],"description":"These words will be boosted in the transcription engine - recommended for proper nouns or words that are frequently mis-transcribed. For example, if the word “Reece” is frequently transcribed as a homonym like “Reese” you could do this: For stronger keyword boosts, you can place a colon then a boost factor after the word. The default boost factor is 2."}],"pronunciation_guide":[{"type":"array","items":[{"type":"object","properties":{}}],"description":"The pronunciation guide is an `array` of `objects` that guides the agent on how to say specific words. This is great for situations with complicated terms or names."}],"transfer_phone_number":[{"type":"string","description":"A phone number that the agent can transfer to under specific conditions - such as being asked to speak to a human or supervisor."}],"transfer_list":[{"type":"object","properties":{},"description":"Give your agent the ability to transfer calls to a set of phone numbers. Overrides `transfer_phone_number` if a `transfer_list.default` is specified. Will default to `transfer_list.default` , or the chosen phone number. Example usage to route calls to different departments:"}],"language":[{"type":"string","description":"Select a supported language of your choice. Optimizes every part of our API for that language - transcription, speech, and other inner workings."}],"timezone":[{"type":"string","description":"Set the timezone for the call. Handled automatically for calls in the US. This helps significantly with use cases that rely on appointment setting, scheduling, or behaving differently based on the time of day. Timezone options are here in the TZ identifier column."}],"request_data":[{"type":"object","properties":{},"description":"Any JSON you put in here will be visible to the AI agent during the call - and can also be referenced with Prompt Variables. For example, let’s say in your app you want to programmatically set the name of the person you’re calling. You could set `request_data` to: For further information about how Prompt Variables work, check out the Custom Tools tutorial."}],"tools":[{"type":"array","items":[{"type":"object","properties":{}}],"description":"Interact with the real world through API calls. Detailed tutorial here: Custom Tools"}],"dynamic_data":[{"type":"array","items":[{"type":"object","properties":{"dynamic_data[i].response_data":[{"type":"array","items":[{"type":"object","properties":{}}],"description":"An array of objects describing how to parse and use the data fetched from the API. Each object in this array should contain: `name` : A label for the fetched data. `Example` : `\"Flight Status\"` `data` : The JSON path in the API response to extract the data from. `Example` : `\"user.flights[0].status\"` `context` : How this data should be incorporated into the AI’s knowledge. `Example` : `\"John's flight is currently {{Flight Status}}\"`"}]}}],"description":"Make dynamic requests to external APIs and use the data in your AI’s responses."}],"start_time":[{"type":"string","description":"The time you want the call to start. If you don’t specify a time (or the time is in the past), the call will send immediately. Set your time in the format `YYYY-MM-DD HH:MM:SS -HH:MM` (ex. `2021-01-01 12:00:00 -05:00` ). The timezone is optional, and defaults to UTC if not specified. Note: Scheduled calls can be cancelled with the POST /v1/calls/:cal\\l_id/stop endpoint."}],"voicemail_message":[{"type":"string","description":"When the AI encounters a voicemail, it will leave this message after the beep and then immediately end the call. Warning: If `amd` is set to `true` or `voicemail_action` is set to `ignore` , then this will still work for voicemails, but it will not hang up for IVR systems."}],"voicemail_action":[{"type":"object","properties":{},"description":"This is processed separately from the AI’s decision making, and overrides it. Options: `hangup` `leave_message` `ignore` Examples: Call is answered by a voicemail (specifically with a beep or tone): If `voicemail_message` is set, that message will be left and then the call will end. Otherwise, the call immediately ends (regardless of amd) Call is answered by an IVR system or phone tree: If `amd` is set to `true` , the AI will navigate the system and continue as normal. If `voicemail_action` is set to `ignore` , the AI will ignore the IVR and continue as normal. Otherwise, if `voicemail_message` is set then it’ll leave that message and end the call. Finally, if none of those conditions are met, the call will end immediately. Note: If `voicemail_message` is set, then the AI will leave the message regardless of the `voicemail_action` ."}],"retry":[{"type":"object","properties":{},"description":"If the call goes to voicemail, you can set up the call to retry, after a configurable delay. You can also update the voicemail_action, and voicemail_message in the retry object, for the re-tried call. Takes in the following parameters: `wait` (integer): The delay in seconds before the call is retried. `voicemail_action` (enum): The action to take when the call goes to voicemail. Options: `hangup` , `leave_message` , `ignore` . `voicemail_message` (string): The message to leave when the call goes to voicemail. Example:"}],"max_duration":[{"type":"integer","description":"When the call starts, a timer is set for the `max_duration` minutes. At the end of that timer, if the call is still active it will be automatically ended. Example Values: `20, 2`"}],"record":[{"type":"boolean","description":"To record your phone call, set record to `true` . When your call completes, you can access through the `recording_url` field in the call details or your webhook."}],"from":[{"type":"string","description":"Specify a phone number to call from that you own or have uploaded from your Twilio account. Country code is required, spaces or parentheses must be excluded. By default, calls are initiated from a separate pool of numbers owned by luly."}],"webhook":[{"type":"string","description":"When the call ends, we’ll send the call details in a POST request to the URL you specify here. The request body will match the response from the GET /v1/calls/:call_id endpoint."}],"webhook_events":[{"type":"array","items":[{"type":"string"}],"description":"Specify which events you want to stream to the webhook, during the call. Options: `queue` `call` `latency` `webhook` `tool` `dynamic_data` Example Payload:"}],"metadata":[{"type":"object","properties":{},"description":"Add any additional information you want to associate with the call. This can be useful for tracking or categorizing calls. Anything that you put here will be returned in your webhook or in the call details under `metadata` . Example:"}],"summary_prompt":[{"type":"string","description":"At the end of each call, a `summary` is generated based on the transcript - you can use this field to add extra instructions and context for how it should be summarized. For example: `\"Summarize the call in French instead of English.\"`"}],"analysis_prompt":[{"type":"string","description":"Guides the output and provides additional instructions and clarifications for the `analysis_schema` ."}],"analysis_schema":[{"type":"object","properties":{},"description":"When the call ends, the transcript and call details will be analyzed by the AI. Define a JSON schema for how you want to get information about the call - information like email addresses, names, appointment times or any other type of custom data. In the webhook response or whenever you retrieve call data later, you’ll get the data you defined back under `analysis` . For example, if you wanted to retrieve this information from the call: You would get it filled out like this in your webhook once the call completes:"}],"answered_by_enabled":[{"type":"boolean","description":"If this is set to true, we process the audio from the start of the call to determine if it was answered by a human or a voicemail. In the call details or webhook response, you’ll see the `answered_by` field with the value `human` , `unknown` or `voicemail` . Notes for accuracy: When `answered_by` is `voicemail` or `human` , that is nearly 100% accurate. When it is `unknown` , try using text analysis by adding `answered_by` to your `analysis_schema` ."}]}}],"examples":{"example":{"value":{"phone_number":"\u003cstring>","task":"\u003cstring>","pathway_id":"\u003cstring>","start_node_id":"\u003cstring>","voice":"\u003cstring>","background_track":"\u003cstring>","first_sentence":"\u003cstring>","wait_for_greeting":true,"block_interruptions":true,"interruption_threshold":123,"temperature":123,"keywords":["\u003cstring>"],"pronunciation_guide":[{}],"transfer_phone_number":"\u003cstring>","transfer_list":{},"language":"\u003cstring>","timezone":"\u003cstring>","request_data":{},"tools":[{}],"dynamic_data":[{"dynamic_data[i].response_data":[{}]}],"start_time":"\u003cstring>","voicemail_message":"\u003cstring>","voicemail_action":{},"retry":{},"max_duration":123,"record":true,"from":"\u003cstring>","webhook":"\u003cstring>","webhook_events":["\u003cstring>"],"metadata":{},"summary_prompt":"\u003cstring>","analysis_prompt":"\u003cstring>","analysis_schema":{},"answered_by_enabled":true}}}}}},"response":{"200":{"application/json":{"schemaArray":[{"type":"object","properties":{"status":[{"type":"string","description":"Can be `success` or `error` ."}],"call_id":[{"type":"string","description":"A unique identifier for the call (present only if status is `success` )."}],"batch_id":[{"type":"string","description":"The batch ID of the call (present only if status is `success` )."}],"message":[{"type":"string","description":"A message explaining the status of the call."}],"errors":[{"type":"array","items":[{"type":"object","properties":{}}],"description":"For validation errors, a detailed list of each field with an error and it’s error message. Example:"}]}}],"examples":{"example":{"value":{"status":"\u003cstring>","call_id":"\u003cstring>","batch_id":"\u003cstring>","message":"\u003cstring>","errors":[{}]}}}}}},"deprecated":false}},"jsLinks":[],"subdomain":"developersden","siteName":"Luly AI","title":"Send Call - Luly AI","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"originalFileLocation":"api-reference/calls/sendCall.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Send an AI phone call with a custom objective and actions.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Luly AI\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/developersden/_generated/favicon/apple-touch-icon.png?v=3\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/developersden/_generated/favicon/favicon-32x32.png?v=3\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/developersden/_generated/favicon/favicon-16x16.png?v=3\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/developersden/_generated/favicon/favicon.ico?v=3\">\u003cmeta data-mint-head property=\"og:title\" content=\"Send Call - Luly AI\">\u003cmeta data-mint-head property=\"og:description\" content=\"Send an AI phone call with a custom objective and actions.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Luly AI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.luly.ai/api-reference/calls/sendCall\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://developersden.mintlify.site/_mintlify/api/og/v2?division=Calls\u0026amp;title=Send+Call\u0026amp;description=Send+an+AI+phone+call+with+a+custom+objective+and+actions.\u0026amp;theme=351ff4efb51b11ce906c9a66\u0026amp;signature=03d533be7624ab41a71607c21e938e69e994d31a9c6cfefd458bc412792fcd78\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Send Call - Luly AI\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Send an AI phone call with a custom objective and actions.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://developersden.mintlify.site/_mintlify/api/og/v2?division=Calls\u0026amp;title=Send+Call\u0026amp;description=Send+an+AI+phone+call+with+a+custom+objective+and+actions.\u0026amp;theme=351ff4efb51b11ce906c9a66\u0026amp;signature=03d533be7624ab41a71607c21e938e69e994d31a9c6cfefd458bc412792fcd78\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"https://mintlify.s3.us-west-1.amazonaws.com/developersden/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Luly AI\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0099ff\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.luly.ai/api-reference/calls/sendCall\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/calls/sendCall.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.luly.ai/#organization\",\"name\":\"Luly AI\",\"url\":\"https://docs.luly.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintlify.s3.us-west-1.amazonaws.com/developersden/logo/light.svg\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.luly.ai#website\",\"name\":\"Luly AI\",\"url\":\"https://docs.luly.ai\",\"publisher\":{\"@id\":\"https://docs.luly.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.luly.ai/api-reference/calls/sendCall#webpage\",\"url\":\"https://docs.luly.ai/api-reference/calls/sendCall\",\"name\":\"Send Call\",\"description\":\"Send an AI phone call with a custom objective and actions.\",\"isPartOf\":{\"@id\":\"https://docs.luly.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.luly.ai/api-reference/calls/sendCall#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.luly.ai/api-reference/calls/sendCall#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Luly AI\",\"item\":\"https://docs.luly.ai\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Send Call\",\"item\":\"https://docs.luly.ai/api-reference/calls/sendCall\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.luly.ai/api-reference/calls/sendCall#apireference\",\"headline\":\"Send Call\",\"name\":\"Send Call\",\"description\":\"Send an AI phone call with a custom objective and actions.\",\"url\":\"https://docs.luly.ai/api-reference/calls/sendCall\",\"mainEntityOfPage\":{\"@id\":\"https://docs.luly.ai/api-reference/calls/sendCall#webpage\"},\"publisher\":{\"@id\":\"https://docs.luly.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.luly.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Luly AI\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Luly AI","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"api-reference","groups":[{"group":"Basic","pages":[{"title":"Send Call (Simple)","api":"POST v1/calls","href":"/api-reference/basic/sendCall"},{"title":"Send Call using Pathways (Simple)","description":"Send an AI phone call with your own conversational pathway agent! \u003cbr/> Links - [Video Tutorial](https://www.twilio.com/docs/glossary/what-e164#examples-of-e164-numbers) | [Step-by-step web tutorial](https://docs.luly.ai/tutorials/pathways)","api":"POST /v1/calls","href":"/api-reference/basic/sendCallPathways"}]},{"group":"Calls","pages":[{"title":"Send Call","api":"POST v1/calls","href":"/api-reference/calls/sendCall"},{"title":"Analyze Call with AI","description":"Analyzes a call of calls based using questions and goals.","api":"POST /v1/calls/{call_id}/analyze","href":"/api-reference/calls/analyzeCall"},{"title":"Stop Active Call","api":"POST v1/calls/{call_id}/stop","href":"/api-reference/calls/stopActiveCall"},{"title":"Stop All Active Calls","api":"POST v1/calls/active/stop","href":"/api-reference/calls/stopAllActiveCalls"},{"title":"List Calls","api":"GET v1/calls","href":"/api-reference/calls/listCalls"},{"title":"Call Details","api":"GET /v1/calls/{call_id}","href":"/api-reference/calls/callDetails"},{"title":"Event Stream","api":"GET v1/event_stream/{call_id}","href":"/api-reference/calls/eventStream"},{"title":"Audio Recording","api":"GET /v1/calls/{call_id}/recording","href":"/api-reference/calls/audioRecording"},{"title":"Get Corrected Transcript","api":"GET /v1/calls/{call_id}/correct","href":"/api-reference/calls/correctedTranscript"}]},{"group":"Vector Stores","pages":[{"title":"Create a Vector Store","api":"POST /vectors","href":"/api-reference/vectorStores/createStore"},{"title":"Update Vector Store","api":"POST vectors/{vector_id}","href":"/api-reference/vectorStores/updateStore"},{"title":"List Vector Stores","api":"GET /vectors","href":"/api-reference/vectorStores/listStore"},{"title":"List Vector Details","api":"GET vectors/{vector_id}","href":"/api-reference/vectorStores/listDetails"},{"title":"Delete Vector Store","api":"POST /vectors/{vector_id}/delete","href":"/api-reference/vectorStores/deleteStore"}]},{"group":"Conversational Pathways","pages":[{"title":"Get All Pathways Information","api":"GET /v1/convo_pathway","href":"/api-reference/pathways/getAll"},{"title":"Get Single Pathway Information","api":"GET /v1/convo_pathway/{pathway_id}","href":"/api-reference/pathways/get"},{"title":"Create Pathway","api":"POST /v1/pathway/create","href":"/api-reference/pathways/create"},{"title":"Update Pathway","api":"POST /v1/convo_pathway/{pathway_id}","href":"/api-reference/pathways/update"},{"title":"Delete Pathway","api":"DELETE /v1/convo_pathway/{pathway_id}","href":"/api-reference/pathways/delete"},{"group":"Pathway Chat","pages":[{"title":"Create Pathway Chat","api":"POST /v1/pathway/chat/create","href":"/api-reference/pathways/chats/create"},{"title":"Pathway Chat","api":"POST /v1/pathway/chat/{id}","href":"/api-reference/pathways/chats/chat"}]},{"group":"Pathway Versions","pages":[{"title":"Get Pathway Versions","api":"GET /v1/pathway/:pathway_id/versions","href":"/api-reference/pathways/versions/get"},{"title":"Get Specific Pathway Version","api":"Get /v1/pathway/{pathway_id}/version/{version_id}","href":"/api-reference/pathways/versions/getSpecific"},{"title":"Create Pathway Version","api":"POST /v1/pathway/{pathway_id}/version","href":"/api-reference/pathways/versions/create"},{"title":"Delete Pathway Version","api":"DELETE /v1/{pathway_id}/versions/{version_id}","href":"/api-reference/pathways/versions/delete"}]},{"group":"Pathway Folders","pages":[{"title":"Get All Folders","api":"GET /v1/pathway/folders","href":"/api-reference/pathways/folders/get"},{"title":"Get Pathways in Folder","api":"GET /v1/pathway/folders/{folder_id}/pathways","href":"/api-reference/pathways/folders/getPathways"},{"title":"Create Folder","api":"POST /v1/pathway/folders","href":"/api-reference/pathways/folders/create"},{"title":"Delete Folder","api":"DELETE /v1/pathway/folders/{folder_id}","href":"/api-reference/pathways/folders/delete"},{"title":"Update Folder","api":"PATCH /v1/pathway/folders/{folder_id}","href":"/api-reference/pathways/folders/update"},{"title":"Move Pathway","api":"POST /v1/pathway/folders/move","href":"/api-reference/pathways/folders/move"}]}]},{"group":"Inbound Numbers","pages":[{"title":"Purchase Inbound number","api":"POST /v1/inbound/purchase","href":"/api-reference/inbound/purchase"},{"title":"Update Inbound Details","api":"POST /v1/inbound/{phone_number}","href":"/api-reference/inbound/update"},{"title":"List Inbound Numbers","api":"GET /v1/inbound","href":"/api-reference/inbound/list"},{"title":"Inbound Number Details","api":"GET /v1/inbound/{phone_number}","href":"/api-reference/inbound/details"}]},{"group":"Outbound Numbers","pages":[{"title":"Purchase Outbound number","api":"POST /v1/outbound/purchase","href":"/api-reference/outbound/purchase"},{"title":"List Outbound Numbers","api":"GET /v1/outbound","href":"/api-reference/outbound/list"}]},{"group":"Voices","pages":[{"title":"List Voices","api":"GET /v1/voices","href":"/api-reference/voice/list"},{"title":"Voice Details","api":"GET /v1/voices/{id}","href":"/api-reference/voice/details"},{"title":"Publish Cloned Voice","api":"POST /v1/voices/{id}/publish","href":"/api-reference/voice/publishCloned"},{"title":"Generate Audio Sample","api":"POST /v1/voices/{id}/sample","href":"/api-reference/voice/audioSample"}]},{"group":"Custom Tools","pages":[{"title":"Create a Custom Tool","api":"POST /v1/tools","href":"/api-reference/customTool/create"},{"title":"Update Custom Tool","api":"POST /v1/tools/{tool_id}","href":"/api-reference/customTool/update"},{"title":"Delete Custom Tool","api":"DELETE /v1/tools/{tool_id}","href":"/api-reference/customTool/delete"},{"title":"List Custom Tools","api":"GET /v1/tools","href":"/api-reference/customTool/list"},{"title":"Custom Tool Details","api":"GET /v1/tools/{tool_id}","href":"/api-reference/customTool/details"}]},{"group":"Web Agents","pages":[{"title":"Create a Web Agent","api":"POST /v1/agents","href":"/api-reference/webAgent/create"},{"title":"Update Web Agent Settings","api":"POST /v1/agents/{agent_id}","href":"/api-reference/webAgent/update"},{"title":"Authorize a Web Agent Call","api":"POST /v1/agents/{agent_id}/authorize","href":"/api-reference/webAgent/authorize"},{"title":"Delete Web Agent","api":"POST /v1/agents/{agent_id}/delete","href":"/api-reference/webAgent/delete"},{"title":"List Web Agents","api":"GET /v1/agents","href":"/api-reference/webAgent/list"}]},{"group":"Custom Twilio Accounts","pages":[{"title":"Create Encrypted Key","api":"POST /v1/accounts","href":"/api-reference/twilioAccounts/create"},{"title":"Delete Encrypted Key","api":"POST /v1/accounts/delete","href":"/api-reference/twilioAccounts/deleteKey"},{"title":"Upload Inbound Phone Numbers","api":"POST /v1/accounts/delete","href":"/api-reference/twilioAccounts/upload"},{"title":"Delete Inbound Phone Number","api":"POST /v1/inbound/{phone_number}/delete","href":"/api-reference/twilioAccounts/deleteNumber"}]},{"group":"Campaigns","pages":[{"title":"Create a Campaign","api":"POST /v1/campaigns","href":"/api-reference/campaigns/create"},{"title":"Stop Campaign","api":"POST /v1/campaigns/{campaign_id}/stop","href":"/api-reference/campaigns/stop"},{"title":"List Campaigns","api":"GET /v1/campaigns","href":"/api-reference/campaigns/list"},{"title":"Campaign Details","api":"POST /v1/campaigns/{id}","href":"/api-reference/campaigns/details"}]},{"group":"Prompts","pages":[{"title":"List Prompts","api":"GET /v1/prompts","href":"/api-reference/prompts/list"},{"title":"Prompt Details","api":"GET /v1/prompts/{prompt_id}","href":"/api-reference/prompts/details"},{"title":"Create Prompt","api":"POST /v1/prompts","href":"/api-reference/prompts/create"}]},{"group":"Batches","pages":[{"title":"Send a Batch of Calls","api":"POST /v1/batches","href":"/api-reference/batches/send"},{"title":"Analyze Batch with AI","api":"POST /v1/batches/{batch_id}/analyze","href":"/api-reference/batches/analyzeBatch"},{"title":"Stop Active Batch","api":"POST /v1/batches/{batch_id}/stop","href":"/api-reference/batches/stop"},{"title":"List Batches","api":"GET /v1/batches","href":"/api-reference/batches/list"},{"title":"Batch Details","api":"GET /v1/batches/{batch_id}","href":"/api-reference/batches/detail"},{"title":"Retrieve Batch Analysis","api":"GET /v1/batches/{batch_id}/analysis","href":"/api-reference/batches/retrieve"}]},{"group":"SMS","pages":[{"title":"A2P Registration","api":"POST /v1/sms/register","href":"/api-reference/sms/registration"},{"title":"Check SMS A2P status","api":"POST /v1/sms/register/status","href":"/api-reference/sms/status"},{"title":"Update SMS Number","api":"POST /v1/sms/update","href":"/api-reference/sms/update"},{"title":"Clear SMS Conversation","api":"POST /v1/sms/clear","href":"/api-reference/sms/clear"},{"title":"SMS Conversation Analysis","api":"POST /v1/sms/analyze","href":"/api-reference/sms/conversationAnalysis"},{"title":"Get SMS Messages","api":"POST /v1/sms/messages/get","href":"/api-reference/sms/messages"},{"title":"Toggle SMS Reply Method","api":"POST /v1/sms/toggle","href":"/api-reference/sms/replyMethod"},{"title":"Update SMS Webhook","api":"POST /v1/sms/webhook/update","href":"/api-reference/sms/webhook"}]}]}]},"basePath":"","title":"Send Call - Luly AI","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":["c2aa737661","2b790eda92","b0f84f53ff"],"chunks":["OpenApiReferenceProvider-i2a3QZ8E.js","utils-ChLwp8m0.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DRktVTDc.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CA2pEs4T.js","snippetPresets-ClQ6XrKD.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Ct_Lv36y.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-Cn2PYw9e.js","shallow-rkyymjXQ.js","getApiPlaygroundDisplay-BB9vkXtE.js","CodeSnippet-Bm5RU7m1.js","CodeSnippets-BgU9Deuz.js","Page-BUDYNlhG.js","getPastedJson-BD-6NNum.js","icon-8Z6tud2e.js","MethodPill-Tuzr4g3V.js","DuplicateIcon-0ceWFYhN.js","createIcon-FBXow_ST.js","DynamicMarkdown-CD8713Yy.js","SectionHeading-7zgzQbH-.js","axios-vUo_bRtp.js"]}