CRMconnect Azuvio · Docs

Workflow: ArvisAI — Asistent AI & Transcriere Audio

Module implicate: ArvisAI (Chat · Image Generator · Audio Transcription · Audio Translation · Template Engine) · Tickets
Cine îl folosește: Orice staff cu acces activat · Support (auto-reply tichete)
Provider AI: Exclusiv OpenAI (GPT, DALL-E, Whisper)

Overview

ArvisAI este un hub de instrumente AI bazat exclusiv pe OpenAI. Oferă 5 funcționalități distincte accesibile din sidebar, plus o singură integrare automată cu CRM-ul: reply automat la deschiderea unui tichet.

Cele 5 instrumente:

Instrument Model OpenAI Scop
Chat GPT (configurabil) Conversație AI liberă per staff
Image Generator DALL-E 2 / DALL-E 3 Generare imagini din text
Audio Transcription Whisper-1 Upload audio → text (aceeași limbă)
Audio Translation Whisper-1 Upload audio → text în engleză
Template Engine GPT (configurabil) Generare text din șabloane cu variabile

Datele sunt private per utilizator. Toate istoricele (chat, imagini, transcrieri, documente) sunt filtrate după user_id = staff_curent. Nu există vizibilitate cross-user și nu există legătură cu înregistrări CRM (lead, client, proiect) — cu excepția reply-ului automat la tichete.

Transcriere și traducere: numai upload de fișier. Nu există înregistrare în timp real sau input via URL. Formate acceptate: .mp3, .m4a. Limita de mărime configurabilă (arvisai_audio_transcription_max_size).


Diagrama fluxului

[SETUP — admin, o singură dată]
  │
  ├── ArvisAI → Settings (admin only):
  │     ├── arvisai_openai_secret_key (API key OpenAI)
  │     ├── Chat model: GPT-3.5-turbo / GPT-4 / GPT-4o / GPT-5 etc.
  │     ├── Image model: default / DALL-E-2 / DALL-E-3
  │     ├── arvisai_audio_transcription_max_size (bytes, implicit ~100KB)
  │     ├── arvisai_audio_transcription_allowed_extensions (.mp3,.m4a)
  │     └── Auto ticket reply: arvisai_ai_autoreply_on_opening_ticket (0/1)
  │           arvisai_ai_reply_agent_name · agent_title · agent_staff_id
  │
  ↓
════════════════════════════════════
INSTRUMENT 1: CHAT
════════════════════════════════════
  │
  ├── ArvisAI → Chat → scrieți mesajul
  ├── POST /v1/chat/completions (streaming)
  ├── Răspuns stocat în arvisai_chat: human_message + ai_response
  └── Istoric vizibil doar staff-ului curent (filtrat pe user_id)
  │
════════════════════════════════════
INSTRUMENT 2: IMAGE GENERATOR
════════════════════════════════════
  │
  ├── ArvisAI → Image Generator → descrieți imaginea
  ├── POST /v1/images/generations (DALL-E)
  ├── Imagine descărcată de pe URL OpenAI → salvată local
  │     (modules/arvisai/uploads/generated_images/{id}/)
  └── Stocat în arvisai_images (user_id + local image_url)
  │
════════════════════════════════════
INSTRUMENT 3: AUDIO TRANSCRIPTION
════════════════════════════════════
  │
  ├── ArvisAI → Audio Transcription → Upload fișier (.mp3/.m4a)
  ├── Verificare: extensie permisă + mărime ≤ limită configurată
  ├── Fișier salvat local: uploads/audio_transcription/{id}/
  ├── POST /v1/audio/transcriptions (Whisper-1)
  │     → output: text în ACEEAȘI limbă ca audio-ul original
  └── Stocat în arvisai_audio_transcription: audio_file_path + transcription_text
  │
════════════════════════════════════
INSTRUMENT 4: AUDIO TRANSLATION
════════════════════════════════════
  │
  ├── ArvisAI → Audio Translation → Upload fișier (.mp3/.m4a)
  ├── POST /v1/audio/translations (Whisper-1)
  │     → output: ÎNTOTDEAUNA în engleză, indiferent de limba sursei
  └── Stocat în arvisai_translated_audio: audio_file_path + translated_text
  │
════════════════════════════════════
INSTRUMENT 5: TEMPLATE ENGINE
════════════════════════════════════
  │
  ├── ArvisAI → Templates → selectați template
  ├── Template are câmpuri variabile ({{variable_name}}) definite în custom_inputs JSON
  ├── Completați câmpurile + alegeți Tone of Voice + Language
  ├── POST /v1/chat/completions cu prompt = custom_prompt + valori variabile + ton + limbă
  ├── Output apare în editor TinyMCE
  └── Opțional: Save as Document → arvisai_documents (document_name + HTML content)
  │
════════════════════════════════════
INTEGRARE CRM: AUTO REPLY TICHETE
════════════════════════════════════
  │
  ├── Condiție: arvisai_ai_autoreply_on_opening_ticket = 1
  ├── Hook: ticket_created → arvisai_ticket_created_automated_reply()
  ├── Condiție suplimentară: ticket.admin IS NOT NULL (tichetul să aibă staff asignat)
  ├── Prompt construit: "I work as a {agent_title} and my name is {agent_name}...
  │     Write ticket reply about '{ticket_message}'... reply on the same language..."
  ├── POST /v1/chat/completions
  └── Răspuns adăugat ca reply pe tichet, atribuit lui arvisai_ai_reply_agent_staff_id
        adminread = 0 (marcat ca necitit)

[AI UTILIZAT ✓ · TICHET RĂSPUNS AUTOMAT ✓]

Pas cu pas

1. Setup (admin)

Unde: /admin/arvisai → Settings (necesită is_admin())

