Lead Intake API Documentation

Last updated: March 16, 2026

Overview

The OneCrew Lead Intake API allows external systems to submit lead data directly into OneCrew. This eliminates manual data entry and ensures every potential opportunity is automatically logged and available for your team to review and convert into projects.

Authentication

Generating an API Key

  1. Navigate to Settings in OneCrew

  2. Select Lead Intake from the Admin Settings panel

  3. Enable the Enable Lead Intake toggle

  4. In the API Keys section, click New API Key

  5. Enter a descriptive name (e.g., "Zapier Website Form")

  6. Click Generate

  7. Important: Copy and securely store the API key immediately - it will only be displayed once

  8. Check "I have saved the key" and click Done

API Key Format

API keys follow the format: oc{key}

Example: oc1_a7f3d9e2b1c4f6a8d3e5b7c9f2a4d6e8...

Authentication Header

Include your API key in the request header:

Authorization: Bearer oc1_your_api_key_here

Security Notes

  • API keys are one-way hashed and cannot be recovered

  • Keys cannot be retrieved after initial generation

  • Store keys securely (e.g., in a password manager)

Endpoint

Create Lead

Submit a new lead to OneCrew.

HTTP Method: POST

Endpoint: https://app.getonecrew.com/api/v0/lead-intake

Headers:

Content-Type: application/json
Authorization: Bearer YOUR_API_KEY

Request Body:

The request accepts a JSON object with lead information. Field names should match the mapping configured in your integration (e.g., Zapier).

{
  "contact_first_name": "string",
  "contact_last_name": "string",
  "contact_email": "string",
  "contact_phone_number": "string",
  "contact_street_address": "string",
  "contact_city": "string",
  "contact_state": "string",
  "contact_zip_code": "string",
  "account_name": "string",
  "account_email": "string",
  "site_name": "string",
  "site_street_address": "string",
  "site_city": "string",
  "site_state": "string",
  "site_zip_code": "string",
  "project_lead_source": "string",
  "project_note": "string"
}

Field Descriptions:

contact_first_name

contact_first_name

First name of the contact for the project

contact_last_name

Last name of the contact for the project

contact_title

Professional title of the contact for the project

contact_email

Email address for the contact for the project

contact_phone

Phone number for the contact for the project

contact_street

Street address for the contact for the project

contact_street2

Street address line 2 if needed for the contact for the project

contact_locality

City of the contact for the project

contact_region

State of the contact for the project

contact_postal_code

Zip code of the contact for the project

account_name

Name of the account associated with the project

account_email

Email address of the account associated with the project

account_phone

Phone number of the account associated with the project

account_street

Street address of the account associated with the project

account_street2

Street address line 2 if needed of the account associated with the project

account_locality

City of the account associated with the project

account_region

State of the account associated with the project

account_postal_code

Zip code of the account associated with the project

site_name

Name of the site for the project

site_street

Street address of the site for the project

site_street2

Street address line 2 if needed of the site for the project

site_locality

City of the site for the project

site_region

State of the site for the project

site_postal_code

Zip code of the site for the project

project_note

Comments/questions from the lead

project_lead_source

Source of the lead

Example Request:

{
  "contact_first_name": "Dave",
  "contact_last_name": "Harris",
  "contact_email": "dave.harris@mcdonalds.com",
  "contact_phone_number": "916-555-0100",
  "contact_street_address": "2331 Broadway",
  "contact_city": "Sacramento",
  "contact_state": "CA",
  "contact_zip_code": "95818",
  "account_name": "McDonald's",
  "site_name": "McDonald's - Sacramento",
  "site_street_address": "2331 Broadway",
  "site_city": "Sacramento",
  "site_state": "CA",
  "site_zip_code": "95818",
  "project_lead_source": "Website Lead Form",
  "project_note": "Requesting quote for parking lot resurfacing"
}

Success Response:

{
  "message": "Form data received successfully"
}

Error Responses:

Code

Description

400

Bad request - invalid data format

401

Unauthorized - invalid or missing API key

429

Rate limit exceeded

500

Internal server error

Zapier Integration

Setup Steps

  1. Create a Zap:

    • Log into Zapier and create a new Zap

    • Select your trigger app (e.g., Google Forms, Gravity Forms, HubSpot)

    • Choose the trigger event (e.g., "New Form Response")

    • Connect and configure your trigger app

  2. Add OneCrew Action:

    • Add an action step

    • Search for and select OneCrew

    • Choose Create Lead as the action event

    • Click "Connect a new account"

    • Paste your OneCrew API key

  3. Map Fields:

    • Map form fields to OneCrew lead fields

    • Use static text or combine fields for better organization

    • Example: Combine "Company Name" + "-" + "City" for site_name

  4. Test and Publish:

    • Test the action with sample data

    • Verify the lead appears in OneCrew Pipeline

    • Publish the Zap to activate

Field Mapping Tips

  • Combine fields: Create structured names like "McDonald's - Sacramento" for sites

  • Static values: Use consistent project_lead_source values (e.g., "Website Lead Form")

  • Multi-field notes: Combine multiple form responses into project_note

Permissions

To access Lead Intake:

  • Projects Write permission required to view and manage the Pipeline dashboard

  • Settings Manage permission required to generate/revoke API keys

Best Practices

  1. API Key Security: Never expose API keys in client-side code or public repositories

  2. Descriptive Naming: Use clear API key names for easier management

  3. Regular Review: Check the Pipeline regularly for new leads requiring action

  4. Data Quality: Ensure form data is validated before submission to minimize cleanup

Common Use Cases

  • Website Contact Forms: Capture inquiries from "Contact Us" or "Request a Quote" forms

  • Marketing Campaigns: Import leads from landing pages and special offer forms

  • Third-Party Platforms: Connect external lead generation services via Zapier

  • Event Registration: Import leads from trade shows and event scanners

  • Email Marketing: Sync responses from email campaigns

Troubleshooting

Lead not appearing in Pipeline:

  • Verify Lead Intake is enabled in Settings

  • Check API key is valid and correctly configured in Zapier

  • Confirm field mapping is complete in your Zap

  • Review Zapier task history for errors

Cannot create project:

  • Ensure Contact is selected or created (required)

  • Ensure Account is selected or created (required)

  • Check that all required fields have values

Match not found when expected:

  • Verify email addresses match exactly (case-insensitive)

  • Check phone numbers are formatted consistently

  • Review address fields for typos or format differences

Support

For assistance with Lead Intake, contact OneCrew support at support@getonecrew.com or visit https://support.getonecrew.com