Bevatel Integration Requirement & User Guide

Bevatel Integration Requirement & User Guide

Bevatel Integration Requirement & User Guide


1. Executive Summary

Purpose

This document is the single authoritative reference for everyone involved in planning, selling, and delivering integrations between Bevatel products and third-party systems. It defines exactly what information must be collected before any integration work can begin, and it standardises how that information flows from the Sales team to the Technical/Integration team.

Problem Statement

Bevatel's Sales and Account Management teams routinely receive client requests such as:

*"We want to integrate your AI Agent with our CRM."*

These requests arrive without critical details — which CRM, which module, what API type, who owns the system, what data must flow, and in which direction. The result is:

  • Delayed delivery timelines
  • Multiple rounds of back-and-forth communication
  • Incorrect scope estimations
  • Integration failures discovered late in delivery
  • Poor client experience

What This Document Solves

ProblemSolution Provided Here
Incomplete integration requestsMandatory Discovery Checklist (Section 3)
Unclear integration typesIntegration Overview with scenarios (Section 2 & 4)
Data confusionData Flow & Field Mapping definitions (Section 5 & 6)
Technical gaps discovered lateTechnical Requirements checklist (Section 7)
Repeated Sales mistakesCommon Mistakes guide (Section 8)
No clear handoff processStandard SOP from Sales to Engineering (Section 9)

2. Integration Overview

Bevatel offers four core products that can be integrated with each other or with external third-party systems:

Bevatel ProductDescription
**Business Chat**WhatsApp, social, and messaging inbox
**Call Center**Cloud telephony, IVR, and call management
**CRM**Bevatel's native customer relationship management
**AI Agent**Conversational AI for voice and chat automation

2.1 Supported Integration Types

Type A — AI Agent ↔ CRM (External or Internal)

The AI Agent listens to or conducts conversations and pushes or pulls structured data from a CRM system. This is the most technically complex integration type.

Examples:

  • AI Agent collects caller name, phone, and inquiry → Creates a Lead in Zoho CRM
  • AI Agent checks an order status by querying Shopify via API
  • AI Agent creates a support ticket in Zendesk after a call ends

Type B — Business Chat ↔ CRM

When a customer sends a WhatsApp message (or any Business Chat channel message), an automated workflow reads or writes data in a CRM.

Examples:

  • New WhatsApp message from unknown number → Contact automatically created in HubSpot
  • Customer identified by phone number → Existing Zoho Lead returned to agent
  • Customer data updated in HubSpot → Synced back to Bevatel contact record (bidirectional)

Type C — Call Center ↔ CRM

Phone calls trigger CRM actions such as creating contacts, logging call details, or screen-popping agent consoles with caller data.

Examples:

  • Inbound call → Caller identified → Odoo contact profile displayed to agent
  • Call ends → Disposition and call duration logged as a CRM activity
  • New call from unknown number → CRM Lead created automatically

Type D — AI Agent ↔ Bevatel Products

The AI Agent operates within the Bevatel ecosystem and exchanges data between Bevatel's own products.

Examples:

  • AI Agent (voice) escalates to a live Call Center agent with full conversation context
  • AI Agent creates a ticket in Bevatel CRM after a chat session
  • AI Agent routes Business Chat conversation to correct queue based on intent

2.2 Integration Matrix

SourceTargetPossible?Notes
Business ChatZoho CRM (Leads)✅ YesLookup by phone; create if not found
Business ChatHubSpot (Contacts)✅ YesAuto-create + bidirectional sync
Business ChatOdoo (Contacts + Leads)✅ YesContact check + Lead creation
Business ChatZendesk (Tickets)✅ YesAuto ticket creation from message
Business ChatShopify (Orders)✅ YesOrder confirmation, shipping, cart recovery
AI Agent (Voice)External CRM✅ YesRequires REST API + Auth
AI Agent (Voice)Bevatel CRM✅ YesNative integration
Call CenterExternal CRM✅ YesWebhook or API
AI AgentAI Agent (Bevatel)✅ YesInternal routing/escalation
AnySAP / Custom ERP⚠️ PossibleRequires custom API review

3. Mandatory Discovery Questions

**⚠️ CRITICAL: No integration request may be submitted to the Technical team until ALL fields in this section are completed. Partial submissions will be returned without action.**

