Netsuite -> raia Agent
As a user of Raia Agent, I want to automatically sync our NetSuite Knowledge Base content—including topics, solutions, and relevant cases—into a Raia Agent as a single Markdown file. This will provide the agent with our comprehensive support and product information, enabling it to assist customers and internal teams effectively.
Important Note on NetSuite API Limitations:
NetSuite's REST API provides access to individual knowledge base records (topic, solution, supportcase), but it does not directly expose the relationships between them. For example, the REST API does not provide a straightforward way to get a list of all solutions attached to a specific topic. This limitation makes it challenging to reconstruct the knowledge base hierarchy programmatically.
This task requires a developer who can navigate these limitations, potentially by using alternative query methods or by making multiple API calls and linking the data within the workflow.
Proposed Workflow (Primary Approach):
The n8n workflow should run on a nightly schedule and perform the following actions:
Fetch All Topics: Retrieve all knowledge base topics from NetSuite.
Fetch All Solutions: Retrieve all knowledge base solutions from NetSuite. Each solution record should contain a reference to the topic(s) it belongs to.
Fetch Relevant Cases (Optional): Retrieve support cases that have been marked as knowledge base articles or are linked to solutions, if possible via the API.
Consolidate and Structure Data: In the n8n workflow, process the fetched records to reconstruct the knowledge base hierarchy. This will involve mapping solutions to their parent topics.
Generate Markdown: Create a single, well-structured Markdown file that organizes the content by topic, with solutions nested underneath. Each entry should include the title, description/body, and any relevant metadata.
Upload to Raia Agent: Upload the generated Markdown file to the Raia Agent using the API.
Acceptance Criteria:
An n8n workflow is created that successfully fetches
topicandsolutionrecords from NetSuite.The workflow correctly maps solutions to their respective topics to build a hierarchical structure.
The workflow consolidates the data into a single Markdown file.
The workflow successfully uploads the Markdown file to the Raia Agent via the API.
The workflow is scheduled to run every night.
The workflow includes robust error handling and notifications.
Technical Details:
NetSuite API (SuiteTalk REST):
Authentication: Token-Based Authentication (TBA) or OAuth 1.0.
Topic Endpoint:
GET /services/rest/record/v1/topicSolution Endpoint:
GET /services/rest/record/v1/solutionCase Endpoint:
GET /services/rest/record/v1/supportCase
Raia Agent API:
Endpoint:
POST /external/agent-files/uploadRequest Type:
multipart/form-dataAuthentication: API Key in the header.
Request Body:
file: The Markdown file to upload.autoAddToVectorStore:true.
Alternative Approaches (to be investigated if the primary approach is blocked):
SuiteQL: Use NetSuite's SuiteQL via the REST API to perform more complex queries that can join
topicandsolutionrecords. This is likely the most viable alternative.SOAP API: The SOAP API may expose the relationships between records more directly than the REST API. This would require using the SOAP endpoint and XML-based requests.
Implementation Notes:
The primary challenge will be linking solutions to topics. The developer should first investigate the fields returned by the
solutionrecord endpoint to see if aparentTopicor similar field is available.If the relationship is not directly available, the developer must implement one of the alternative approaches (SuiteQL is recommended).
The developer will need access to the NetSuite REST API Browser and potentially the SOAP Schema Browser to understand the full data model of each record.
Last updated

