Best Practices

To ensure a smooth and successful app submission process on the Freshworks Marketplace, follow these best practices:

  1. Migrate your app to latest platform version
  2. Thoroughly Test Your App
  3. Adhere to Freshworks Coding Standards
  4. Prepare Comprehensive Documentation
  5. Optimize App Content and Media
  6. Prepare for the Review Process
  7. Ensure Compliance with Marketplace Policies
  8. Focus on User Experience
  9. Leverage Community and Resources

Migrate your app to latest platform version

  • Ensure your app is always upto date with latest platform version.
  • The current FDK version is 9.0.9 with platform version 2.3.
  • We also support building product agnostic apps using modules with FDK 9.1.1 and platform version 3.0

Thoroughly Test Your App

  • Functional Testing: Verify that all features work as intended.
  • Performance Testing: Ensure your app performs well under various conditions.
  • Compatibility Testing: Check compatibility across different Freshworks product accounts.
  • Security Testing: Identify and mitigate any security vulnerabilities.
  • Ensure High Code Coverage: We expect 80% or above code coverage. You need not necessarily use any complex testing frameworks. Just ensure that code coverage using FDK utility is above 80%.
Note:

For apps built with any frontend framework or involving code compilation and minification, the app code will get changed when the app is built and attached to be published. You cannot achieve code coverage for these apps. Reach out to the Freshworks team through service request after submitting the app to get the code coverage requirement skipped. Provide necessary justification and details in the ticket comments.

Adhere to Freshworks Coding Standards

  • Clean Code: Write clear, maintainable, and well-documented code.
  • Error Handling: Implement robust error handling and logging mechanisms.
  • API Usage: Use Freshworks APIs as intended and follow best practices for API integration. Read more about API rate limits here

Prepare Comprehensive Documentation

  • Code Comments: Add detailed code comments.
  • Release Notes: Maintain clear and detailed release notes outlining new features, bug fixes, and known issues under CHANGELOG.md.

Optimize App Content and Media

  • App Description: Write a clear and engaging description highlighting the app’s key features and benefits.
  • Screenshots and Videos: Include high-quality screenshots and a demo video to showcase your app’s functionality.
  • Branding: Ensure your app’s branding aligns with Freshworks guidelines, using consistent logos, colors, and fonts.
  • If possible Follow Localization and Internationalization Practices

Prepare for the Review Process

  • Internal QA: Conduct thorough internal QA to identify and fix issues before submission.
  • README.md: Include a README.md file with detailed app information, including edge cases and special scenarios.
  • Respond Promptly: Be prepared to respond quickly to reviewer feedback and make necessary adjustments. When any input is requested from the reviewer the associated ticket status will change to Waiting on Developer and for app rejection due to violation it will be set to Rejected. When received such emails, review the violations and errors attached to the email and resubmit the app by uploading new version.

Ensure Compliance with Marketplace Policies

  • Data Privacy: Comply with data privacy regulations and ensure user data is handled securely.
  • Terms of Service: Ensure your app’s terms of service are clear and fair to users.
  • Usage Policies: Adhere to Freshworks’ usage policies and guidelines.

Focus on User Experience

  • Intuitive Design: Design an intuitive and user-friendly interface using Crayons UI Library.
  • Onboarding: Provide a seamless onboarding experience for new users.
  • Support: Offer accessible support channels and resources for users.
  • Performance Optimization: Optimize your app for speed and responsiveness.

Leverage Community and Resources

  • Engage with the Community: Participate in Freshworks Developer Community to gain insights and support.
  • Utilize Resources: Make use of Freshworks’ available resources, including SDKs, API documentation, and support channels.

By following these best practices, you can enhance the quality and appeal of your Freshworks app, ensuring a successful submission and a positive experience for users.