Ayra
Ayra AI · team@ayra.cx
Weekly report · Test page

Talk to Nia.
Chat with Noah.

This page is the Noodoe test desk. Voice and chat write into your Salesforce through the Ayra MCP layer. A conversation can add a Contact or a Lead, offer weekday openings, and ask to book a ninety-minute visit.

Access

What is live for Noodoe

Integration user

Noodoe created an API-only Salesforce user for Ayra AI. It runs as team@ayra.cx on noodoe.my.salesforce.com.

Connected app

A Salesforce connected app issues a server-to-server token. No password and no security token sit in the agents.

Ayra MCP layer

Ten named tools sit between the agents and Salesforce. Nia and Noah never talk to the API themselves. They only call a tool and read the status.

Architecture

How a chat or call reaches Salesforce

1. YouTalk to Nia or chat with Noah on this page.
2. AgentNia or Noah hears the request and picks a tool.
3. MCPThe Ayra MCP layer runs one tool at a time.
4. SalesforceThe connected app writes or reads as the integration user.
5. RecordA Lead, Contact, Event, or Task, when that object is allowed.

Confirm only on success

The agents do not treat “tool finished” as success. They read a status word: found, ok, booked, created, noted, rescheduled. If the status is an error, they create a Lead and say the team will follow up.

What they will not say

They will not invent a time. They will not say a visit is booked unless status is booked. They will not say a case was opened. They will not promise they stored a phone or email.

Try them

Voice widget and chat widget

Nia · voice

Call +1 (782) 830-5857, or use the Talk to Nia button at the bottom left. Allow the microphone. She should say she is Nia at Noodoe. Speak a first and last name. Do not say tool names.

Live +1 (782) 830-5857 · Noodoe Salesforce

Noah · chat

Use the Chat with Noah button at the bottom right. Same tools as Nia. Ask for times this week and he should offer weekday openings.

Live Browser chat · Noodoe Salesforce

How to test

Scripts that write a Contact or a Lead

1. Open times

Hi, this is Ayra Test. Do not book anything. What times do you have this week?

Expect two or three weekday openings. No new Event.

2. Book a conversation

I am Ayra Test from Ayra Integration Check. Book the first morning slot for a fleet demo.

They offer real openings, then try to book. If the calendar write is blocked, they add a Lead and say the team will confirm.

3. New Lead

Please add me as a new inquiry. Ayra Test. Company Ayra Integration Check.

Expect a Lead with last name and company. Status must be created before they say it is on file.

4. Support, no case

A charger is offline. Can you log that?

They take a name and create a Lead. They will not say a case was opened. Noodoe does not send a truck.

Salesforce

What you will see after a test

You asked for Object What is written today How to find it
New person / booking fallback Lead First name, last name, company. Status New. Search Ayra Test or Ayra Tester
Known person / book path Contact First name and last name. Email and phone are hidden from this user. Search the same name
Booked visit Event Ninety minutes on a weekday, 8:00–16:00 Pacific. Needs Event create permission. Calendar on the Ayra AI Integration user
A note Task Completed Task on the Contact. Needs Task create permission. Activity on that Contact
Current limits

What this user can and cannot do

Working now

  • Find a Contact by first and last name
  • Read weekday openings
  • Create a Lead (last name + company)
  • Create a Contact (name only)

Not open yet

  • Email, phone, title, and account fields
  • Insert or update Event or Task
  • Update or delete a Lead or Contact
  • Case subject and description, so a case cannot be opened

We will not change or delete existing Noodoe Leads. Create-only is enough for this week. If you want Event booking, notes, or email on the record, that is a field and object permission change on the integration user. Ask us at team@ayra.cx.

STAR

How a Shovels permit becomes a Salesforce Lead

The same ten tools. A scheduled Shovels pull finds the site. The MCP writes the Lead only when the account is new. Header X-API-Key to https://api.shovels.ai/v2. Key stored as SHOVELS_API_KEY in n8n. This first pull is California. California is West, so the Lead goes to Ryan — same routing as noodoe.ayra.cx.

n8n · STAR · Shovels California pull → Salesforce map n8n · Salesforce MCP find_account · create_lead Shovels search CA · commercial · EV Charger

1. DetectGET /permits/search · ev_charger · CA · commercial.
2. ContactResidents for occupant phone and email. Contractor for the installer number.
3. MatchKeep the six segments. Drop houses and false tags.
4. Checkfind_account then find_customer. If found, skip.
5. Leadcreate_lead only on a miss. Confirm only if status is created.
Who we can call API Plan What it is
Occupant at the address GET /addresses/{geo_id}/residents Any plan, including Free name, personal_emails, phone. Often empty on a Target or a mall.
Installer on the permit GET /contractors?id= Any plan primary_phone, primary_email. The electrician, not the owner.
Named people at that installer GET /contractors/{id}/employees Basic · $599 / month Employees are off on Free. Still the installer team.
Owner or applicant on the filing EDL OWNER_EMAIL · OWNER_PHONE Enterprise Data License Not on the REST API. Often the homeowner or the contractor who applied.
Person who signs for the group Apollo · Clay Not Shovels Director of Ancillary Revenue. This is who STAR emails.

