# CRM sistemindeki fırsatlar

CRM’deki fırsatlar, müşteri, fırsat adı, açıklama ve tutar bilgilerini içeren kartlar olarak gösterilir.

<div data-with-frame="true"><figure><img src="/files/18751a50ac767abe15df917db8a9aa39f397136d" alt="" width="563"><figcaption></figcaption></figure></div>

Gerekirse başka alanlar da ekleyebilirsiniz (bkz. şek. 8-12).

## "Fırsat oluştur" düğmesi

<div data-with-frame="true"><figure><img src="/files/30e5d742db8503c092866e5b2362f7acefb1205c" alt="" width="563"><figcaption></figcaption></figure></div>

Düğmenin **Bir deal oluştur** penceresi, hızlıca yeni bir fırsat oluşturup kaydetmenizi sağlar.

<div data-with-frame="true"><figure><img src="/files/6471bcad9bcef9c0b6798fadad233d2322320342" alt="" width="563"><figcaption></figcaption></figure></div>

Bir müşteri oluşturmak için formu doldurun. Müşteri mevcutsa, MaviBot onu veritabanından seçmeniz için sizi yönlendirir.

<div data-with-frame="true"><figure><img src="/files/7ec45700efa44233ad3c76bfb77b0494892db526" alt="" width="563"><figcaption></figcaption></figure></div>

1. Müşteri bulunamazsa, projeye bir WhatsApp veya e-posta botu bağlayın.
2. Bağlı kanal üzerinden müşteriye mesaj gönderin — bu, profilini otomatik olarak oluşturacaktır.
3. Fırsatın yerleştirilmesi gereken hunı aşamasını seçin.

<div data-with-frame="true"><figure><img src="/files/970febb866c160d160dae037b5ea1db91238265d" alt="" width="563"><figcaption></figcaption></figure></div>

Fırsat değişkenleri modal formda da eklenebilir:

<div data-with-frame="true"><figure><img src="/files/2a84250be71f99e5877e0a38eef3957a6f3b6a15" alt="" width="563"><figcaption></figcaption></figure></div>

Sonraki olarak, **"Oluştur"** fırsatı sisteme eklemek için.

## "Hızlı ekle" düğmesi

Bu düğme, CRM’ye yeni bir müşteriyi manuel olarak eklemeye de yardımcı olabilir.

<div data-with-frame="true"><figure><img src="/files/83d3e6a8ed457eee0d736853830c3fe8e15735e3" alt="" width="308"><figcaption></figcaption></figure></div>

Müşterinin ayrıntılarını girebileceğiniz bir pencere açmak için düğmeye tıklayın.

<div data-with-frame="true"><figure><img src="/files/452b74c99019069929d03da7f8b060c79aa3ccaa" alt="" width="308"><figcaption></figcaption></figure></div>

Şek. 26 Hızlı fırsat oluşturma penceresi (Not: Tüm veriler kurgusaldır; herhangi bir benzerlik tamamen tesadüfidir.)

Böylece, fırsat şu aşamada oluşturulacaktır: **"İlgilenen"** aşaması.

{% hint style="success" %}
Tamam!&#x20;

Artık fırsatların nasıl oluşturulacağını biliyorsunuz.
{% endhint %}

## Bir sohbet botundan nasıl fırsat oluşturulur

Bir fonksiyon aracılığıyla fırsat oluşturmak için sohbet botu akış örneği

Süreç özeti:

1. Bir Başlangıç bloğu oluşturun

<div data-with-frame="true"><figure><img src="/files/4cf541f826fd2b91add052a67880e5ee178ee93d" alt=""><figcaption></figcaption></figure></div>

2. İki buton bloğu oluşturun.

<div data-with-frame="true"><figure><img src="/files/87e281832361668036168eeb52da06ca5cb746da" alt=""><figcaption></figcaption></figure></div>

3. Bağlantı ayarlarına gidin, "Kullanıcı veri girer" seçeneğini etkinleştirin ve kullanıcının gireceği hizmetin adını belirtin.

