We have a marketplace app called Approval Automation. In this app, we use the Outbound Emails API to send approval emails to approvers.
As part of this process, the API creates a ticket while sending the email. However, we are facing an issue when the account has mandatory ticket fields configured for agents. Since these required fields differ across customer accounts and we do not have visibility into their configurations, the API request fails if those mandatory agent-level fields are not included in the payload.
Is there any way to bypass the required field validation configured for agents when creating tickets via the Outbound Emails API?
Or is there an alternative approach to send emails without triggering agent-level mandatory ticket field validation?
Any guidance or recommended best practices would be greatly appreciated.
I don’t think you can bypass the mandatory ticket fields configured for agents. A possible workaround can be to modify your ticket creation logic to use Freshdesk API to fetch all ticket fields, check which are mandatory , and put some default value in those fields and then move forward with ticket creation.
I understand the challenge - mandatory agent fields can complicate automated ticket creation when you don’t know the customer’s configuration.
@Himanshu_Sehgal is right that there’s no direct way to bypass mandatory field validation. Here’s a better approach:
Installation Flow:
// During app installation/setup:
1. Fetch mandatory fields
GET /api/v2/ticket_fields
2. Show configuration UI to admin:
"Your account has these mandatory fields:
- Subject (text) → [default: "Approval Request"]
- Priority (dropdown) → [default: "Medium"]
- Custom Field X → [default: ___]"
3. Let admin set defaults for each field
4. Store mappings in your app's database:
{
account_id: "xyz",
mandatory_fields: {
subject: "Approval Request",
priority: 2,
custom_field_123: "Pending Approval"
}
}
5. Use these stored defaults for all ticket creations
Benefits:
One-time setup - Admin configures during installation
Account-specific - Each customer sets their own defaults
No runtime failures - Guaranteed to have all required fields
Admin control - They choose meaningful defaults, not generic ones
Better UX - Tickets have proper context instead of “Auto-generated”
Implementation:
Add an “Installation Settings” or “Field Configuration” page in your app where admins can:
See which fields are mandatory in their account
Set default values for each
Test ticket creation
Update defaults anytime
This is much better than runtime detection because the admin explicitly controls what values get used!
Let me know if you need help implementing this flow!
Thank you for your response. I truly appreciate your guidance, and I will implement your suggestions in our app.
I have one additional question regarding the submission process.
After completing the development and bug fixes, we are required to achieve more than 80% code coverage in order to submit the app to the Marketplace team through the Freshdesk Developer Portal. However, a significant portion of our application logic depends on the outbound API, which currently has a rate limit of five requests per day.
Due to this limitation, we are unable to execute sufficient test cases to reach the required code coverage threshold.
Would it be possible to increase the API rate limit for our account so that we can complete the required testing and proceed with the submission?