FActionFreshsalesUpdated June 2026

How do I add a Freshsales contact?

Short answer: Drop the "FreshsalesCreate Freshsales Contact" action anywhere in your workflow, map the inputs from upstream nodes, and publish.

Inputs

The fields this action accepts.

Every field can be mapped from an upstream trigger, AI step, table row, or hard-coded literal.

FieldTypeRequiredDescription
First Name
first_name
stringRequiredFirst Name. e.g. "John"
Last Name
last_name
stringRequiredLast Name. e.g. "Doe"
Email
email
stringRequiredPrimary email address
Mobile Number
mobile_number
stringOptionalMobile Number. e.g. "+15551234567"
Work Phone
work_number
stringOptionalWork Phone. e.g. "+15559876543"
Job Title
job_title
stringOptionalJob Title. Example: VP of Engineering
Company Name
company_name
stringOptionalCompany Name. Example: Acme Inc
Lead Source
medium
stringOptionalHow this contact was acquired
Sample request
{
"first_name": "John",
"last_name": "Doe",
"email": "user@example.com",
"mobile_number": "+15551234567",
"work_number": "+15559876543"
}
Returns
{
"contact": {
"id": 1,
"email": "john@example.com",
"last_name": "Doe",
"first_name": "John"
}
}

Use these fields in downstream nodes for routing, logging, or error handling.

Triggered by

Apps that pair well as the trigger for Create Freshsales Contact.

Any of these apps can fire this action as part of a workflow.

FAQ

Questions about Create Freshsales Contact.

What does the Create Freshsales Contact action do in Freshsales?
Creates a new contact with email (dedupe), name, custom fields, and optional account association. The base hook for "form submission → push to Freshsales" sync workflows.
What inputs does Create Freshsales Contact require?
Required: First Name, Last Name, Email. Every input accepts a static value or a variable from any upstream node in your workflow.
Can I use dynamic inputs from earlier workflow nodes?
Yes. Any field on this action can pull values from upstream nodes, whether that's a form response, a trigger payload, an AI output, or a lookup result.
What happens if Freshsales returns an error?
The workflow pauses on the failed node, the error message is captured in the run log, and you can retry the run with one click. Auto-retry policies are configurable per workflow with exponential backoff up to 5 attempts.
Does Create Freshsales Contact support batch operations?
Yes. Run Create Freshsales Contact inside a Loop node to process arrays. Tiny Command handles Freshsales's rate limits automatically so you don't have to throttle manually.
More actions

Other Freshsales actions.

Action
Create Freshsales Account
Creates a company/account record. Useful for "new B2B prospect → account record before contact" workflow patterns.
Action
Create Freshsales Deal
Creates a deal with name, amount, pipeline, stage, contact. For "qualified lead → auto-create deal in the AE's pipeline" workflows.
Action
Delete Freshsales Contact
Hard-deletes a contact. For GDPR right-to-erasure workflows; for soft removal use a custom "deleted" tag or status field.
Action
Delete Freshsales Deal
Removes a deal from the pipeline. For "duplicate deal cleanup" or "lost deal archiving" maintenance workflows.
Action
Get Freshsales Contact
Returns a contact by ID with all standard and custom fields plus related deals and activities. The standard lookup before update workflows.
Action
Get Freshsales Deal
Returns a deal by ID with value, stage, contacts, activities. The lookup for forecast workflows or for cross-system reporting.

Send create freshsales contact from your workflows.

Triggered by anything in the catalog. Free tier available. No credit card.