Configurare obligatorie:

Opțiune Descriere
arvisai_openai_secret_key API Key din OpenAI Platform (platform.openai.com)

Configurare opțională:

Opțiune Valoare implicită Descriere
Chat model GPT-3.5-turbo Modelul folosit pentru chat și template generation
Image model default (DALL-E-2) default, dall-e-2, dall-e-3
arvisai_audio_transcription_max_size ~100KB Limita de upload audio (bytes)
arvisai_audio_transcription_allowed_extensions .mp3,.m4a Extensii acceptate

Configurare auto ticket reply:

Opțiune Descriere
arvisai_ai_autoreply_on_opening_ticket 1 = activat · 0 = dezactivat (implicit)
arvisai_ai_reply_agent_name Numele agentului AI în reply (implicit: „Alex")
arvisai_ai_reply_agent_title Titlul agentului (implicit: „Technical Support")
arvisai_ai_reply_agent_staff_id Staff-ul CRM atribuit ca autor al reply-ului AI

Atenție: Cu auto-reply activat, orice tichet nou creat (cu staff asignat) va primi automat un răspuns generat de AI. Testați cu un tichet de test înainte de activare în producție.


2. Template Engine — utilizare și creare șabloane

Unde: /admin/arvisai/templates

Șabloane sedate la instalare: Write Proposal · Facebook Ads · Write Contract · Cold Email · Welcome Email · Follow-Up Email · Article Generator · Content Rewrite · Summarize Text · Product Description

Creare șablon personalizat:

Câmp Descriere
template_name Denumire
template_category_id Categoria (Emails / Social Media / Contents / Blog Posts / Video / CRM)
custom_prompt Promptul cu placeholder-e {{variable_name}}
custom_inputs JSON cu definițiile câmpurilor UI: `[{"input_name":"...", "input_label":"...", "input_field_type":"textarea

Exemplu custom_prompt:

Write a cold email for a prospect in the {{industry}} industry. 
Focus on {{pain_point}} and mention our {{product_name}} solution.

Opțiuni Tone of Voice (12): funny · casual · excited · professional · witty · sarcastic · feminine · masculine · bold · dramatic · grumpy · secretive

Câmpul Language: text liber — introduceți orice limbă (ex: „Romanian", „French"). Este adăugat la prompt cu instrucțiunea de a scrie în limba respectivă.


3. Audio Transcription vs. Audio Translation

Transcription Translation
Endpoint OpenAI /v1/audio/transcriptions /v1/audio/translations
Limbă output Aceeași limbă ca audio-ul Întotdeauna engleză
Detecție limbă Automată (Whisper) Automată (Whisper)
Formate acceptate .mp3, .m4a .mp3, .m4a

Flux de lucru recomandat:

  • Aveți o înregistrare în română → Transcription → obțineți text în română
  • Aveți o înregistrare în orice limbă și vreți în engleză → Translation
  • Vreți să copiați transcrierea în alt modul CRM (lead, tichet, notă) → manual copy-paste (nu există buton de transfer automat)

4. Documente generate

Unde: /admin/arvisai/documents

Documentele salvate din Template Engine sunt stocate în tblArvisai_documents cu:

  • document_name — denumirea documentului
  • document_description — conținut HTML (generat în TinyMCE)

Limitări: documentele nu au legătură cu alte entități CRM (lead, client, proiect). Sunt vizibile exclusiv staff-ului care le-a creat (user_id = get_staff_user_id()).


Permisiuni necesare

Permisiune Acces
arvisai → view Acces global la toate instrumentele
arvisai → view_chat Instrumentul Chat
arvisai → view_image_gen / create_image_gen Image Generator
arvisai → view_transcription / create_transcription Audio Transcription
arvisai → view_translation / create_translation Audio Translation
arvisai → view_templates / create_templates Template Engine
arvisai → view_template_categories Vizualizare categorii templates
Settings ArvisAI is_admin() exclusiv

Nota: Nu există permisiunea create_chat — oricine poate vedea Chat poate și trimite mesaje.


Gotchas

Problemă Cauză Soluție
„Invalid API Key" la orice operație arvisai_openai_secret_key greșit sau lipsă Reintroduceți API key-ul din OpenAI Platform → API Keys
Fișier audio respins la upload Extensie nepermisă sau depășire limită de mărime Verificați allowed_extensions + max_size în Settings; convertiți la .mp3 dacă e alt format
Traducerea iese în engleză, nu în română Comportament corect — Translation = întotdeauna engleză Folosiți Transcription (nu Translation) pentru output în limba originală
Auto-reply trimite pe tichete interne Hook se declanșează pe orice tichet cu admin asignat Dezactivați arvisai_ai_autoreply_on_opening_ticket sau setați condiții mai stricte manual
Imaginile generate nu se afișează URL OpenAI a expirat înainte de download local Regenerați imaginea — modulul descarcă automat la generare
Documentul generat a dispărut Filtrat pe user_id — alt utilizator nu vede Documentele sunt private per staff

Referințe module

  • Tickets — auto-reply la deschiderea tichetului
  • WhatsApp — alt canal cu AI replies (bot_type=12, provider separat configurabil)
  • ArvisAI — documentație modul
Tip

Folosiți Transcrierea Audio pentru a converti apelurile cu clienți înregistrate în note de interacțiune CRM imediat după fiecare apel — transcrierea este gata în secunde și creează un record verbatim care alimentează rezumatele AI și sugestiile de acțiuni următoare.

Warning

ArvisAI necesită propria cheie API OpenAI — fiecare cerere de transcriere, traducere și generare este facturată în contul dvs. OpenAI. Monitorizați utilizarea după activare mai ales pe echipele cu volum mare de apeluri pentru a evita costuri API neașteptate.