Hey all, has anyone created a custom tool yet for ...
# ai-netsuite
r
Hey all, has anyone created a custom tool yet for invoice, class, or sales order creation?
e
Ive been scared to actually write data to NS tbh. But I've created ~20 custom tools that do other things. There are a few "building block" tools that I think everyone should have/build: 1. getCustomerIdByCompanyName 2. getTransactionIdByDocumentNumber The tools that NetSuite has natively often require NS Internal ID's in order to work. But I feel the power of using AI is to make this more approachable to everyone. By adding the tools above, you can by pass some of the failure/retries that the native tools tend to run into when you don't provide exactly what they're expecting
🙌🏻 1
r
Hey @ericbirdsall good to know! I worked on setting up the VSCode app and the custom tools last night and was able to deploy to my NetSuite account but the tools didn’t make it into Claude. Once I figure that out, I can test these tools.
e
r
Hey @ericbirdsall been using this article. Thanks @Abdul Qadeer. I think i’m stuck at the end. I’m able to deploy but can’t get the custom tools to come into claude
e
After you deploy, you will need to disconnect and reconnect
a
check the permissions.
r
I have done that a few times
e
And make sure that the permissions in your XML file match the Role that you're using to connect to Claude
r
Am I supposed to be able to see the .xml file somewhere, or custom tools in the scripts list, or a custom record?
a
no permission are required in the XML file by the way.
e
No- it doesn't show up in NetSuites UI at all
You Deployed the SDF project to your account?
r
Ok so the js and json scripts show up but the xml file doesn’t?
thisred 1
yes I deployed to my account
a
that won't appear in the NS
r
ok cool
So i’m fully deployed but it’s not showing in claude
e
I bet it's your JSON file
r
ok ill review it again
a
you might have the permissions issues, try to give the CFO role to user integrating suer, and add the MCP and auth 2.0 permission to cfo role
e
image.png
a
I bet it's your JSON file - it could be if you have provided something which is not accepted by the tool
r
It has mcp, and auth 2, checking integration user
e
This type key can ONLY be set to "string", "number", or "boolean" It breaks if you use "object" or "array"
r
Is it under setup “integration application”?
âť“ 1
Screenshot 2025-08-20 at 9.45.39 AM.png
Just added Integration application permission
a
MCP server is also added?
r
Yeah “MCP Server Connection”
a
btw, are you able too see the redefined tools?
provided by NS SuiteApp
r
I can see all the built in tools
no issues there
e
@Ryan Longenecker can you share your json file?
r
yes
Not sure the best way ha
I’ll try to add it here
e
Cmd+U uploads a file
a
can you share the xml and json file?
r
customer_management_schema.json
customtool_invoice_creation.xml
e
This breaks things:
Copy code
"items": {
                        "type": "array"
👍 1
type can only be string, number, or boolean
r
Ok I’ll remove that
The goal is to create an invoice creation custom tool
a
try to send your paylaod as stringify JSON and parse that in Suitescript tool
e
So you will need to change all your "array"s to "strings". But you can update the description of the property to say "This should be a valid JSON Array with Objects that follow this format...."
r
Ok ill try those!
a
even multi-level nodes in JSON are not supported, I send all stuff in apylaod and created the trnansactions
r
Hey @Abdul Qadeer @ericbirdsall should the custom tools show up here?
a
no, it won't
r
ok cool, maybe someday ha
👍 1
a
only you will be able to see your files in the filecabinet, json and js only, not xml
e
its very half baked right now lol. bad documentation, no way to view them in the UI... typos all over the place
r
ha ok cool
So .js and .json we can see and update if needed in file cabinet and .xml can’t see anywhere and would work in claude if it all works right
e
Yep
r
ok cool.
a
yes, that is correct. if you want to undeploy the tool, use F in xml file.
i am not sure, if we can anyhow remove the xml file from NS
r
Another issue I think I might have is when I deploy a change only one of the scripts updates and the other doesn’t in the file cabinet. Thoughts?
I have to keep renaming the files to deploy new ones
e
hmmm.. I just use the SuiteCloud extension in VSCode to upload the files
r
Same
a
yeah that what happened with that, that made that confusion.
r
It will deploy both files then when I make changes and deploy again the date in file cabinet only shows 1 file updated. odd
a
if you are not making any changes in file suitecloud cli does not upload that file.
r
I was….
Going to start over with brand new js and json files so I’ll see how that goes
👍 1
@Abdul Qadeer @ericbirdsall just updated my scripts, updated my js json and xlm files, Still isn’t showing in claude. Either of you open to looking at those files again? Maybe I’m missing something else
Or deploying wrong somehow ha
Also do I need to be creating a suiteapp? Is that what i’m missing. Just saw it in @Lucas github
a
quick huddle?
r
Hey @Abdul Qadeer It worked!
🙌 1
Screenshot 2025-08-20 at 11.36.28 AM.png
Thank you!
e
@Ryan Longenecker Can you share what your "AHA" moment was so others reading this in the future can benefit from it? Was your json bad? or something missing in your xml?
r
I updated my json file with your recommendations. @Abdul Qadeer recommended to rename my script in the xml files because I had deployed so many times it may have not updated with new changes and this allow it to deploy correctly!
🎉 1
Need to be a package or UI for the custom tools someday imo
Appreciate your help @Abdul Qadeer @ericbirdsall! Excited to test the invoice creation our and move on to new tools
🙏 1
@Abdul Qadeer @ericbirdsall if I want to add another custom tool do you recommend a whole new deployment or adding to my existing one?
a
you can keep similar operation in same deployment file.
r
ok cool
I’ll probably add in create class and create sales order next
This is huge!
a
such as invoicemanagemnt - everything related to invoice can stay there.
r
ok cool
e
You can add to the existing one- a few things I've noticed. 1. Once I got the XML right- I never touched that file again (no need to keep redeploying your whole project) 2. If you make any changes to the JSON file - you must disconnect and reconnect the MCP server in Claude (Settings->Connector->Disconnect then Reconnect, you will need to re-auth here) 3. If you make changes to just the JS file you can just upload from VSCode and start a new Chat in Claude to use the updated functionality
r
ok thats great.
Just created the invoice 🙌
🎉 2
👍 1
l
Very Good discussions...
👍 1