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.
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:
| Problem | Solution Provided Here |
|---|---|
| Incomplete integration requests | Mandatory Discovery Checklist (Section 3) |
| Unclear integration types | Integration Overview with scenarios (Section 2 & 4) |
| Data confusion | Data Flow & Field Mapping definitions (Section 5 & 6) |
| Technical gaps discovered late | Technical Requirements checklist (Section 7) |
| Repeated Sales mistakes | Common Mistakes guide (Section 8) |
| No clear handoff process | Standard SOP from Sales to Engineering (Section 9) |
Bevatel offers four core products that can be integrated with each other or with external third-party systems:
| Bevatel Product | Description |
|---|---|
| **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 |
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:
When a customer sends a WhatsApp message (or any Business Chat channel message), an automated workflow reads or writes data in a CRM.
Examples:
Phone calls trigger CRM actions such as creating contacts, logging call details, or screen-popping agent consoles with caller data.
Examples:
The AI Agent operates within the Bevatel ecosystem and exchanges data between Bevatel's own products.
Examples:
| Source | Target | Possible? | Notes |
|---|---|---|---|
| Business Chat | Zoho CRM (Leads) | ✅ Yes | Lookup by phone; create if not found |
| Business Chat | HubSpot (Contacts) | ✅ Yes | Auto-create + bidirectional sync |
| Business Chat | Odoo (Contacts + Leads) | ✅ Yes | Contact check + Lead creation |
| Business Chat | Zendesk (Tickets) | ✅ Yes | Auto ticket creation from message |
| Business Chat | Shopify (Orders) | ✅ Yes | Order confirmation, shipping, cart recovery |
| AI Agent (Voice) | External CRM | ✅ Yes | Requires REST API + Auth |
| AI Agent (Voice) | Bevatel CRM | ✅ Yes | Native integration |
| Call Center | External CRM | ✅ Yes | Webhook or API |
| AI Agent | AI Agent (Bevatel) | ✅ Yes | Internal routing/escalation |
| Any | SAP / Custom ERP | ⚠️ Possible | Requires custom API review |
**⚠️ 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.**
| # | Question | Required | Answer |
|---|---|---|---|
| A1 | Client / Company Name | ✅ | |
| A2 | Contact Person | ✅ | |
| A3 | Contact Email | ✅ | |
| A4 | Contact Phone | ✅ | |
| A5 | Account Manager Name | ✅ | |
| A6 | Request Date | ✅ | |
| A7 | Expected Go-Live Date | ✅ |
| # | Question | Required | Answer |
|---|---|---|---|
| B1 | What is the overall integration type? | ✅ | AI Agent ↔ CRM / Business Chat ↔ CRM / Call Center ↔ CRM / AI Agent ↔ Bevatel Product |
| B2 | What business problem does this integration solve? | ✅ | (Free text — must be specific) |
| B3 | Which Bevatel product is the source or destination? | ✅ | Business Chat / Call Center / CRM / AI Agent |
| B4 | Is this a new integration or a change to an existing one? | ✅ | New / Change to Existing |
| # | Question | Required | Answer |
|---|---|---|---|
| C1 | Who built or owns the AI Agent? | ✅ | Bevatel / Client / Third Party |
| C2 | If Bevatel-built, what is the agent name / project ID? | Conditional | |
| C3 | If client-built, what platform is the AI Agent on? | Conditional | (e.g., Dialogflow, GPT API, Rasa, custom) |
| C4 | Does the AI Agent have an API that Bevatel can call? | ✅ | Yes / No |
| C5 | If Yes to C4, what is the API type? | Conditional | REST / Webhook / GraphQL / Other |
| C6 | Is API documentation available? Provide link or attach. | ✅ | Link / Attached / Not Available |
| C7 | What is the authentication method for the AI Agent API? | ✅ | API Key / OAuth 2.0 / Basic Auth / JWT / None |
| C8 | What specific AI Agent capability is being integrated? | ✅ | (e.g., "Create a Lead after call ends", "Look up order status mid-call") |
| # | Question | Required | Answer |
|---|---|---|---|
| D1 | Name of the CRM or third-party system | ✅ | (e.g., Zoho, HubSpot, Odoo, Zendesk, Shopify, SAP, Custom) |
| D2 | Who owns and manages this system? | ✅ | Client / Bevatel / Third Party Vendor |
| D3 | Which specific version or plan? | ✅ | (e.g., Zoho CRM Professional, HubSpot Sales Hub Free, Odoo 16 Enterprise) |
| D4 | Which module(s) will be used? | ✅ | (e.g., Leads, Contacts, Tickets, Orders, Invoices, Activities) |
| D5 | Which operations are needed on that module? | ✅ | Create / Read / Update / Delete |
| D6 | Does this system have a public REST API? | ✅ | Yes / No / Unknown |
| D7 | Is API documentation available? Provide link. | ✅ | Link / Not Available |
| D8 | What is the authentication method for this system's API? | ✅ | API Key / OAuth 2.0 / Basic Auth / JWT / SAML / Other |
| D9 | Are webhooks supported by this system? | ✅ | Yes / No / Unknown |
| D10 | Is there a sandbox / test environment available? | ✅ | Yes / No |
| D11 | What environment will go-live target? | ✅ | Production / Staging |
| # | Question | Required | Answer |
|---|---|---|---|
| E1 | What data will Bevatel SEND to the external system? | ✅ | (List fields: e.g., Customer Name, Phone, Message Content, Call Duration) |
| E2 | What data will Bevatel RECEIVE from the external system? | ✅ | (List fields: e.g., Lead ID, Contact URL, Order Status, Ticket Number) |
| E3 | What is the direction of the data flow? | ✅ | One-Way (Bevatel → External) / One-Way (External → Bevatel) / Two-Way (Bidirectional) |
| E4 | What event / trigger initiates the data exchange? | ✅ | (e.g., "New WhatsApp message received", "Call ends with disposition X", "Customer types 'order status'") |
| E5 | How frequently does this data sync need to occur? | ✅ | Real-time / Every N minutes / Daily batch |
| # | Question | Required | Answer |
|---|---|---|---|
| F1 | Are there known API rate limits on the external system? | ✅ | (e.g., 100 requests/min; or "Unknown") |
| F2 | Is IP whitelisting required by the external system? | ✅ | Yes / No |
| F3 | If Yes to F2, which Bevatel IP addresses need whitelisting? | Conditional | (Will be provided by Integration Team) |
| F4 | Is VPN access required to reach the external system? | ✅ | Yes / No |
| F5 | Are there data residency or compliance requirements? | ✅ | (e.g., GDPR, Saudi PDPL, HIPAA) |
| F6 | Is PII (Personally Identifiable Information) involved? | ✅ | Yes / No — List fields: |
| F7 | What should happen if the external API is unavailable? | ✅ | Fail silently / Retry / Alert agent / Queue and retry |
| F8 | What should happen if a required field is missing? | ✅ | Skip record / Create with defaults / Log error and halt |
| # | Item | Required |
|---|---|---|
| G1 | Account Manager confirms all fields are complete | ✅ |
| G2 | Client has been informed of integration scope | ✅ |
| G3 | Client has access to create API keys or grant OAuth permissions | ✅ |
| G4 | Test environment credentials will be provided by: | ✅ |
| G5 | Target go-live date confirmed with client | ✅ |
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.
Business Problem: Sales team using Zoho CRM needs to identify WhatsApp contacts instantly and avoid duplicate leads.
How It Works:
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
Business Problem: Client wants all WhatsApp contacts to automatically appear in HubSpot and have data stay in sync.
How It Works:
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)
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:
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
Business Problem: Support team needs every WhatsApp inquiry or complaint to become a trackable Zendesk ticket automatically.
How It Works:
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
Business Problem: E-commerce client wants post-purchase communication and cart recovery via WhatsApp.
How It Works:
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.)
Business Problem: Client wants their voice AI Agent to create CRM records automatically after an AI-handled call.
How It Works:
Critical Prerequisites:
Business Problem: AI Agent reaches conversation limits and needs to transfer to a live human agent with context.
How It Works:
Direction: Internal — AI Agent → Call Center
Trigger: Escalation intent detected by AI
Every integration must have a clearly documented data flow. The following framework must be used.
| Concept | Definition |
|---|---|
| **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 |
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)
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
| Direction | Symbol | Meaning |
|---|---|---|
| One-Way (Push) | Bevatel → System | Bevatel sends data to external system |
| One-Way (Pull) | System → Bevatel | External system sends data to Bevatel (webhook) |
| Two-Way | Bevatel ↔ System | Data flows in both directions |
| Conditional | Bevatel → System, System → Bevatel (on condition) | Read then write, or lookup then create |
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.
Different systems use different names for the same piece of information:
| Data Concept | Bevatel Field | Zoho CRM Field | HubSpot Field | Odoo 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.
For each integration, the Account Manager must complete a field mapping table with the client:
| # | Data Concept | Bevatel Field Name | External System Field Name | Data Type | Required? | Notes |
|---|---|---|---|---|---|---|
| 1 | First Name | `contact_first_name` | `First Name` (Zoho) | Text | Yes | Max 100 chars |
| 2 | Phone Number | `phone_number` | `Mobile` (Zoho) | Text (+country code) | Yes | Must include country code |
| 3 | Source | `source_channel` | `Lead Source` (Zoho) | Text / Picklist | Yes | Value: "Bevatel - WhatsApp" |
| 4 | `email` | `Email` (Zoho) | No | May be empty | ||
| 5 | CRM Record URL | (returned) | `Lead URL` (Zoho) | URL | Yes | Auto-generated by Zoho |
| Data Type | Validation Required | Example |
|---|---|---|
| Phone Number | Must include country code (+966) | +966501234567 |
| Must be valid email format | ahmed@example.com | |
| Date | Must be in ISO 8601 format | 2026-04-16 |
| Boolean | true / false only | true |
| Picklist | Must match exact value in target system | "New" not "new" |
| Text | Max length must be respected | CRM may reject > 255 chars |
Every integration with an external system requires the following information to be verified:
| Requirement | Description | Where to Find |
|---|---|---|
| **Base API URL** | The root URL for all API calls | CRM/system API documentation |
| **API Version** | The specific version being used | API documentation (e.g., v2, v3) |
| **Endpoint List** | Specific endpoints for each operation | API documentation |
| **HTTP Methods** | GET, POST, PUT, PATCH, DELETE | API documentation |
| **Request Format** | JSON / XML / Form Data | API documentation |
| **Response Format** | JSON / XML | API documentation |
| **Error Codes** | List of meaningful error codes | API documentation |
| Auth Method | How It Works | Example Systems | Notes |
|---|---|---|---|
| **API Key** | Key included in request header or query | Zoho, Zendesk | Simplest; key must be kept secret |
| **OAuth 2.0** | Token-based; requires authorization flow | HubSpot, Zoho (advanced) | Tokens expire; need refresh logic |
| **Basic Auth** | Username + password in Base64 | Some legacy CRMs | Least secure; use only over HTTPS |
| **JWT** | Signed token included in Authorization header | Custom systems | Short-lived; must be renewed |
| **SAML** | Enterprise SSO identity provider | SAP, large enterprise | Complex; 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.
Webhooks allow external systems to push data to Bevatel automatically when events occur (e.g., when an order is created in Shopify).
| Requirement | Details |
|---|---|
| **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) |
| System | Default Rate Limit | Notes |
|---|---|---|
| Zoho CRM | 5,000 API calls/day (Standard Plan) | Increases with plan tier |
| HubSpot | 100 requests/10 seconds | Higher tiers available |
| Odoo | Depends on server configuration | Must confirm with client |
| Zendesk | 700 requests/minute (Enterprise) | Lower on smaller plans |
| Shopify | 40 requests/app/minute (REST) | Leaky bucket algorithm |
| Custom ERP | Unknown | Must 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.
| Area | Requirement |
|---|---|
| **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 |
The following table documents the most frequent failures from integration requests submitted without sufficient detail.
| ❌ Common Bad Request | ❌ Why It Fails | ✅ What Was Needed |
|---|---|---|
| "Connect AI Agent with Zoho" | No module specified, no API details, no data flow defined | Which Zoho module (Leads/Contacts/Deals), what operations, API credentials, data fields |
| "Integrate our CRM with Business Chat" | "Our CRM" is undefined; could be any system | CRM 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 confirmed | Who 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 defined | Which 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 APIs | Which 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 docs | API documentation link and sandbox credentials must be provided before any work begins |
| Mistake | Impact | Prevention |
|---|---|---|
| Promising delivery dates before Technical review | Sets incorrect client expectations | Always get Technical scope estimate before quoting timelines |
| Omitting the client's external system version | API behavior differs significantly across versions | Always ask for version and plan in the discovery form |
| Not confirming API availability | Some CRM plans do not include API access | Explicitly ask "Does your current CRM plan include API access?" |
| Ignoring data compliance questions | Integration may violate GDPR or Saudi PDPL | Always ask about PII and applicable compliance frameworks |
| Assuming "connection" means bidirectional sync | One-way integrations are far simpler and cheaper | Clarify direction explicitly with the client |
| Missing Information | Technical Consequence |
|---|---|
| No field mapping provided | Developer must guess; wrong fields populated in CRM |
| No error handling defined | Integration crashes or data is silently lost on failure |
| No sandbox environment | Testing in production may corrupt live client data |
| Rate limit not confirmed | Integration throttled in production; data loss |
| No trigger event defined | Developer cannot build the integration entry point |
| No auth method confirmed | Cannot establish API connection at all |
This SOP defines the mandatory steps from the moment a client requests an integration to the moment the Technical team begins implementation.
Client Request → Sales Discovery → Form Completion → AM Review →
Technical Assessment → Scoping & Estimation → Client Approval →
Development → Testing → Go-Live
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
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
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
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
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
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
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
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
| Step | Name | Owner | Timeline | Gate |
|---|---|---|---|---|
| 1 | Initial Client Request | Sales | Day 0 | Discovery call scheduled |
| 2 | Discovery Call | Account Manager | Day 1–3 | Completed form |
| 3 | AM Internal Review | Account Manager | Day 3–4 | Validated form |
| 4 | Technical Assessment | Integration Engineering | Day 4–6 | Technical estimate |
| 5 | Scoping & Client Approval | Account Manager | Day 6–8 | Client approval |
| 6 | Development | Integration Engineering | Day 8–20 | Working integration in test |
| 7 | UAT | AM + Client | Day 20–23 | UAT sign-off |
| 8 | Go-Live | Engineering + AM | Day 23–25 | Live + monitored |
**Note:** Timelines are estimates for standard integrations. Complex SAP or custom ERP integrations may require 45–90 days.
| Situation | Action |
|---|---|
| Client cannot provide API documentation | Pause request; escalate to client's IT team; do not proceed |
| API does not support required operation | Escalate to Product team to evaluate workaround |
| Integration scope expands mid-development | Raise a Change Request; obtain new client approval |
| Third-party system changes API during development | Pause development; re-assess; notify client |
| Client requests go-live in less than 2 weeks | Escalate to Integration Manager for priority assessment |
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:
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:
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:
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.
| Term | Definition |
|---|---|
| **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 |
Print or share this section with the Sales team for use during initial client calls.
Document maintained by Bevatel Product & Integration Team. For updates or corrections, contact the Integration Manager.
Version 1.0 — April 2026
Mohamed Elnagar