Workflow Action: Create Opportunity in Sparkforge
The Create Opportunity workflow action drops a new opportunity into the pipeline and stage you specify, with full control over name, source, value, and whether duplicates are allowed for the same contact.
The Create Opportunity workflow action adds a new opportunity to a pipeline whenever the workflow conditions match. It's the standard way to automate lead-to-opportunity creation when forms, calls, or other triggers fire.
Action settings
| Field | Description | Required |
|---|---|---|
| Action Name | Label for the workflow step. | Yes |
| Pipeline | Pipeline that receives the new opportunity (Projects, Sales, etc.). | Yes |
| Pipeline Stage | Stage to drop into. Defaults to the first stage if blank. | No |
| Opportunity Name | Name of the new opportunity. Defaults to the contact name. Supports variables like {{contact.first_name}}. | No |
| Opportunity Source | Where the opportunity came from (Website, Referral, Event). Empty by default. | No |
| Status | Open, New, Pending, etc. Defaults to Open. | No |
| Duplicate Opportunity | Allow or block creating another opportunity for the same contact. | — |
| Opportunity Value | Numeric value. Defaults to 0. | No |
| Ownership Settings | Owner can default to the contact owner or stay unassigned, depending on system settings. | No |
| Custom Fields | Any extra opportunity fields. Most accept custom values and tokens. | No |
For date fields you can pass Right Now to write the current timestamp into the new opportunity.
Edge cases
- Missing contact name fields: If the contact has no first or last name, the system uses any available identifier (typically email) for the Opportunity Name.
- No contact in the workflow: If there's no contact attached — for example, an inbound webhook with no contact data — the action can't create an opportunity. Use a webhook that includes contact data or trigger from a contact-aware action.
- Duplicate detection: Duplicate logic checks contact ID, not opportunity name. With duplicates disabled, a contact who triggers the workflow twice still only ends up with one opportunity.
Example: project inquiry intake
Trigger: Contact submits a Project Inquiry form on the website.
Action: Create Opportunity
- Action Name: Create Opportunity
- Pipeline: Projects
- Pipeline Stage: New Lead
- Opportunity Name:
{{contact.first_name}} - Project Inquiry - Opportunity Source: Website
- Status: Open
- Opportunity Value: 0
- Duplicate Opportunity: Enabled (the same contact can submit multiple inquiries)
Each form submission creates a fresh opportunity in the Projects pipeline at the New Lead stage. If duplicates were disabled, the second submission would be skipped.
When to allow duplicates
Allow duplicates when each event represents a genuinely separate opportunity — a project inquiry, a quote request, an event registration. Block duplicates when you want one record per contact and updates handled by Update Opportunity instead.
Frequently Asked Questions
What happens if the Pipeline Stage is left blank?
How does Sparkforge detect duplicate opportunities?
Can I use variables in the Opportunity Name?
What if the contact has no name fields populated?
When should I block duplicates?
Was this article helpful?
Thanks for the feedback.