<div data-with-frame="true"><figure><img src="/files/9cb435bc1e88385074411586b0d01b957cb05938" alt=""><figcaption></figcaption></figure></div>

4. Ardından, beyaz bir bloğa "Adınız nedir?" sorusunu ekleyin. Altına yeni bir blok oluşturun ve **"Kullanıcı veri girer"** ok ayarlarında etkinleştirin.

<div data-with-frame="true"><figure><img src="/files/90ba1cd1e0b93751049f48da9217c72840507ce0" alt=""><figcaption></figcaption></figure></div>

"Kullanıcı veri girer" ayarı, değişkeniyle birlikte `name` "Telefon numaranızı girin" bloğuna giden her bağlantıda etkinleştirilmiştir.

5. Şimdi, "Telefon numaranızı girin" bloğundan iki blok oluşturun — "Chat" ve "Fallback".

<div data-with-frame="true"><figure><img src="/files/93afe5ccb6105adf7bc547c5fd0576500cbf9ecd" alt=""><figcaption></figcaption></figure></div>

1. Seçin **"RegEx math"** türünü bağlantı ayarlarında seçin.
2. "Kullanıcı veri girer" ayarını etkinleştirin.
3. Değişken adını girin: `phone`.

<div data-with-frame="true"><figure><img src="/files/7bdde6ddbe6b24bd1f7a4063691606cda64937be" alt=""><figcaption></figcaption></figure></div>

Şimdi, Fallback bloğunda şu mesajı yazın: **"Bu yanlış! Tekrar deneyin."**

Bu yapılandırma şu şekilde çalışacaktır: müşteriniz yanlış bir telefon numarası girerse, Fallback bloğundaki mesajı alacaktır. Müşteri doğru bir telefon numarası girene kadar Fallback mesajı gönderilmeye devam edecektir.

6. Ardından, müşteriye bütçesini sorun ve hemen altına yeni bir blok oluşturun.

<div data-with-frame="true"><figure><img src="/files/2f8671dbbde7cc48b33c4b215eddae1d990af3e3" alt=""><figcaption></figcaption></figure></div>

7. Bu bloğa giden bağlantı üzerinde aşağıdaki tetikleyiciyi yapılandırın: **"Kullanıcı veri girer"** bağlantıdaki ayarı etkinleştirin ve değişken adını girin: `budget`.

<div data-with-frame="true"><figure><img src="/files/740deb3a066d68b48825672d4afc1c98961dab19" alt=""><figcaption></figcaption></figure></div>

Etkinleştirin **"Kullanıcı veri girer"** bağlantıdaki onay kutusunu işaretleyin ve telefon değişkeni client\_name’i belirtin.

8. Son bloğun türünü "Leads" olarak değiştirebilir ya da `create_order` işlevini kullanın.

   Kırmızı "Leads" bloğunun bulunduğu seçenek burada.

<div data-with-frame="true"><figure><img src="/files/2fcb8bb44ab4a9648073dab06e1ce7249c1bd9be" alt=""><figcaption></figcaption></figure></div>

Örnek.

<div data-with-frame="true"><figure><img src="/files/3c159125c041ce1a419999deaec071c2eb9b372c" alt=""><figcaption></figcaption></figure></div>

create\_order(name, budget, description, client\_name, phone, email, state\_id) fonksiyonu, CRM’deki sohbet botundan bir fırsat oluşturmak için kullanılır.

<details>

<summary>Parametreler</summary>

Akıştaki mevcut aktif fırsat, değişkenlerle birlikte yalnızca fırsat yönetimi ve CRM fonksiyonlarında kullanılabilir olacaktır.

