Support and social

Check email domains, IP addresses and phone numbers in Freshdesk

Check the email domain of each new Freshdesk requester so tickets from throwaway addresses are tagged for a closer look.

Why the data matters in Freshdesk

In Freshdesk every ticket gets a requester, an SLA clock and an assignment. A disposable address in the requester slot means replies that bounce while the clock keeps running, and a role mailbox can hide which real person is asking. Agents notice only after the first reply fails.

What LookValid checks

LookValid checks for Freshdesk
ProductWhat it does hereCredits
Email Domain CheckReturns a good, risky or undeliverable signal for the requester domain, from its MX, SPF and DMARC records. It cannot confirm the mailbox. Flags disposable domains, free providers and role mailboxes so a rule can route those tickets differently.1 credit per address checked
IP IntelligenceLocates the IP address of a ticket submitted through a web form by country and network, and marks hosting ranges and Tor exits.1 credit per lookup
Phone Numbering-Plan ValidationReads a requester phone number against numbering-plan rules and returns E.164, to fix the contact before a call back.1 credit per valid number

Connect it in four steps

  1. Sign up at LookValid, go to the dashboard and generate a key in API keys.
  2. In Freshdesk add a Trigger Webhook action under Admin, Workflows, Automations with your function URL, switch on Requires authentication if the function needs your Freshdesk API key, and keep the LookValid key in the LOOKVALID_API_KEY variable of the function host.
  3. Pass the requester email in the JSON body of the webhook, let the function post it to the email-domain-check endpoint, and when the answer is found:false or an error, log it and leave the ticket alone.
  4. Write the three values to the requester with PUT /api/v2/contacts/{id}, placing them in the custom_fields dictionary by the field names you created, and add a disposable tag to the contact tags array when the domain is disposable. The call authenticates with your Freshdesk API key as the basic auth username.

A Node function at the URL that a Freshdesk Trigger Webhook automation action calls on ticket creation. The call is POST https://YOUR_API_HOST/v1/email-domain-check and costs 1 credit per address checked.

validateFreshdeskEmail.mjs
const API_URL = "https://YOUR_API_HOST/v1/email-domain-check";
​
export async function validateFreshdeskEmail(value) {
  const response = await fetch(API_URL, {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.LOOKVALID_API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      "email": value,
    }),
  });
  const result = await response.json();
  if (!response.ok) throw new Error(`${result.error.code}: ${result.error.fix}`);
  if (!result.found) return null;
  return {
      "email_signal": result.data?.deliverability_signal ?? null,
      "disposable_domain": result.data?.disposable ?? null,
      "free_provider": result.data?.free_provider ?? null,
  };
}
Where each response field goes in Freshdesk
Response fieldGoes into
data.deliverability_signalemail_signal
data.disposabledisposable_domain
data.free_providerfree_provider

The recipe returns nothing when the lookup finds nothing, which costs no credits for this product, and stops with the error code and fix on a failed request.

Without code

If you want no hosting at all, an automation platform with a generic HTTP request step does it without a dedicated app. Trigger on a new Freshdesk ticket, post the requester email to the LookValid endpoint in the HTTP step, and add a step that tags the ticket or updates the contact with the returned signal.

REST and MCPOne shared credit balance

Questions

Will it slow down ticket creation?

The webhook runs after the ticket exists, so the ticket appears as usual. Freshdesk documents that a GET webhook response cannot feed later actions, which is why the function writes back through the API itself.

How many credits per ticket?

One email-domain-check lookup per ticket, at the pricing page rate. Freshdesk caps webhook calls per hour, so busy desks should check its current limit.

Where does the key go?

The LookValid key stays in an environment variable of the function host. The Freshdesk webhook action has its own authentication switch for your Freshdesk key.

Sources

LookValid is run by Meralume Labs. It is not connected to, endorsed by or a partner of any company or product named on this page, and every product name belongs to its owner.

LookValid bills every lookup in credits from one shared balance, so the same key works for each check above.

See Email Domain Check