https://retellai.com/?utm_source=discord&utm_medium=seo logo
i have an already created flow but when i try to e...
# ❓・ai-evy-support
a
@AI Evy i have an already created flow but when i try to edit custom functions it gives me tool id does not exist error. I cant even add new functions https://cdn.discordapp.com/attachments/1302816169367044149/1450812127404097556/image.png?ex=6943e595&is=69429415&hm=0efb3a658d5132f426958e4d53a6c1d5a5bdb299e658af4ec5523f4e4a791919&
a
Thanks for tagging me @Adeen Amir. I'll look through relevant sources and get back to you shortly.
​ To learn more, see the sources I considered: [[1] 400 error when adding a function to a conversation flow](https://discord.com/channels/1186424376300679209/1411008678487916646) [[2] Custom Function](https://docs.retellai.com/build/conversation-flow/custom-function) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
### Answer A "tool id does not exist" error when editing custom functions in a conversation flow typically indicates a schema mismatch or missing required fields in your function configuration. [(1) ]() Here are some things to check: 1. Ensure your JSON includes all required fields — A 400 error usually means the function node payload doesn't match the expected schema. 2. Validate your JSON syntax — Make sure there are no trailing commas and that the
name
,
tool_id
, and
url
are properly formatted. 3. Check the parameter schema — One common mistake is not adding
"type": "object"
to the top level of the JSON schema. [(2) ]() Example of a valid parameter schema structure:
Copy code
json
{
  "type": "object",
  "required": [
    "order_id"
  ],
  "properties": {
    "name": {
      "type": "object",
      "description": "",
      "properties": {
        "first_name": {
          "type": "string",
          "description": "User first name"
        }
      }
    }
  }
}
If you're using the Retell SDK, your IDE should point out schema mismatches. [(1) ]() If the issue persists, could you share your function JSON (without secrets) so we can help pinpoint the specific error?
a
@AI Evy i am using the web app for retell
a
Thanks for the follow-up, @Adeen Amir. I'll get back to you soon.
### Answer Since you're using the web app and encountering a "tool id does not exist" error when editing custom functions, here are the most likely causes based on the documentation: Common issues when saving custom functions: 1. Invalid parameter JSON schema — If you fail to save the custom function, it's likely because the parameters are not valid. One common mistake is not adding
"type": "object"
to the top level of the JSON schema. [(1) ]() 2. Try using an example as a starting point — The documentation recommends clicking one of the examples in the UI and updating accordingly. For the parameter schema, ensure it follows this structure:
Copy code
json
{
  "type": "object",
  "required": [
    "order_id"
  ],
  "properties": {
    "name": {
      "type": "object",
      "description": "",
      "properties": {
        "first_name": {
          "type": "string",
          "description": "User first name"
        }
      }
    },
    "order_id": {
      "type": "number",
      "const": 1234
    }
  }
}
A similar issue was reported by another user who couldn't create custom functions — they mentioned it appeared to be a bug in the system that was eventually resolved. [(2) ]() If the error persists after verifying your JSON schema, this may be a platform issue. You can reach out via [Contact Sales]() or check the [Retell AI GitHub]() for additional support.
​ To learn more, see the sources I considered: [[1] Custom Function](https://docs.retellai.com/build/conversation-flow/custom-function) [[2] I can't create a custom functions](https://discord.com/channels/1186424376300679209/1432519417132220416) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
a
@User Please help with this error
@AI Evy { "type": "object", "required": [ "to", "body", "from_number", "account_sid", "auth_token" ], "properties": { "account_sid": { "type": "string", "description": "Twilio Account SID to use for sending the SMS: {{account_sid}}" }, "to": { "type": "string", "description": "Destination phone number in E.164 format is {{rec_number}} = +17736696790" }, "body": { "type": "string", "description": "One-line summary: Caller's name and {{phone_number}}, desired treatment and {{service_name}}, and the caller's short description {{message_save}}. Include date and time of the appointment if rescheduled or cancelled." }, "auth_token": { "type": "string", "description": "Twilio Auth Token to use for sending the SMS: {{auth_token}}" }, "from_number": { "type": "string", "description": "The Twilio phone number sending the SMS: {{tw_number}}" } } } is my schema correct
a
Thanks for the follow-up, @Adeen Amir. I'll get back to you soon.
### Answer Your JSON schema structure looks correct — it has
"type": "object"
at the top level, includes
required
and
properties
, which matches the expected format. [(1) ]() However, there are a couple of things to note: 1. Sensitive credentials in descriptions — You're embedding dynamic variables like
{{account_sid}}
and
{{auth_token}}
in the description fields. If you want these to be passed as constant values (not resolved by the LLM) , you should use
"const"
instead of
"description"
. , [(2) ]() Example using const:
Copy code
json
   "account_sid": {
     "type": "string",
     "const": "{{account_sid}}"
   }
The
description
field is resolved by the LLM, while
const
values are applied directly to the function. [(1) ]() , [(2) ]() 2. The "tool id does not exist" error — This error is separate from schema validation. It suggests the function's
tool_id
reference may be broken or the function wasn't saved properly initially. Try: - Deleting the problematic function and creating a new one from scratch - Starting from one of the built-in examples in the UI and modifying it [(1) ]() If the error persists after recreating the function, this may be a platform issue requiring support assistance.
​ To learn more, see the sources I considered: [[1] Custom Function](https://docs.retellai.com/build/conversation-flow/custom-function) [[2] Integrate any system with custom function](https://docs.retellai.com/build/single-multi-prompt/custom-function) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
Thanks for the follow-up, @Adeen Amir. I'll get back to you soon.
a
@AI Evy i am unable to delete the function. When i delete the function node form the flow the same error appears and the node returns automatically no matter how many times i delete it
a
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
​ To learn more, see the sources I considered: [[1] Function Node Overview](https://docs.retellai.com/build/conversation-flow/function-node) [[2] UI Bug: "Save" button missing in "Customize View" modal (Cannot export custom reports)](https://discord.com/channels/1186424376300679209/1446229909986087216) ​
### Answer ### Answer The behavior you're describing — where deleting a function node causes an error and the node reappears — sounds like a platform-level bug rather than a configuration issue on your end. Based on the documentation, functions in Conversation Flow are designed to be added separately from nodes so that "if you delete the node, you don't need to re-create the function again." [(1) ]() However, when there's a corrupted or broken
tool_id
reference, this can cause unexpected behavior where the system fails to properly remove the node. Recommended next steps: 1. Try deleting the function itself first (not just the node) — Go to your functions list and attempt to remove the function there before deleting the node from the flow. 2. Check if the function is part of a shared component — A similar issue was reported where a user couldn't modify values in a shared component, and it required support intervention to resolve. [(2) ]() 3. Contact support directly — Since you've already verified your schema is correct and the issue persists, this appears to be a bug that requires platform-level assistance. You can reach out via: - [Contact Sales]() - [Retell AI GitHub]() Would you like me to try providing a general workaround, or do you have additional details about the error message?
Thanks for the follow-up, @Adeen Amir. I'll get back to you soon.
a
@AI Evy I have tried 1. It is also not a part of any shared components
a
​ To learn more, see the sources I considered: [[1] Custom Function](https://docs.retellai.com/build/conversation-flow/custom-function) ​
### Answer Since you've confirmed the function isn't part of a shared component and you're unable to delete it from the functions list either, this strongly indicates a corrupted state in your conversation flow that requires platform-level intervention. The available documentation doesn't provide a self-service method for resolving broken
tool_id
references or corrupted function nodes. [(1) ]() Your best options at this point: 1. Create a new conversation flow — If feasible, you could recreate your flow from scratch in a new agent, copying over the working nodes and functions. 2. Contact Retell support directly — This type of persistent error where nodes reappear after deletion and functions cannot be removed typically requires backend assistance. You can reach out via: - [Contact Sales]() - [Retell AI GitHub]() I don't have information in the sources about additional troubleshooting steps for this specific scenario. Would you like a general answer based on my knowledge, or do you have any other details about the error that might help?
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.