3.1 Integration Request Form

Section A — Client Information

#QuestionRequiredAnswer
A1Client / Company Name
A2Contact Person
A3Contact Email
A4Contact Phone
A5Account Manager Name
A6Request Date
A7Expected Go-Live Date

Section B — Integration Type & Purpose

#QuestionRequiredAnswer
B1What is the overall integration type?AI Agent ↔ CRM / Business Chat ↔ CRM / Call Center ↔ CRM / AI Agent ↔ Bevatel Product
B2What business problem does this integration solve?(Free text — must be specific)
B3Which Bevatel product is the source or destination?Business Chat / Call Center / CRM / AI Agent
B4Is this a new integration or a change to an existing one?New / Change to Existing

Section C — AI Agent Details (Fill only if integration involves an AI Agent)

#QuestionRequiredAnswer
C1Who built or owns the AI Agent?Bevatel / Client / Third Party
C2If Bevatel-built, what is the agent name / project ID?Conditional
C3If client-built, what platform is the AI Agent on?Conditional(e.g., Dialogflow, GPT API, Rasa, custom)
C4Does the AI Agent have an API that Bevatel can call?Yes / No
C5If Yes to C4, what is the API type?ConditionalREST / Webhook / GraphQL / Other
C6Is API documentation available? Provide link or attach.Link / Attached / Not Available
C7What is the authentication method for the AI Agent API?API Key / OAuth 2.0 / Basic Auth / JWT / None
C8What specific AI Agent capability is being integrated?(e.g., "Create a Lead after call ends", "Look up order status mid-call")

Section D — Third-Party System / CRM Details

#QuestionRequiredAnswer
D1Name of the CRM or third-party system(e.g., Zoho, HubSpot, Odoo, Zendesk, Shopify, SAP, Custom)
D2Who owns and manages this system?Client / Bevatel / Third Party Vendor
D3Which specific version or plan?(e.g., Zoho CRM Professional, HubSpot Sales Hub Free, Odoo 16 Enterprise)
D4Which module(s) will be used?(e.g., Leads, Contacts, Tickets, Orders, Invoices, Activities)
D5Which operations are needed on that module?Create / Read / Update / Delete
D6Does this system have a public REST API?Yes / No / Unknown
D7Is API documentation available? Provide link.Link / Not Available
D8What is the authentication method for this system's API?API Key / OAuth 2.0 / Basic Auth / JWT / SAML / Other
D9Are webhooks supported by this system?Yes / No / Unknown
D10Is there a sandbox / test environment available?Yes / No
D11What environment will go-live target?Production / Staging

Section E — Data Flow Definition

#QuestionRequiredAnswer
E1What data will Bevatel SEND to the external system?(List fields: e.g., Customer Name, Phone, Message Content, Call Duration)
E2What data will Bevatel RECEIVE from the external system?(List fields: e.g., Lead ID, Contact URL, Order Status, Ticket Number)
E3What is the direction of the data flow?One-Way (Bevatel → External) / One-Way (External → Bevatel) / Two-Way (Bidirectional)
E4What event / trigger initiates the data exchange?(e.g., "New WhatsApp message received", "Call ends with disposition X", "Customer types 'order status'")
E5How frequently does this data sync need to occur?Real-time / Every N minutes / Daily batch

Section F — Technical & Security Requirements

#QuestionRequiredAnswer
F1Are there known API rate limits on the external system?(e.g., 100 requests/min; or "Unknown")
F2Is IP whitelisting required by the external system?Yes / No
F3If Yes to F2, which Bevatel IP addresses need whitelisting?Conditional(Will be provided by Integration Team)
F4Is VPN access required to reach the external system?Yes / No
F5Are there data residency or compliance requirements?(e.g., GDPR, Saudi PDPL, HIPAA)
F6Is PII (Personally Identifiable Information) involved?Yes / No — List fields:
F7What should happen if the external API is unavailable?Fail silently / Retry / Alert agent / Queue and retry
F8What should happen if a required field is missing?Skip record / Create with defaults / Log error and halt

Section G — Acceptance & Sign-Off

#ItemRequired
G1Account Manager confirms all fields are complete
G2Client has been informed of integration scope
G3Client has access to create API keys or grant OAuth permissions
G4Test environment credentials will be provided by:
G5Target go-live date confirmed with client

