ERPNext
With the webhook tools below, your receptionist can recognize callers who are already ERPNext leads, register new callers as leads with their name, phone number, and a note on what they need, and leave a comment on existing leads, so your sales team can call them back. ERPNext and the Frappe framework accept a static API key and secret and JSON request bodies, so this works on Frappe Cloud and self-hosted sites.
Before you start
Create an API user
In ERPNext, create a user for Reception.ai, for example reception@yourcompany.com, and give it only the Sales User role. API requests run with this user’s permissions, so don’t use an administrator.
Generate the keys
Open the user, select the Settings tab, expand API Access, and select Generate Keys. Copy the API Secret from the popup right away: ERPNext only shows it once. The API Key stays visible in the same section.
Every tool below sends a request header named Authorization with the value token API_KEY:API_SECRET, with your key and secret joined by a colon. Set its Type to Secret.
The key and secret can read and change everything the Sales User role allows. Keep them out of shared documents, and select Generate Keys again to replace them if they leak.
Create the tools
For each tool, go to Integrations, select Add integration, choose Webhook Tool, and set Assign to agents to Receptionist. Set Value to Fixed value for every parameter marked “Always” below.
Find a lead
Register a new lead
To set where leads came from, add source (string) as a fixed value that matches one of your Lead Source records exactly. On ERPNext 16 and later, the field is utm_source instead, and it must match a UTM Source record.
notes fills the lead’s Notes tab. Give it the description “Send exactly one item, with what the caller needs.” Under Each item, choose object, then select Add field for each of these:
note(string, required): “What the caller needs, and when they’d like a call back.”added_by(string): Always the API user’s email address.
Log the call details
Select Enable on each tool, then test your receptionist as a new caller who asks to be called back. The lead appears in your Lead list, owned by your salesperson, with your receptionist’s comment.
Add a procedure for callers: find the lead, then either register them with a note if they aren’t found, or log the call details on the lead that was found. Add a rule that your receptionist never reads lead records back to callers.
Your receptionist writes the search filter from the conversation, so a caller could try to get it to search for other people’s leads. The tool only returns up to five names and statuses, but keep the rule above in place. If Sales User gives more access than you want, such as customers and quotations, create a custom role that can only read, create, and comment on leads.
Limitations
- The search looks for the last seven digits of the number. Numbers stored with spaces or dashes inside those digits aren’t found, and two callers can share the same last seven digits.
- This setup only covers leads. Your receptionist doesn’t search contacts or customers, or create opportunities.