Quick guide: Use AI + app-dev skill to create Freshworks apps with prompts
-
Node.js 18.x
node --version # Should be 18.20.8 or compatible -
FDK (Freshworks Development Kit) 9.x
https://developers.freshworks.com/docs/guides/setup/cli-setup/
-
Cursor IDE
Use the official docs as mentioned above.
Note: Feel free to aditionally test the fdk-setup skill using the command
npx skills add https://github.com/freshworks-developers/marketplace --skill fdk-setupmkdir my-freshworks-app
cd my-freshworks-appAs mentioned in https://github.com/freshworks-developers/marketplace which lists 2 more skills.
Add the main app-dev skill for workshop
npx skills add https://github.com/freshworks-developers/marketplace --skill app-devThis installs the app-dev skill from the official Freshworks marketplace repository.
- Open Cursor IDE
- Go to Settings → Features → Agent
- Allow all permissions when prompted (file read/write, shell access)
- This lets the skill auto-generate and validate files
- Once installed you should be able to rules/skills in settings.
Open Cursor AI chat and describe your app. Refer to the workshop apps sheet
Simple Frontend App:
Create a Freshdesk ticket sidebar app that displays "Hello World"
using Crayons components. Name it "hello-world-app".
App with External API:
Create a Freshservice ticket sidebar app with a button "Get Random Fact"
that calls https://uselessfacts.jsph.pl/random.json and displays the result.
Name it "random-facts-app".
OAuth Integration:
Create a Freshdesk ticket sidebar app that uses GitHub OAuth to fetch
and display the user's repositories. Name it "github-repos-app".
The AI assistant will:
- ✅ Read the
app-devskill - ✅ Generate all required files (manifest, frontend, backend, configs)
- ✅ Run
fdk validateautomatically - ✅ Attempt to fix errors (up to 6 iterations)
- ✅ Report final status
You do NOT need to:
- ❌ Read skill files manually
- ❌ Understand Platform 3.0 rules
- ❌ Fix validation errors yourself
- ❌ Know manifest structure
Scan through key files:
manifest.json- App configurationapp/index.html- Frontend UIapp/scripts/app.js- Frontend logicserver/server.js- Backend logic (if hybrid/serverless)config/- Configuration files
If you encounter errors:
- Copy the full error message
- Paste it in the chat
- Describe what you were doing
- Let the AI analyze and provide feedback
Example:
I ran `fdk run` and got this error:
[Error message here]
I was trying to test the app in Freshdesk ticket sidebar.
The AI will provide feedback on what went wrong, but you are not expected to fix it yourself.
Ask AI "fix the errors in the app"
The app-dev skill automatically handles:
- ✅ Correct manifest structure (
"platform-version": "3.0","modules"not"product") - ✅ Request templates (FQDN hosts, correct paths)
- ✅ Crayons components (not plain HTML)
- ✅ Mandatory files (icon.svg, iparams.json)
- ✅ Input validation for all server functions
- ✅ Safe logging (no credentials in logs)
- ✅ XSS prevention (sanitized DOM updates)
- ✅ Secure data handling
- ✅ Async/await correctness
- ✅ Function complexity ≤ 7
- ✅ No unused parameters
- ✅ Proper error handling
- ✅ Runs
fdk validateautomatically - ✅ Fixes common errors (up to 6 iterations)
- ✅ Reports final status
If the AI reports errors after generation:
Error: Icon 'app/styles/images/icon.svg' not found
What it means: Frontend apps must have an icon file. What to do: Report this to the feedback - it should have been auto-generated.
Lint Error: Async function has no 'await' expression
What it means: Function has async keyword but doesn't use await.
What to do: Report this to the feedback.
Warning: Function has complexity 12. Maximum allowed is 7.
What it means: Function is too complex (too many conditions). What to do: Report this to the feedback.
Error: schema/host must be FQDN without path
What it means: API host includes path (should be domain only). What to do: Report this to the feedback.
What it means: App doesn't show up after fdk run.
What to do:
- Check if
fdk runis still running - Verify URL has
?dev=trueparameter - Report the issue with error logs
What You Do:
- ✅ Install FDK
- ✅ Install skill in project
- ✅ Allow all permissions in Cursor
- ✅ Enter a prompt describing your app
- ✅ Review generated files
- ✅ Run
fdk runto test - ✅ Report errors (don't fix them yourself)
What the AI Does:
- ✅ Reads skill files and rules
- ✅ Generates Platform 3.0 compliant code
- ✅ Enforces security patterns
- ✅ Validates and auto-fixes errors
- ✅ Provides feedback on issues
You DON'T need to:
- ❌ Read skill documentation
- ❌ Understand Platform 3.0 rules
- ❌ Know manifest structure
- ❌ Fix validation errors manually
- ❌ Write security checks