# Create AccuLynx jobs from new leads with AI

> Turn a web form, call or ad lead into an AccuLynx contact and job: check for an existing contact first and keep the lead source on record.

Source: https://cotlet.dev/integrations/acculynx-api-mcp-server/create-jobs-from-new-leads

After a hail or wind storm, leads arrive from the website form, missed calls and ad forms faster than the office can key them in. Each one means searching AccuLynx for the homeowner, then adding the contact and opening a lead at the right roof address.

Cotlet does it in your own AccuLynx account with find\_contact, create\_contact, create\_job and add\_contact\_note, called by your AI agent, an n8n workflow or a script.

[Request access](https://cotlet.dev/app/signup?app=acculynx) [All AccuLynx tools](https://cotlet.dev/integrations/acculynx-api-mcp-server)

Hosted · nothing to install or maintain

Official options

## Can AccuLynx do this on its own?

AccuLynx's API has Search Contacts, Create Contact and Create Job endpoints, but only with the AppConnections add-on and an API key a Location or Company Administrator creates (checked 12 Oct 2026). A job created through the API starts in the Lead milestone with no assigned representative. The CallRail and Angi AppConnections create unassigned leads from calls, forms and Angi requests on their own, and the CallRail page does not say how a repeat caller is handled. Leads from your own website form, an email or a spreadsheet still need a person, or a Zapier Create Lead action on the same API key.

By hand

## How you do it in AccuLynx today

1. Search AccuLynx for the caller's name, phone number and email before adding anything, because a homeowner from a past job may already have a contact record.
2. Add the contact with name, phone, email and mailing address, then open the lead for that contact at the job site address, which differs from the mailing address for rentals and second homes.
3. Pick the Lead Source and, if the company uses them, the Job Category, Work Type and Trade Type from the values an AccuLynx administrator configured for the location.
4. A lead that an integration such as CallRail creates lands in Unassigned Leads until a manager opens it and chooses Assign, Smart Assign or Map Assign to give it to a sales rep.
5. During a storm the same homeowner often calls, fills in the form and answers an ad, so duplicate contacts pile up and the oldest lead is not always the first one a rep sees.

With an agent

## How to create AccuLynx jobs from new leads with AI

Prompt

```
New lead from the website form: Jane Doe, (214) 555-0142, jane.doe@example.com, 12 Oak St, Plano, roof leaking since Sunday's storm, came from Google Ads. Check she is not already in AccuLynx, add her and open a job.
```

1. 01  
### Look for the homeowner first  
Your agent runs find\_contact with the phone number, then the email, then the last name, because a returning customer may have a new email and the same phone. A phone or email match counts as the same person. A match on name alone is shown to you before anything is created.
2. 02  
### Decide between a new job and a repeat  
When the contact already has an open job in Lead or Prospect at the same street address, the agent creates nothing new and writes the fresh request into a contact note, so the rep who owns that job sees it. A past customer whose jobs are all Closed, or a call about a different property, gets a new job on the existing contact.
3. 03  
### Add the person only when needed  
create\_contact runs only when no match survives the first step. The agent splits the name, keeps the phone as the homeowner gave it, and sends a mailing address only when the lead included one.
4. 04  
### Open the job at the roof address  
create\_job gets the contact\_id and the address of the roof, which matters when a landlord or an adult child calls about someone else's house. Priority is High when the lead mentions an active leak or storm damage, Normal otherwise. The job name is last name plus street, so it is easy to find in the Jobs/Leads list.
5. 05  
### Keep where the lead came from  
The source, the form or campaign name and the homeowner's own words go into add\_contact\_note, since the Lead Source field only takes values your administrator set up. The run ends with which leads are new, which were folded into an existing job and which name-only matches wait for you.

### What you get back

Example data

```
Leads processed: 6
New contact and job: 3 (Jane Doe, 12 Oak St, High; Marcus Bell, 88 Cedar Way; Priya Nair, 1410 Lakeview Dr)
New job on an existing contact: 1 (Tom Reyes, past customer, rental at 22 Birch Ct)
Already open, note added instead: 1 (Linda Park, Prospect job at 5 Ash Ln since Oct 3)
Waiting for you: 1 (Chris Miller, name matches 2 contacts, no phone or email in the form)
All new jobs sit in the Lead milestone, unassigned
```

### Other ways to ask

- Every hour, take new rows from the storm-leads Google Sheet and add each one to AccuLynx, skipping anyone who already has an open job.
- Here are 12 door-knocking leads from Saturday's canvass. Add them as jobs and put the canvasser's name in each contact note.
- Add this caller as a lead only if her phone number is not on any contact yet; otherwise tell me which job she already has.

Before you automate it

## What AccuLynx allows, and what to know first

- AccuLynx Smart Assign lists sales reps for a new lead with whether they have jobs near it, their year-to-date close rate and their sales over the last 30 and 90 days, and AccuLynx alerts the rep who gets the lead.
- An AccuLynx Automation Manager rule can send an email or text whenever a new contact is marked as a lead, so a job the agent opens may set off your own message to the homeowner even though create\_job itself sends nothing.
- AccuLynx's API guide for third-party leads says Lead Sources, Job Categories, Work Types and Trade Types are optional on a new job but must already exist in the account, and are set by their AccuLynx ID, never as free text.
- The AccuLynx CallRail AppConnection maps each CallRail company to one AccuLynx location and writes the lead source, form name, tracking number and campaign into the new lead's notes.

create\_contact, create\_job and add\_contact\_note change only your own AccuLynx data and reach no one else, so they run without asking first.

Sources: [AccuLynx API docs: Create a Lead/Job from a Third-Party System](https://apidocs.acculynx.com/docs/create-a-leadjob-from-a-third-party-system) · [AccuLynx: CallRail AppConnection](https://acculynx.com/appconnections/callrail/) · [AccuLynx: How to assign the right roofing sales reps to jobs](https://acculynx.com/assign-the-right-roofing-sales-reps-to-jobs/) · [AccuLynx: How to reach out to roofing leads before your competition does](https://acculynx.com/residential-roofing-leads/)

REST

## Call create\_job from a script

curl

```
curl https://cotlet.dev/api/v1/acculynx/create_job \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"contact_id":"c7d2a9f0-3b11-4e8c-a6d5-91f0e2b47c18","job_name":"Doe - 12 Oak St","address":{"street":"12 Oak St","city":"Plano","state":"TX","zip":"75074"},"priority":"High"}'
```

Example response

```
{
"job_id": "f2a6c8d1-4e93-4b07-a1d5-3c9e7b0f5a62",
"job_name": "Doe - 12 Oak St",
"address": "12 Oak St, Plano, TX 75074",
"milestone": "Lead",
"priority": "High",
"created_at": "2026-10-11T09:03:00-05:00"
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the tool is acculynx\_create\_job. Example data.

[Schedule it in n8n, Make, Zapier or cron](https://cotlet.dev/integrations/acculynx-api-mcp-server#automations)

Tools

## AccuLynx tools this automation uses

__Cotlet AccuLynx tools used to create AccuLynx jobs from new leads with AI__
| Tool | Parameters |
| ------------------ | ---------------------------------------------- |
| find\_contact | query |
| create\_contact | first\_name, last\_name, phone, email, address |
| create\_job | contact\_id, job\_name, address, priority |
| add\_contact\_note | contact\_id, body |

[All 14 AccuLynx tools with descriptions](https://cotlet.dev/integrations/acculynx-api-mcp-server#tools)

## Frequently asked questions

### What about leads CallRail or Angi already put into AccuLynx?

The CallRail and Angi AppConnections create unassigned leads themselves, so the agent does not add those again. find\_contact shows them, which lets the agent spot a CallRail lead whose phone number already belongs to an older contact and tell you before a rep calls twice.

## More AccuLynx automations

- [Find stalled AccuLynx jobs in Prospect or Completed](https://cotlet.dev/integrations/acculynx-api-mcp-server/find-stalled-jobs)
- [Move an AccuLynx job to the next milestone](https://cotlet.dev/integrations/acculynx-api-mcp-server/move-job-to-next-milestone)
- [AccuLynx API and MCP server: every tool](https://cotlet.dev/integrations/acculynx-api-mcp-server)
- [All use cases](https://cotlet.dev/use-cases)

## Give your agent access to AccuLynx.

Free 7-day trial with 5,000 credits, no card needed. Cotlet is independent and not affiliated with AccuLynx.

[Request access](https://cotlet.dev/app/signup?app=acculynx)