Plan we need

Basic, $599 a month. 25,000 credits, full history, CSV, and employees. This is the ~$600 permit line in the proposal. Free is only for the five-record proof. Pro and the warehouse license can wait.

What lands in Salesforce

Company from the owner, the brand in the description, or enrich. First and last name from residents or Apollo. Permit number, address, file date, and description go in IAE_Notes__c. California to Ryan.

Skip if known

If find_account already hits, we leave the record. Email and phone go in the note with the permit. California to Ryan.

STAR · lead map

How each permit becomes a Lead

Same six segments and same territory as noodoe.ayra.cx. Match the company to a segment. Check Salesforce. Write the Lead only on a miss. This Shovels pull is California, so every kept row routes to Ryan. East would go to Justin. Midwest and Canada also go to Ryan.

Segment on noodoe.ayra.cx What Shovels has to show Company on the Lead This CA pull
Multifamily portfolios Apartments, 5+ units, resident charging The property group, not the site address Ryan
Hospitality Hotel, resort, or casino guest charging The hotel or hospitality group Ryan
Charging networks and CSPs Public DCFC or Superchargers at retail or a mall The host brand or the center, not Tesla or the installer Ryan
Commercial fleets Depot, yard, or school-bus charging The fleet operator Ryan
Dealer groups Dealership or service-lot chargers The dealer group Ryan
Public sector City, county, school, or utility site The agency Ryan
Permit Site Segment Company we search Salesforce
EL26-0452 4 Padre Pkwy, Rohnert Park Hold · retail host, owner blank — No Lead until enrich names the owner. Ryan when it lands.
EL26-0451 380 Rohnert Park Expy Hold · shopping center — No Lead until enrich names the owner. Ryan when it lands.
B26-0783 426 Work ST, Salinas Hold · chargers already on site — Need owner before find_account.
BLD26-01908 19105 Golden Valley RD, Santa Clarita Charging networks / retail host Target find_account('Target'). Miss → Lead to Ryan. 16 Superchargers in the note.
BL26-0546 100 Corte Madera Town Ctr Charging networks / mall host Corte Madera Town Center find_account('Corte Madera Town Center'). Miss → Lead to Ryan. Nextedge is the installer, not the buyer.
STAR · n8n

How n8n maps a Shovels permit onto Salesforce

A second n8n workflow sits next to the live MCP. It pulls Shovels. It never talks to Salesforce itself. It only calls the same tools Nia and Noah already use. This first pull is California, so every kept Lead maps to Ryan.

Open the Shovels automation Noodoe · STAR · Shovels Same MCP as Nia and Noah Noodoe · Salesforce · MCP

W0AR4KahJVyu4Dmz · k763ckaBZi2ngB5T · path /mcp/noodoe-salesforce

1. ScheduleDaily. California, commercial, ev_charger, last seven days.
2. Shovels HTTPGET /v2/permits/search with the key as an n8n credential, not in the node.
3. Contact HTTPResidents for occupant email and phone. Contractor for the installer number.
4. FilterKeep the six segments. Drop houses and false tags. Hold when there is no company.
5. Same MCPfind_account → find_customer → create_lead. Same status words as Nia.
n8n node Call What it maps
Schedule Trigger Once a day, 06:00 America/Los_Angeles Date window for the Shovels search
HTTP Request · detect GET https://api.shovels.ai/v2/permits/search Permit number, address, file date, description, geo_id, contractor_id
HTTP Request · residents GET /v2/addresses/{geo_id}/residents Occupant name, personal_emails, phone
HTTP Request · contractor GET /v2/contractors?id= Installer primary_phone, primary_email. Log only. Not the buyer.
IF / Code · match Segment against the six ICPs Keep or drop. Hold when legal owner is blank.
MCP Client · find_account Existing tool on k763ckaBZi2ngB5T Company name → Account. If status is found, skip.
MCP Client · find_customer Same MCP First + last name → Contact. If found, skip or note.
MCP Client · create_lead Same MCP First, last, company. Permit, address, file date, email, phone, segment, route Ryan in IAE_Notes__c. Confirm only if status is created.

Why the MCP, not Salesforce

STAR uses the same ten tools and the same status words as Nia and Noah. One permission set. One integration user. We do not add a second Salesforce login or a second write path.

Where the Shovels key lives

n8n credential SHOVELS_API_KEY. Header X-API-Key. It does not sit in the node, the agent prompt, or this page.

Enrich

If residents do not name the signer, Apollo / Clay finds first name, last name, email, and phone. Those go in the note with the permit.