4. Integration Scenarios

The following scenarios are real-world integration patterns Bevatel has delivered or supports. Sales and Account Managers may reference these when discussing options with clients.


Scenario 1 — Business Chat + Zoho CRM (Lead Lookup & Auto-Create)

Business Problem: Sales team using Zoho CRM needs to identify WhatsApp contacts instantly and avoid duplicate leads.

How It Works:

  1. Customer sends WhatsApp message to client's Bevatel Business Chat number
  2. Bevatel searches Zoho CRM Leads module using the customer's phone number
  3. If Lead exists: Returns the Zoho Lead URL directly in the Bevatel agent's console
  4. If Lead does not exist: Creates a new Lead in Zoho with name, phone, and source ("Bevatel - WhatsApp"), then returns the new Lead URL

Data Sent to Zoho: Customer phone number, name (if available), source label

Data Received from Zoho: Existing or newly created Lead ID + direct URL

Direction: Two-Way

Trigger: Incoming WhatsApp message

Prerequisites: Zoho CRM API Key, Leads module access, API documentation


Scenario 2 — Business Chat + HubSpot (Auto Contact Creation + Bidirectional Sync)

Business Problem: Client wants all WhatsApp contacts to automatically appear in HubSpot and have data stay in sync.

How It Works:

  1. New WhatsApp message arrives
  2. Bevatel checks if contact exists in HubSpot by phone number
  3. Bevatel creates a new HubSpot Contact with name, phone, and source tag "Bevatel - WhatsApp" if not found
  4. Returns the HubSpot Contact URL to the agent
  5. When HubSpot agent updates name, email, phone, or status → Bevatel workflow automatically syncs the update back into Bevatel's contact record

Data Sent to HubSpot: Name, phone, source

Data Received from HubSpot: Contact record, contact URL

Direction: Two-Way (bidirectional sync)

Trigger: Inbound message (Bevatel → HubSpot); HubSpot record update (HubSpot → Bevatel)


Scenario 3 — Business Chat + Odoo (Contacts, Leads, Invoice Delivery)

Business Problem: Client runs Odoo as their ERP and needs WhatsApp to act as a customer-facing channel with full CRM awareness.

How It Works:

  1. WhatsApp message received → System checks Odoo Contacts by phone number
  2. If not found, a new Contact is created in Odoo
  3. A Lead is automatically created in Odoo CRM from the WhatsApp conversation
  4. Sales team can send an invoice PDF directly from Odoo to the customer's WhatsApp number

Data Sent to Odoo: Phone number, name, source, message content

Data Received from Odoo: Contact profile, Lead ID

Direction: Two-Way

Modules Involved: Contacts, CRM (Leads), Invoicing


Scenario 4 — Business Chat + Zendesk (Automatic Ticket Creation)

Business Problem: Support team needs every WhatsApp inquiry or complaint to become a trackable Zendesk ticket automatically.

How It Works:

  1. Customer sends inquiry or complaint via WhatsApp
  2. The automated response system captures the message text and phone number
  3. A Zendesk ticket is automatically created with the message content, customer phone, and channel source
  4. Support team receives the ticket and can respond from Zendesk

Data Sent to Zendesk: Phone number, message text, channel source

Data Received from Zendesk: Ticket ID, ticket URL

Direction: One-Way (Bevatel → Zendesk for ticket creation)

Trigger: Incoming WhatsApp message with inquiry/complaint keyword or bot intent


Scenario 5 — Business Chat + Shopify (E-Commerce Customer Journey Automation)

Business Problem: E-commerce client wants post-purchase communication and cart recovery via WhatsApp.

How It Works:

  1. New customer signup → Automatic welcome message sent via WhatsApp
  2. Order placed → Order confirmation with order number sent immediately via WhatsApp
  3. Order shipped → Shipping tracking link sent automatically
  4. Cart abandoned without payment → Reminder message sent via WhatsApp with recovery link
  5. Order delivered + 1 day → Instructions or manual sent to customer
  6. Customer replies with order number → Bot looks up Shopify order status and returns tracking link

Data Received from Shopify: Order status, order number, tracking link, cart contents, delivery date

