About connector-dev
A skill for developers building server-side connectors in Domo Custom Connector IDE. It outlines patterns for authentication, data processing, pagination, and error handling.
Key features
- 01Validate credentials and test authentication
- 02Handle HTTP status codes and errors
- 03Parse JSON arrays and paginate results
- 04Process data with Domo libraries
- 05Follow a connector development checklist
Use cases
- 01Write authentication for an external API connector
- 02Process API responses with pagination
- 03Review connector columns and error handling
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ stahura/ domo-ai-vibe-rules --skill connector-devAfter installing, type/connector-devin Claude Code to confirm it loaded.
Bundled filesreferences/examples.md
Details
From the project READMEScope
This skill is for Domo Custom Connector IDE projects — not Domo App Platform custom app/card builds. Custom connectors run server-side after being published via the Connector Dev Studio.
File Structure
authentication.js— Validates credentials and authenticates with the external APIdataProcessing.js— Fetches and processes data from the external APIREADME.md— Documents available reports and parameters
Key Patterns
Authentication
- Sanitize credential inputs (regex validate API keys/tokens) before use
- Set required headers, then make a lightweight test request to verify credentials
- Call
auth.authenticationSuccess()orauth.authenticationFailed('reason')— never leave authentication ambiguous
Data Processing
- Check
httprequest.getStatusCode()before parsing the response body - Use
datagrid.magicParseJSON(jsonArray)for JSON array responses — avoids manual column mapping - Handle pagination in a
do...whileloop; use the next-page link or cursor from the response as the loop condition - Use
metadata.reportto branch between report types; usemetadata.account.*for credentials
Error Handling
- Catch HTTP errors by status code; try to parse the error body for a human-readable message
- Fall back to the raw response substring if the error body isn't parseable JSON
- Re-throw errors so the connector runtime surfaces them correctly
Rules
- Input sanitization — Always sanitize inputs (API keys, user params) to prevent injection attacks
- Consistent columns — Every row must have the same columns; use
nullfor missing values - Domo library — Use Domo-provided methods (
httprequest,datagrid,auth,metadata); see reference docs - Clear error messages —
auth.authenticationFailed()messages should tell the user what to fix
Code Examples
If you need full boilerplate for authentication, data processing, or error handling patterns, read references/examples.md.
Checklist
-
authentication.jsvalidates input format and tests credentials -
authentication.jscallsauth.authenticationSuccess()orauth.authenticationFailed()appropriately -
dataProcessing.jshandles pagination correctly -
dataProcessing.jschecks HTTP status codes before parsing JSON -
dataProcessing.jsusesdatagrid.magicParseJSON()for JSON arrays - All inputs are sanitized
- Error messages are clear and actionable
-
README.mddocuments all reports/parameters - All rows have consistent column counts
Comments
Markdown supported