Spreadsheet import
From the leads list on the web or the phone. Choose an .xlsx or .csv, match its columns to lead fields, and see who will come in and which rows will be skipped, and why, before anything is written. Up to 5,000 rows at a time.
Get leads in, work them down, hand the good ones to an account. BottleCRM does that part properly and does not pretend to do the rest.
Unlimited leads, unlimited users. MIT licensed, self-host it anywhere.
Status, rating, source and the date you said you would call back. Filter it, sort it, and the next hour of your day is decided.
No connector marketplace and no scraping. Your own site posts to your own endpoint, or you bring a file.
From the leads list on the web or the phone. Choose an .xlsx or .csv, match its columns to lead fields, and see who will come in and which rows will be skipped, and why, before anything is written. Up to 5,000 rows at a time.
Build it in Settings, paste the snippet on your site, and what people fill in arrives here as a lead with its owner, source and tags already set. No account for the visitor and no key in your page. A repeat address updates the lead it already has rather than making a second one.
Each webhook gets its own URL, with presets for Google Ads lead forms, Tally and Gravity Forms, or a generic field mapping for anything else. A repeat enquiry merges into the lead it belongs to, matched on the source's own id, then email, then phone number, and phone numbers match across formats. Lead sources are yours to edit, and the sub-source and reference follow the lead to its contact and deal. Self-hosters can also forward email to a lead address, with Amazon SES, Postmark or Mailgun.
Forward the enquiry emails a listing portal or your website sends you to a lead address, and each one becomes a lead, with the enquirer's name, email and phone read from the message. On hosted BottleCRM, Settings makes the address for you. Spam and mail that fails its sender's domain check are dropped, and a repeat enquiry merges into the lead it belongs to.
Every field the form collects is a field the REST API accepts, so anything that can make an HTTP request can file a lead.
The full form on web and on the phone, with your custom fields rendered alongside the built-in ones, on the form and on the record page.
Incoming leads are checked against what you already hold, so an import does not quietly double your list. The new-lead form warns while you type, and two leads that turn out to be one person merge into one, on the web and the phone.
Marketing automation is a different product. This page used to claim most of it. It does not any more, because none of it was ever in the code.
The source is public. Every claim above can be checked against it.
The lead model, the import and the conversion path are all in the open repository.
No. There is no scoring engine, no behavioural model and no qualification framework. What you get instead is a rating field you set yourself, hot, warm or cold, alongside status, source, industry and any custom fields you add. If a scoring system matters to your process, the API gives you every field you would need to compute one outside the CRM and write it back to a custom field.
Six ways. A spreadsheet import with a preview step, a web form you embed on your own site with no key in the page, a lead webhook per source (with presets for Google Ads, Tally and Gravity Forms), forwarded email to a lead address (made for you on hosted BottleCRM), the create form on web and mobile, and the REST API directly. An import skips a lead you already hold, matched on email, phone or name, and a repeat enquiry from a form or webhook merges into that lead instead of creating a second one.
It becomes an account, with an opportunity if you want one, and the lead status is set to converted. That transition is deliberately one-way: the backend refuses to move a converted lead back, because the account it produced is now the record of truth and two live copies of one customer is how data goes wrong.
Yes, on the web and the phone. A lead pipeline lays leads out in columns by stage, and an admin defines the pipelines and their stages in Settings. Leads that are not in the pipeline sit in a No stage lane, and you can move one back there to take it out of the pipeline. Conversion still happens from the lead itself, not from the board.
Yes. The Export button on the leads list, on the web or the phone, downloads a CSV of the list with your filters applied, and only the leads you are allowed to see.
Yes, two ways. A web form can hand its new leads out in turn between members. An admin can also write an automation rule, such as "when a lead is created and its rating is Hot, assign it in turn between three people and create a call task due tomorrow". A rule runs however the lead arrives, through a form, an email or the API, except a spreadsheet import, which sets no rule off.
Yes. Custom fields are defined per organisation, in text, number, date, dropdown and checkbox types. They are filterable in the list, they show on every record page and form on both the web and the phone, and they come back through the API, so a field you add is available everywhere rather than only on the screen you added it from.
No per-seat fee, no lead cap, no trial clock. Host it yourself, or let RunCode run it.