Direction: One-Way trigger from Shopify events → Bevatel sends WhatsApp messages

Trigger: Shopify webhooks (order.created, order.fulfilled, cart.abandoned, etc.)


Scenario 6 — Bevatel AI Agent (Voice) + External CRM

Business Problem: Client wants their voice AI Agent to create CRM records automatically after an AI-handled call.

How It Works:

  1. Customer calls the client's AI Agent
  2. AI Agent conducts the conversation, collects structured data (name, phone, inquiry)
  3. After call ends (or at any defined moment), Bevatel AI Agent calls the external CRM's API
  4. CRM Lead / Contact / Ticket is created with the collected data
  5. Optional: AI Agent queries CRM mid-call for real-time data (e.g., account balance, order status)

Critical Prerequisites:

  • AI Agent must be Bevatel-built, OR the client-built AI Agent must expose a SIP Integration
  • External CRM must have a REST API
  • Authentication credentials (API key / OAuth token) must be provided
  • Specific CRM module and field mapping must be defined

Scenario 7 — AI Agent Escalation to Bevatel Call Center

Business Problem: AI Agent reaches conversation limits and needs to transfer to a live human agent with context.

How It Works:

  1. AI Agent detects escalation trigger (customer request, complexity, or timeout)
  2. AI Agent packages conversation context (summary, customer data, intent)
  3. Bevatel routes call or chat to available live agent with full context pre-loaded
  4. Live agent sees conversation history and does not ask customer to repeat information

Direction: Internal — AI Agent → Call Center

Trigger: Escalation intent detected by AI


5. Data Flow Definition

Every integration must have a clearly documented data flow. The following framework must be used.

5.1 Core Data Flow Concepts

ConceptDefinition
**Data Source**The system where the data originates
**Data Destination**The system receiving the data
**Trigger**The event that causes data to move
**Payload**The exact data fields being transferred
**Direction**One-Way or Two-Way
**Frequency**Real-time, scheduled, or event-driven

5.2 Example Data Flow — Business Chat → Zoho CRM


TRIGGER: Incoming WhatsApp message

DATA SENT (Bevatel → Zoho):
- phone_number: "+966XXXXXXXXX"
- first_name: "Ahmed"
- source: "Bevatel - WhatsApp"

LOOKUP LOGIC:
- Search Zoho Leads by phone_number
- If FOUND → Return lead_url
- If NOT FOUND → Create Lead → Return new lead_url

DATA RECEIVED (Zoho → Bevatel):
- lead_id: "ZCRMxxxx"
- lead_url: "https://crm.zoho.com/crm/..."

DIRECTION: Two-Way
FREQUENCY: Real-time (per message)

5.3 Example Data Flow — Shopify → Business Chat (Order Confirmation)


TRIGGER: Shopify Webhook — order.created

DATA RECEIVED (Shopify → Bevatel):
- order_id
- customer_phone
- customer_name
- order_number
- total_price
- currency

ACTION: Bevatel sends WhatsApp message to customer_phone

DATA SENT (Bevatel → Customer):
- WhatsApp message with order confirmation text + order_number

DIRECTION: One-Way (Shopify event → Bevatel → Customer)
FREQUENCY: Real-time, event-driven

5.4 Data Flow Direction Reference

DirectionSymbolMeaning
One-Way (Push)Bevatel → SystemBevatel sends data to external system
One-Way (Pull)System → BevatelExternal system sends data to Bevatel (webhook)
Two-WayBevatel ↔ SystemData flows in both directions
ConditionalBevatel → System, System → Bevatel (on condition)Read then write, or lookup then create

6. Field Mapping Concept

Field mapping is the process of defining which data field in System A corresponds to which field in System B. This is required for every integration and must be confirmed before Technical team can begin development.

6.1 Why Field Mapping Matters

Different systems use different names for the same piece of information:

Data ConceptBevatel FieldZoho CRM FieldHubSpot FieldOdoo Field
Customer first name`contact_first_name``First Name``firstname``partner_name`
Customer phone`phone_number``Mobile``phone``mobile`
Lead source`source_channel``Lead Source``hs_analytics_source``source`
Company name`company_name``Company``company``partner_name`
Email address`email``Email``email``email`
Record link`crm_url``Lead URL``contact_url``record_url`