<table><thead><tr><th width="303.3046875">Parametreler</th><th>Anlamı</th></tr></thead><tbody><tr><td><strong>name</strong></td><td><p>Fırsat adı.</p><p>İsteğe bağlı parametre; iletilmezse, müşterinin mevcut aktif fırsatına uygulanır</p></td></tr><tr><td><strong>budget</strong></td><td>Fırsat tutarı (sayı). İsteğe bağlı bir parametredir; iletilmezse müşterinin mevcut aktif fırsatına uygulanır. Parametreye sayı olmayan bir değer geçirirseniz, fonksiyon şu yanıtı döndürür: <strong>budget</strong> parametresi <strong>'budget must be a number'</strong></td></tr><tr><td><strong>description</strong> </td><td>Fırsat açıklaması. İsteğe bağlı parametre;</td></tr><tr><td><strong>client_name</strong></td><td>(isteğe bağlı parametre) yeni bir müşteri için ad olarak string</td></tr><tr><td><strong>phone</strong></td><td>(isteğe bağlı parametre) yeni bir müşteri için telefon numarası olarak string</td></tr><tr><td><strong>email</strong></td><td>(isteğe bağlı parametre) yeni bir müşteri için e-posta olarak string</td></tr><tr><td><strong>state_id</strong> </td><td>sayı, fırsatın oluşturulduktan sonra hangi durumda olacağını belirtmenizi sağlar (isteğe bağlı parametre)</td></tr></tbody></table>

{% hint style="info" %}
Bir müşteri oluşturmak için telefon veya e-posta değişkeni belirtilmelidir. Telefon belirtilirse ve projede bu telefon numarasına sahip bir müşteri yoksa, yeni bir müşteri oluşturulacaktır.

E-posta değişkeni telefon değişkeni olmadan belirtilirse ve projede bu adrese sahip bir müşteri yoksa, yeni bir müşteri oluşturulacaktır.
{% endhint %}

</details>

Akışta aşağıdaki verileri aşamalar halinde topladık:

* Ad - fırsat adı (örnekte, I need a website & I need a landing);
* Budget — müşterinin web sitesi türünü seçmesinden sonra bloklarda duyurulan fırsat maliyeti;
* Phone — müşterinin telefon numarası
* Client\_name — müşterinin adı

Belirli bir işlem durumunda fırsat oluşturmanız gerekiyorsa, state\_id parametresini iletin.

{% hint style="info" %}
Önemli!&#x20;

Herhangi bir parametre iletmezseniz, parametre yerine none iletin (Şek. 36’da olduğu gibi, e-posta parametresi yerine none belirtilmiştir).
{% endhint %}

Durum kimliği (state\_id parametresi) nerede bulunur

<div data-with-frame="true"><figure><img src="/files/67f755b09fd5da7e777b07554298b713bb0ee17f" alt="" width="316"><figcaption></figcaption></figure></div>

Aşama Kimliği:

<div data-with-frame="true"><figure><img src="/files/f77dc89d0325d8c08add29176f19bcce6a26411b" alt="" width="375"><figcaption></figcaption></figure></div>

## Diğer ayarlar

Arama çubuğu, müşterinin adına göre fırsat araması yapar.

<div data-with-frame="true"><figure><img src="/files/f9337cf44404845be6971cc07232bc0a41fb075f" alt="" width="375"><figcaption></figcaption></figure></div>

Filtre: fırsatları çeşitli parametrelere göre filtrelemenizi sağlar. Sık kullanıyorsanız oluşturulan filtreyi de kaydedebilirsiniz.

<div data-with-frame="true"><figure><img src="/files/af65f429f3ee4258d8aa7119dba890fff4ab1458" alt=""><figcaption></figcaption></figure></div>

## Bir fırsat yeni bir huni aşamasına geçtiğinde bot nasıl tetiklenir

CRM hunisinde bir fırsatın aşama değişikliği sırasında botu tetiklemek için:

1. Proje ayarlarına gidin.
2. Açın **"Callbacks"** bölümünde görünecektir.

<div data-with-frame="true"><figure><img src="/files/a5ee200b01acd3e9c36715be872156a5f4760e39" alt=""><figcaption></figcaption></figure></div>

Şuna tıklayın **"CRM stage transition callback settings"**:

<div data-with-frame="true"><figure><img src="/files/ac598d4af9d4fb6237e9fa107c472ec2978ed536" alt=""><figcaption></figcaption></figure></div>

