My Chatsimple
  • Chatsimple website
  • ✨Add Chatsimple to Your Website
    • General Websites
    • Google Tag Manager
    • Google Tag Manager Integration
    • Go Daddy
    • WordPress
    • Webflow
    • Wix
    • Shopify
    • Show only for Specific Pages, Countries, Times or Subset of visitors
    • Google Sites
  • Connect Chatsimple to your CRM
    • Pipedrive Integration
    • Zoho Integration
    • HubSpot Integration
    • Zapier API documentation
  • 🎨Widget specifics
    • Widget Customization
    • Block Chat Interface (<iframe>)
    • Common Questions and Answers
    • ?
  • 💪UNLOCK FULL POWER OF CHATSIMPLE
    • ⚙️Configure Chatsimple - AI Nav
    • 👩‍🎨Personalize look and feel
    • 👟Train your AI chatbot
    • 🗣️Content creation
    • ⛓️Facebook integration
    • 🛃Integrate with Hubspot
    • 📊Dashboard and Insights Update
    • 🥇Get better google search rankings
    • 👨‍💼Lead Capture Qualification Followup with personalized email
    • ⏰Book MORE meetings with Calendly integration
    • 🎙️AI Copilot with Voice Search
  • Improving Response Quality
    • 🖌️Finetune your Agent's Responses
    • 🏌️Set your business goals
    • 🪞Mirror brand personality
  • Contact
    • Email
Powered by GitBook
On this page
  • Base URL
  • Authentication
  • Subscribe
  • Unsubscribe
  • Get Leads
  1. Connect Chatsimple to your CRM

Zapier API documentation

Documentation for Zapier API endpoints

Base URL

The base URL we are using for the current version of our Zapier endpoints is https://api.expertise.ai/v0/users this will be referred to as {{BASE_URL}}.

Authentication

This is the endpoint that Zapier calls when a user is attempting to log into Chatsimple.

It lives at {{BASE_URL}}/zapier.

Request:

const options = {
  url: '{{BASE_URL}/zapier',
  method: 'GET',
  headers: {
    'Content-Type': 'application/json',
    'Accept': 'application/json',
    'X-HTML-SNIPPET': html_snippet,
    'X-API-KEY': api_key,
  },
};

return z.request(options)
  .then((response) => {
    response.throwForStatus();
    const results = response.json;

    return results;
})

html_snippet contains the user_id and chatbot_id.

api_key is the api_key given by Chartsimple.

Response:

A successful call will authorize the user:

return {'status': 'success', 'user_id': user_id, 'chatbot_id': chatbot_id}, 200

user_id and chatbot_id are returned to make a connection label in Zapier.

Subscribe

This is the endpoint Zapier calls to subscribe to a webhook.

It lives at {{BASE_URL}}/zapier/subscribe.

Request:

const options = {
  url: ' {{BASE_URL}}/zapier/subscribe',
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Accept': 'application/json',
    'X-API-KEY': api_key,
    'X-USER-ID': user_id,
    'X-CHATBOT-ID': chatbot_id,
    'X-HOOKURL': bundle.targetUrl
  }
};

return z.request(options)
  .then((response) => {
    response.throwForStatus();
    const results = response.json;

    return results;
  });

html_snippet can be parsed for the user_id and chatbot_id.

api_key is the api_key given by Chartsimple.

bundle.targetUrl is the hook URL given by Zapier.

Response:

A successful call will subscribe the user:

const leads_list = leads.map(lead => ({
    created_on: lead.created_on,
    name: lead.name,
    email: lead.email,
    phone_number: lead.phone_number,
    questions: lead.questions
}));

return leads_list, 200

leads is the object that holds all the leads of a user.

Unsubscribe

This is the endpoint Zapier calls to unsubscribe to a webhook.

It lives at {{BASE_URL}}/zapier/unsubscribe.

Request:

const options = {
  url: '{{BASE_URL}}/zapier/unsubscribe',
  method: 'DELETE',
  headers: {
    'Content-Type': 'application/json',
    'Accept': 'application/json',
    'X-API-KEY': api_key,
    'X-USER-ID': user_id,
    'X-CHATBOT-ID': chatbot_id,
  }
};

return z.request(options)
  .then((response) => {
    response.throwForStatus();
    const results = response.json;

    return results;
  });

html_snippet can be parsed for the user_id and chatbot_id.

api_key is the api_key given by Chartsimple.

Response:

A successful call will unsubscribe the user:

const integration = {
    user_id = user_id,
    chatbot_id = chatbot_id,
    integration_id = integration_id,
    integration_type = 'ZAPIER',
    api_key = api_key,
    target_url = bundle.targetUrl,
}

return integration, 200

Get Leads

This is the endpoint Zapier calls to when the webhook is triggered.

It lives at {{BASE_URL}}/zapier/get_leads.

Request:

const options = {
  url: '{{BASE_URL}}/zapier/get_leads',
  method: 'GET',
  headers: {
    'Content-Type': 'application/json',
    'Accept': 'application/json',
    'X-API-KEY': api_key,
    'X-USER-ID': user_id,
    'X-CHATBOT-ID': chatbot_id,
  }
};

return z.request(options)
  .then((response) => {
    response.throwForStatus();
    const results = response.json;

    return results;
  });

html_snippet can be parsed for the user_id and chatbot_id.

api_key is the api_key given by Chartsimple.

Response:

A successful call will return the most recent lead:

const lead = {
    'created_on': leads.created_on, 
    'name': leads.name,
    'email': leads.email,
    'phone_number': leads.phone_number,
    'questions': leads.questions,
}

return lead, 200

leads is the object the most recent lead of a user.

PreviousHubSpot IntegrationNextWidget Customization

Last updated 1 year ago