If field mapping is not declared, data ends up in the wrong field, or the integration fails entirely.


6.2 Field Mapping Template

For each integration, the Account Manager must complete a field mapping table with the client:

#Data ConceptBevatel Field NameExternal System Field NameData TypeRequired?Notes
1First Name`contact_first_name``First Name` (Zoho)TextYesMax 100 chars
2Phone Number`phone_number``Mobile` (Zoho)Text (+country code)YesMust include country code
3Source`source_channel``Lead Source` (Zoho)Text / PicklistYesValue: "Bevatel - WhatsApp"
4Email`email``Email` (Zoho)EmailNoMay be empty
5CRM Record URL(returned)`Lead URL` (Zoho)URLYesAuto-generated by Zoho

6.3 Data Type Rules

Data TypeValidation RequiredExample
Phone NumberMust include country code (+966)+966501234567
EmailMust be valid email formatahmed@example.com
DateMust be in ISO 8601 format2026-04-16
Booleantrue / false onlytrue
PicklistMust match exact value in target system"New" not "new"
TextMax length must be respectedCRM may reject > 255 chars

7. Technical Requirements

7.1 API Requirements

Every integration with an external system requires the following information to be verified:

RequirementDescriptionWhere to Find
**Base API URL**The root URL for all API callsCRM/system API documentation
**API Version**The specific version being usedAPI documentation (e.g., v2, v3)
**Endpoint List**Specific endpoints for each operationAPI documentation
**HTTP Methods**GET, POST, PUT, PATCH, DELETEAPI documentation
**Request Format**JSON / XML / Form DataAPI documentation
**Response Format**JSON / XMLAPI documentation
**Error Codes**List of meaningful error codesAPI documentation

7.2 Authentication Methods

Auth MethodHow It WorksExample SystemsNotes
**API Key**Key included in request header or queryZoho, ZendeskSimplest; key must be kept secret
**OAuth 2.0**Token-based; requires authorization flowHubSpot, Zoho (advanced)Tokens expire; need refresh logic
**Basic Auth**Username + password in Base64Some legacy CRMsLeast secure; use only over HTTPS
**JWT**Signed token included in Authorization headerCustom systemsShort-lived; must be renewed
**SAML**Enterprise SSO identity providerSAP, large enterpriseComplex; requires SSO config
**Security Rule:** All API credentials must be stored in Bevatel's secrets management system. Credentials must never be shared via email or chat messages.

7.3 Webhooks

Webhooks allow external systems to push data to Bevatel automatically when events occur (e.g., when an order is created in Shopify).

RequirementDetails
**Webhook URL**Bevatel will provide a unique HTTPS endpoint per client per integration
**Payload Format**Must be JSON (XML supported on request)
**Authentication**Webhook secret / HMAC signature verification recommended
**Retry Behavior**Bevatel supports retry handling; external system must also retry on failure
**Idempotency**Same event sent twice must not create duplicate records
**Event Types**Must be explicitly listed (e.g., order.created, order.fulfilled, cart.abandoned)

7.4 Rate Limits Reference

SystemDefault Rate LimitNotes
Zoho CRM5,000 API calls/day (Standard Plan)Increases with plan tier
HubSpot100 requests/10 secondsHigher tiers available
OdooDepends on server configurationMust confirm with client
Zendesk700 requests/minute (Enterprise)Lower on smaller plans
Shopify40 requests/app/minute (REST)Leaky bucket algorithm
Custom ERPUnknownMust be confirmed by client's IT team
**Action Required:** If expected message volume could approach rate limits, this must be flagged to the Technical team during discovery.

7.5 Security Considerations

AreaRequirement
**Data in Transit**All API communication must use HTTPS (TLS 1.2 or higher)
**Credentials Storage**Stored in Bevatel Vault; never in code or configuration files
**IP Whitelisting**If required by client, Bevatel Integration team provides static IP ranges
**PII Handling**Must comply with GDPR, Saudi PDPL, or client-specified compliance framework
**Logging**All API transactions logged; PII fields masked in logs
**Access Revocation**Client must be informed of how to revoke Bevatel's API access

8. Common Mistakes & Missing Information

The following table documents the most frequent failures from integration requests submitted without sufficient detail.