Bundan sonra, projedeki tüm hunileri içeren bir modal pencere göreceksiniz. Tüm huniyi ya da belirli bir aşamayı seçebilirsiniz.

<div data-with-frame="true"><figure><img src="/files/2ac2a08b733bfa12b326acfafc5947146bbedeec" alt="" width="563"><figcaption></figcaption></figure></div>

Ardından ayarları kaydedin.&#x20;

Artık fırsat durumu otomatik ya da manuel olarak değiştiğinde, site içinde herhangi bir yerden bot yanıtını tetiklemek için kullanılabilecek bir bildirim oluşturulur.

{% hint style="info" %}
Bildirim şu şekilde görünür: **crm\_state\_changed Huni adı:Aşama adı**
{% endhint %}

callback\_query\_id değişkeni ayrıca müşterinin kartında görünür ve bildirimin gönderildiği fırsatın kimliğini saklar.

<div data-with-frame="true"><figure><img src="/files/546d61fa085db777625a17cf505da4eea28500e6" alt="" width="563"><figcaption></figcaption></figure></div>

Botunuzu bu olaya yanıt olarak tetiklemek için, bağlantının veya tetikleyici tabanlı bir bloğun (örn. Başlangıç veya Tetikleyici bloğu) tetikleyici alanına geri çağırma metnini girin.

<div data-with-frame="true"><figure><img src="/files/fd7b7b1f7ca713080384815c2d884299beee40bc" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
Müşteriyi ana sohbet botu akışında tutmak istiyorsanız, "Chat" bloğunu kullanın. Bu bloğa geçiş yapılamaz; bu nedenle geri çağırmaya yanıt verdikten sonra müşteri, mesajı almaya devam ederken ana hunide kalır.

Durum değişikliğinden sonra huniyi sürdürmeniz gerekiyorsa, "Start" bloğunu kullanın. Müşteri, geri çağırmaya yanıt olarak "Start" bloğuna yönlendirilecek ve huninin oradan devam etmesini sağlayacaktır.
{% endhint %}

### Bir fırsat nasıl taşınır

Bir fırsatı herhangi bir huni aşamasına taşımak için, sol fare tuşuyla üzerine tıklayıp istediğiniz aşamaya sürüklemeniz yeterlidir.

<div data-with-frame="true"><figure><img src="/files/8cd5d1d3fa03ba6c6185fbcc05c839199987814c" alt="" width="563"><figcaption></figcaption></figure></div>

Bir fırsat şu konuma taşındığında **"Failed"** veya **"Archived,"** bir modal pencere görünür ve sizden nedeni belirtmenizi ister. Bu işlem, ilgili fırsat değişkenini oluşturur: `failed_reason` veya `archived_reason`.

Belirtilen neden ilgili değişkende kaydedilir. Fırsat daha sonra geri yüklenirse, değişken `restored_from_failed` veya `restored_from_archived` şu değerle eklenir: `"true"`.

## Bir fırsatın belirtilen aşamaya taşınmasını nasıl engellersiniz

Fırsatların manuel olarak taşınabileceği aşamaları sınırlandırmanız gerekiyorsa, kısıtlamayı durum ayarlarında yapılandırın.

Huniyi açın ve aşama ayarlarına gidin.

<div data-with-frame="true"><figure><img src="/files/67f755b09fd5da7e777b07554298b713bb0ee17f" alt="" width="316"><figcaption></figcaption></figure></div>

Fırsat hareketini belirli aşamalara kısıtlamak için aşama ayarlarını kullanın. Kontrol listesinden istediğiniz aşamaları seçin (birden fazla seçim yapılabilir) ve değişiklikleri kaydedin.

<div data-with-frame="true"><figure><img src="/files/9125a7ee70840535d22f1ce62f35d8029ea65952" alt="" width="563"><figcaption></figcaption></figure></div>

