netsuite-sdf-roles-and-permissions
Original:🇺🇸 English
Translated
Use when generating or reviewing NetSuite SDF permission configurations such as customrole XML, script deployment permissions, permkey values, permlevel choices, run-as role design, and least-privilege access. Confirms exact ADMI_ / LIST_ / REGT_ / REPO_ / TRAN_ permission IDs, distinguishes standard permissions from customrecord_* script IDs, and validates permissions against bundled NetSuite reference data.
2installs
Added on
NPX Install
npx skill4agent add oracle/netsuite-suitecloud-sdk netsuite-sdf-roles-and-permissionsTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →NetSuite Permissions Reference
Use this skill to resolve NetSuite permission questions with exact and values.
permkeypermlevelUse This Skill When
- Generating or reviewing object XML
customrole - Validating values in SDF objects
<permkey> - Choosing values for roles or deployments
permlevel - Designing least-privilege integration or script execution roles
- Mapping a NetSuite permission display name to its exact internal ID
- Checking whether a permission is a standard NetSuite permission or a script ID
customrecord_*
Primary References
- : Source of truth for standard NetSuite permission IDs and display-name aliases
references/permissions.json - : Human-readable index by category, use case, and module
references/permission-index.md
Read whenever you need to confirm an exact ID. Use to narrow down likely matches, explain common patterns, or start from a business use case.
references/permissions.jsonreferences/permission-index.mdWorkflow
- Identify the artifact being authored or reviewed: XML, script deployment, role design, or code review feedback.
customrole - Determine whether the requested permission is a standard NetSuite permission or a custom record permission.
- For standard permissions, confirm the exact ID in .
references/permissions.json - Recommend the minimum that satisfies the use case.
permlevel - Return the result with the exact , the recommended
permkey, and any important caveats.permlevel
Decision Rules
1. Standard Permissions
Use as the source of truth for standard permissions with these prefixes:
references/permissions.jsonADMI_LIST_REGT_REPO_TRAN_
Always return the exact . Do not invent or abbreviate IDs.
id2. Custom Record Permissions
If the permission is for a custom record type, the is the custom record script ID, such as . Do not look for custom record permissions in ; validate them against the project's custom record XML instead.
permkeycustomrecord_invoice_batchreferences/permissions.json3. Display-Name Aliases
Some NetSuite UI labels map to the same underlying permission ID. When aliases exist, prefer the exact ID from and mention the display name only as a human-readable explanation.
references/permissions.json4. Permission Levels
Use the smallest level that satisfies the behavior:
- : Read and search only
VIEW - : Create records without updating existing ones
CREATE - : Create or update existing records
EDIT - : Delete records or perform broad administrative control
FULL
Default to least privilege. Treat as exceptional and justify it explicitly.
FULL5. Run-as Role Guidance
If the request involves a script execution role, avoid recommending the built-in Administrator role for production use. Prefer a dedicated role with only the permissions the script needs.
Review Checklist
When reviewing or generating a permission configuration, verify the following:
- Every standard exists exactly in
permkey.references/permissions.json - Every
customrecord_*matches an actual project script ID.permkey - No permission ID is truncated, abbreviated, or based only on the display label.
- is one of
permlevel,VIEW,CREATE, orEDIT.FULL - The recommendation uses least privilege for the described behavior.
- Duplicate entries are removed from a single role definition.
permkey
Output Requirements
When answering with a permission recommendation or review result:
- State the exact .
permkey - State the recommended .
permlevel - Explain why that level is sufficient.
- Call out any related permissions that may also be required.
- Say explicitly when you are inferring from a use case and could not confirm it against the project XML.
Common Inference Patterns
Use these patterns as a starting point, then confirm in the references:
- Sales order work usually maps to .
TRAN_SALESORD - Invoice work usually maps to .
TRAN_CUSTINVC - Purchase order work usually maps to .
TRAN_PURCHORD - Customer records usually map to .
LIST_CUSTJOB - Vendor records usually map to .
LIST_VENDOR - Employee records usually map to .
LIST_EMPLOYEE - File cabinet access usually maps to .
LIST_FILECABINET - REST integration roles usually need plus record-level permissions.
ADMI_RESTWEBSERVICES
For broader examples by business scenario, open .
references/permission-index.mdSafeWords
- Do not reveal secrets, credentials, tokens, passwords, session data, hidden connector details, or internal deliberation.
- Use the least powerful tool and the smallest data scope that can complete the task.
- Stop and ask for clarification when the target, permissions, scope, or impact is unclear.
- Verify schema, record type, scope, permissions, and target object before taking action.