8.1 Incomplete Request Examples

❌ Common Bad Request❌ Why It Fails✅ What Was Needed
"Connect AI Agent with Zoho"No module specified, no API details, no data flow definedWhich Zoho module (Leads/Contacts/Deals), what operations, API credentials, data fields
"Integrate our CRM with Business Chat""Our CRM" is undefined; could be any systemCRM name, version, module, API availability, auth method
"Sync data between HubSpot and Bevatel""Sync" is vague — what data, which direction, which trigger?Specific fields to sync, sync direction, trigger event, frequency
"The client wants real-time AI integration"No AI Agent platform named; no API confirmedWho built the AI Agent, which platform, does it have an API, what auth method
"Make the bot create tickets"No ticket system named; no trigger definedWhich ticketing system (Zendesk, Freshdesk, etc.), what triggers the ticket creation, what data goes into the ticket
"Can we integrate with SAP?"SAP has 50+ modules and proprietary APIsWhich SAP module, which SAP API (BAPI, OData, SOAP), auth method, SAP system identifier
"The client will give us access later"Integration cannot be scoped without credentials or API docsAPI documentation link and sandbox credentials must be provided before any work begins

8.2 Sales Common Mistakes

MistakeImpactPrevention
Promising delivery dates before Technical reviewSets incorrect client expectationsAlways get Technical scope estimate before quoting timelines
Omitting the client's external system versionAPI behavior differs significantly across versionsAlways ask for version and plan in the discovery form
Not confirming API availabilitySome CRM plans do not include API accessExplicitly ask "Does your current CRM plan include API access?"
Ignoring data compliance questionsIntegration may violate GDPR or Saudi PDPLAlways ask about PII and applicable compliance frameworks
Assuming "connection" means bidirectional syncOne-way integrations are far simpler and cheaperClarify direction explicitly with the client

8.3 Technical Issues Caused by Missing Information

Missing InformationTechnical Consequence
No field mapping providedDeveloper must guess; wrong fields populated in CRM
No error handling definedIntegration crashes or data is silently lost on failure
No sandbox environmentTesting in production may corrupt live client data
Rate limit not confirmedIntegration throttled in production; data loss
No trigger event definedDeveloper cannot build the integration entry point
No auth method confirmedCannot establish API connection at all

9. Standard Operating Procedure (SOP)

This SOP defines the mandatory steps from the moment a client requests an integration to the moment the Technical team begins implementation.

9.1 Overview


Client Request → Sales Discovery → Form Completion → AM Review →
Technical Assessment → Scoping & Estimation → Client Approval →
Development → Testing → Go-Live

9.2 Step-by-Step Process

Step 1 — Initial Client Request (Sales)

  • Owner: Sales Representative
  • Actions:

1. Listen to the client's integration request

2. Do NOT make any promises about delivery timeline, cost, or feasibility

3. Explain that a structured discovery process is required

4. Schedule a 30-minute discovery call with the client

  • Output: Discovery call scheduled

Step 2 — Discovery Call (Sales + Account Manager)

  • Owner: Account Manager (Sales may attend)
  • Actions:

1. Use this document's Section 3 (Discovery Questions) as the call agenda

2. Walk through each section with the client

3. Record all answers in the Integration Request Form (digital or PDF)

4. Identify if the client needs to check any answers with their IT team

5. If answers are incomplete, schedule a follow-up session

  • Output: Completed Integration Request Form (all sections A through G)

Step 3 — AM Internal Review

  • Owner: Account Manager
  • Actions:

1. Review the completed form for any missing or inconsistent answers

2. Confirm the client has confirmed access to API keys or OAuth permissions

3. Confirm sandbox environment details are included

4. Cross-check Section B (integration type) matches Sections C, D, E

  • Gate: Do not proceed if any required (✅) field is blank
  • Output: Validated Integration Request Form

Step 4 — Technical Review & Assessment

  • Owner: Integration Engineering Team
  • Timeline: Within 2 business days of receiving validated form
  • Actions:

1. Review all technical fields (Sections C, D, E, F)

2. Validate API availability by reviewing documentation link

3. Identify technical risks or unknowns

4. Define implementation approach (webhook, REST API polling, workflow engine)