Kaydettikten sonra, kısıtlanan aşamalar MaviBot CRM’de görsel olarak vurgulanacaktır. Daha koyu görünecekler ve fırsatların bu aşamalara taşınması devre dışı bırakılacaktır. Aşama hareket kısıtlamaları uygulanırsa, bu aşamalar müşteri sohbet arayüzünde de gizlenecektir.

## CRM’de fırsat silinmesine tepki

CRM’de bir fırsat silindiğinde, bot adı verilen bir geri çağırma alır **`crm_lead_removed`** müşteriyi bilgilendirmek için.

<div data-with-frame="true"><figure><img src="/files/3d01f0be6e63cbb13de4975b7a1d99260ba1514b" alt="" width="465"><figcaption></figcaption></figure></div>

## Fırsatlar nasıl değiştirilir

CRM sayfasında doğrudan fırsatlar üzerinde işlemler yapıldığında, aşağıdaki geri çağırmalar tetiklenir:

* `change_responsible_order` — fırsattan sorumlu yönetici değişti.
* `crm_state_changed` — fırsat farklı bir huni aşamasına taşındı.
* `crm_system_state_changed` — fırsat şu konuma taşındı: **Lost**, **Won**ya da **Archived**.
* `crm_lead_removed` — fırsat silindi.

Ayrıca, müşteri değişkenleri şunları içerecektir: `callback_order_id`, bu da CRM işleminin etkilediği belirli fırsatın kimliğini içerir.

Bu geri çağırmalardan biri işlenirken, ilgili fırsat işlem bloğu içinde geçici olarak aktif hale gelir ve değişkenlerine doğrudan erişmenizi sağlar.

Akış bir sonraki bloğa geçtiğinde, MaviBot’un standart mantığı devam eder — fırsat değişkenlerine sonraki her erişim, müşterinin en son aktif fırsatındaki değerleri döndürür.

### Bir fırsatın botta aktif bir aşamaya nasıl geçirileceği

Düğmenin `switch_order(order_id)` fonksiyonu, değişkenlerine erişebilmek için belirli bir fırsatı aktif hale getirmenizi sağlar.

* `order_id` — belirli fırsat kimliği için isteğe bağlı parametre. Atlanırsa, müşterinin en son fırsatı aktif hale gelir.
* Belirli bir fırsatı etkinleştirmek için, kimliğini `switch_order(order_id)` işlevini kullanın.
* Bir hesap makinesi bloğu içinde bu fonksiyonu çağırır ve hedef bir fırsat kimliği sağlarsanız, sonraki tüm bloklarda o fırsatın değişkenlerine erişebilirsiniz.

<div data-with-frame="true"><figure><img src="/files/0c285ff53d7f8e5875c311440b7cacf40e964568" alt="" width="563"><figcaption></figcaption></figure></div>

Eğer `switch_order` fonksiyonu silinmiş veya mevcut olmayan bir fırsatın kimliğiyle çağrılırsa, herhangi bir geçiş gerçekleşmez. Bu durumda fonksiyon, müşteri için şu anda aktif olan fırsatın kimliğini döndürür (veya `None` eğer müşterinin aktif bir fırsatı yoksa).

Bu nedenle, `order_id` fonksiyonuna iletilen değeri döndürdüğü değerle karşılaştırarak geçişin başarılı olup olmadığını doğrulayabilirsiniz:

`switch_result = switch_order(order_id)`

`result = if(switch_result == order_id, value_if_true, value_if_false)`

<div data-with-frame="true"><figure><img src="/files/582f9771d08296775123523a1182e0b1ca41d0a0" alt="" width="563"><figcaption></figcaption></figure></div>

Eğer `switch_order()` fonksiyonuna hiçbir argüman iletilmezse, müşterinin en son fırsatını etkinleştirecektir. Bu, aktif fırsatı geri almanızı veya sıfırlamanızı sağlar — örneğin, başka bir fırsatla işlemler yaptıktan sonra ya da CRM geri çağırmasıyla geçici olarak etkinleştirilmiş bir fırsatı açık tutmanız gerekmediğinde.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/tr/crm/setting/deals.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