5. Produce a Technical Assessment document with: scope, effort estimate, risks, open questions

  • Output: Technical Assessment + Effort Estimate

Step 5 — Scoping & Client Approval

  • Owner: Account Manager
  • Actions:

1. Receive Technical Assessment from Engineering team

2. Prepare proposal for client including: scope, cost, timeline

3. Confirm delivery timeline only after Engineering estimate is received

4. Obtain client written approval of scope

  • Output: Signed scope / confirmed email approval from client

Step 6 — Development

  • Owner: Integration Engineering Team
  • Actions:

1. Create integration in development/sandbox environment

2. Build data flows according to field mapping (Section 6)

3. Implement error handling as defined in discovery (Section F7, F8)

4. Complete unit testing with sandbox credentials

  • Output: Working integration in test environment

Step 7 — UAT (User Acceptance Testing)

  • Owner: Account Manager + Client
  • Actions:

1. AM coordinates test session with client

2. Client validates each defined scenario works correctly

3. Any issues logged and resolved by Engineering team

4. Signed UAT sign-off from client

  • Output: UAT sign-off

Step 8 — Go-Live

  • Owner: Integration Engineering Team + Account Manager
  • Actions:

1. Engineering switches from sandbox to production credentials

2. Monitor integration for 24–48 hours post go-live

3. AM confirms with client that integration is operational

4. Handover documentation provided to client

  • Output: Live integration, handover document

9.3 SOP Summary Table

StepNameOwnerTimelineGate
1Initial Client RequestSalesDay 0Discovery call scheduled
2Discovery CallAccount ManagerDay 1–3Completed form
3AM Internal ReviewAccount ManagerDay 3–4Validated form
4Technical AssessmentIntegration EngineeringDay 4–6Technical estimate
5Scoping & Client ApprovalAccount ManagerDay 6–8Client approval
6DevelopmentIntegration EngineeringDay 8–20Working integration in test
7UATAM + ClientDay 20–23UAT sign-off
8Go-LiveEngineering + AMDay 23–25Live + monitored
**Note:** Timelines are estimates for standard integrations. Complex SAP or custom ERP integrations may require 45–90 days.

9.4 Escalation Rules

SituationAction
Client cannot provide API documentationPause request; escalate to client's IT team; do not proceed
API does not support required operationEscalate to Product team to evaluate workaround
Integration scope expands mid-developmentRaise a Change Request; obtain new client approval
Third-party system changes API during developmentPause development; re-assess; notify client
Client requests go-live in less than 2 weeksEscalate to Integration Manager for priority assessment

10. FAQ

Q1: A client says "just connect AI with CRM" — what do I do?

A: This is considered an incomplete request. Tell the client you need to schedule a 30-minute discovery call and that you will send them the Integration Requirement Form to fill before the call. Do not commit to anything or register the request with the Technical team until the form is complete.


Q2: The client says their CRM has an API but they don't have documentation. Can we still start?

A: No. API documentation is mandatory. Without it, the Engineering team cannot define the correct endpoints, request format, response format, or error handling behavior. Ask the client to request API documentation from their CRM vendor. Most enterprise CRMs publish documentation online (e.g., Zoho: developer.zoho.com, HubSpot: developers.hubspot.com).


Q3: Can we integrate with any CRM the client uses?

A: Bevatel can integrate with any CRM or system that offers a REST API with standard authentication. Systems without APIs (e.g., legacy systems with only a desktop UI) cannot be directly integrated without custom middleware — which would require senior Engineering evaluation. Always confirm API availability in Section D of the form.


Q4: What if the client wants one-way sync? Is that simpler?

A: Yes, significantly. One-way integrations (e.g., Bevatel pushes data to CRM only) require no webhook setup on Bevatel's side and less error-handling logic. Always clarify direction in Section E of the form. Two-way sync doubles the complexity and scope.


Q5: The client says the AI Agent was built by a third party and that company will "handle the connection." What does this mean for Bevatel?

A: If a third-party built the AI Agent, Bevatel still needs to understand how the AI Agent communicates with Bevatel's systems. Ask:

  • Does the third-party AI Agent expose a REST API that Bevatel can call?
  • Does it support incoming webhooks from Bevatel?
  • Who provides API documentation and credentials?

Bevatel cannot integrate with a "black box" system.


Q6: What if the client is on a CRM free plan that doesn't include API access?

A: The client must upgrade their CRM plan to one that includes API access before any integration can proceed. This is the client's responsibility. Bevatel can advise on which plan tier typically includes API access for common CRMs:

  • Zoho CRM: Standard plan and above
  • HubSpot: Starter and above
  • Zendesk: Suite Team and above
  • Odoo: All plans (self-hosted or cloud)
  • Shopify: All plans include API access

Q7: What is a sandbox environment and why is it required?

A: A sandbox is a test version of a system that is isolated from production data. It is required because:

  1. Integration testing on production systems can corrupt real client data
  2. API errors in production affect real customers
  3. Bevatel Engineering must test all scenarios before go-live

Any client refusing to provide sandbox credentials must be informed of the risk and provide written acceptance if they insist on production-only testing.


Q8: Can Bevatel AI Agent query a CRM mid-call in real time?

A: Yes, but this requires the CRM to return responses within 2–3 seconds. Slow APIs cause voice pauses that degrade the customer experience. The Engineering team must test response times in the sandbox before committing to this scenario. This must be noted in Section D of the requirement form.


Q9: How long does a typical integration take to deliver?

A: Standard integrations (Business Chat ↔ Known CRM like Zoho, HubSpot, Odoo) typically take 10–15 business days from receiving a validated requirement form. Complex integrations (AI Agent ↔ Custom ERP, SAP, multi-module bidirectional sync) can take 30–90 days. Do not quote timelines to clients before receiving the Technical Assessment from Engineering.


Q10: Do we support integrations with WhatsApp directly (without Business Chat)?

A: Bevatel Business Chat uses the official WhatsApp Business API. Any WhatsApp integration is therefore delivered through Business Chat. If a client has their own WhatsApp Business API account and wants to connect it to Bevatel, this is a separate technical discussion — escalate to the Product team.


Appendix A — Glossary

TermDefinition
**API**Application Programming Interface — a set of rules that allows two software systems to communicate
**REST API**A common API design style using HTTP methods (GET, POST, etc.)
**Webhook**A mechanism where one system automatically notifies another when an event occurs
**OAuth 2.0**A secure token-based authentication standard
**API Key**A unique secret string used to authenticate API requests
**Payload**The data content included in an API request or response
**Field Mapping**The process of linking a field in one system to the corresponding field in another
**Sandbox**A test environment isolated from real (production) data
**Rate Limit**The maximum number of API requests allowed in a given time window
**Idempotency**Property ensuring that sending the same request multiple times does not create duplicates
**PII**Personally Identifiable Information — data that identifies a real person
**UAT**User Acceptance Testing — validation by the client before go-live
**SOP**Standard Operating Procedure — a defined repeatable process
**Two-Way Sync**Data flows in both directions between two systems
**IP Whitelisting**Restricting API access to specific IP addresses

Appendix B — Quick Reference Card (For Sales Team)

Print or share this section with the Sales team for use during initial client calls.

Before You Promise Anything, Ask These 5 Questions:

  1. Which Bevatel product is involved? (Business Chat / Call Center / CRM / AI Agent)
  2. Which external system do they want to connect? (Zoho / HubSpot / Odoo / Custom / Other — get the exact name and version)
  3. Does that system have an API? (Ask: "Does your current plan include API access?")
  4. What should happen when a specific event occurs? (e.g., "When a customer sends a WhatsApp message, what do you want to happen in your CRM?")
  5. What data should move, and in which direction? (Bevatel to CRM, CRM to Bevatel, or both?)


Document maintained by Bevatel Product & Integration Team. For updates or corrections, contact the Integration Manager.

Version 1.0 — April 2026
Mohamed Elnagar


    • Related Articles

    • HubSpot

      1. Automatic Customer Data Logging This feature automatically logs customer data in HubSpot when they message you on WhatsApp. Step 1: A customer sends a message to your business WhatsApp number in BBC. Step 2: The HubSpot system automatically ...
    • Shopify

      1. Automated Order Notifications via WhatsApp Keep customers informed at every stage of the order process with automated WhatsApp messages. Welcome & Order Confirmation: When a customer places a new order on your Shopify store, an automatic WhatsApp ...