diff --git a/.gitignore b/.gitignore index 9d3993f..f92660e 100644 --- a/.gitignore +++ b/.gitignore @@ -13,7 +13,10 @@ build/ # Large binary files embeddings.npy +embeddings_local.npy +*.pkl faiss_index/ +faiss_index_local/ data/ # Jupyter diff --git a/ablation_metrics.json b/ablation_metrics.json new file mode 100644 index 0000000..17a3356 --- /dev/null +++ b/ablation_metrics.json @@ -0,0 +1,42 @@ +{ + "dense": { + "label": "1. Dense Only (Snowflake)", + "n_queries": 291, + "recall@10": 4.851334223739128, + "precision@10": 3.917525773195876, + "mrr@10": 0.09586401570937654, + "recall@50": 9.163617965228665, + "precision@50": 2.4810996563573884, + "mrr@50": 0.1009837095287339 + }, + "bm25": { + "label": "2. BM25 Only", + "n_queries": 291, + "recall@10": 14.627901634011073, + "precision@10": 10.171821305841924, + "mrr@10": 0.2755891016200295, + "recall@50": 28.38137139557614, + "precision@50": 4.646048109965636, + "mrr@50": 0.2846851723685098 + }, + "rrf": { + "label": "3. Dense + BM25 (RRF)", + "n_queries": 291, + "recall@10": 12.5553924399447, + "precision@10": 9.450171821305842, + "mrr@10": 0.23299378170512194, + "recall@50": 27.67073722181615, + "precision@50": 4.769759450171822, + "mrr@50": 0.24438704511082662 + }, + "rerank": { + "label": "4. Dense + BM25 + Reranker", + "n_queries": 291, + "recall@10": 20.662017850264203, + "precision@10": 14.810996563573884, + "mrr@10": 0.42721185839742537, + "recall@50": 31.233461742332192, + "precision@50": 5.876288659793815, + "mrr@50": 0.43146615262450533 + } +} \ No newline at end of file diff --git a/hybrid_retrieval.ipynb b/hybrid_retrieval.ipynb new file mode 100644 index 0000000..7c2a5f1 --- /dev/null +++ b/hybrid_retrieval.ipynb @@ -0,0 +1,1108 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Hybrid Retrieval Pipeline — Snowflake Arctic + BM25 + RRF + Reranker\n", + "\n", + "End-to-end hybrid retrieval for the DevRev Search benchmark.\n", + "\n", + "| Stage | Technique | Details |\n", + "|-------|-----------|----------|\n", + "| Dense | Snowflake Arctic Embed L v2.0 | 1024d, FAISS FlatIP |\n", + "| Sparse | BM25 (Okapi) | Tokenized corpus |\n", + "| Fusion | Reciprocal Rank Fusion (RRF) | k=60 |\n", + "| Reranking | BGE-reranker-v2-m3 | Cross-encoder, top-100 candidates |\n", + "\n", + "**Prerequisites:** Run `python snowflake_embedding.py` (or copy `embeddings_local.npy`, `bm25_local.pkl`, `faiss_index_local/` from bench)." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "import os, json, pickle, re, time, warnings\n", + "from collections import defaultdict\n", + "\n", + "import numpy as np\n", + "import pandas as pd\n", + "import faiss\n", + "from rank_bm25 import BM25Okapi\n", + "from tqdm import tqdm\n", + "from datasets import load_dataset\n", + "\n", + "warnings.filterwarnings('ignore')\n", + "\n", + "EMBED_MODEL_NAME = \"Snowflake/snowflake-arctic-embed-l-v2.0\"\n", + "RERANKER_MODEL_NAME = \"BAAI/bge-reranker-v2-m3\"\n", + "QUERY_PREFIX = \"Represent this sentence for searching relevant passages: \"\n", + "INDEX_DIR = \"faiss_index_local\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1. Load Data, Indexes & Models" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "FAISS index: 65,224 vectors (dim=1024)\n", + "Documents: 65,224\n" + ] + } + ], + "source": [ + "# Load FAISS index and doc mapping\n", + "index = faiss.read_index(os.path.join(INDEX_DIR, \"knowledge_base_flat.index\"))\n", + "with open(os.path.join(INDEX_DIR, \"doc_mapping.pkl\"), \"rb\") as f:\n", + " mapping = pickle.load(f)\n", + "\n", + "doc_ids = mapping[\"doc_ids\"]\n", + "documents = mapping[\"documents\"]\n", + "doc_titles = mapping[\"doc_titles\"]\n", + "doc_texts = mapping[\"doc_texts\"]\n", + "\n", + "print(f\"FAISS index: {index.ntotal:,} vectors (dim={index.d})\")\n", + "print(f\"Documents: {len(documents):,}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Test queries: 92\n", + "Annotated queries (eval): 291\n" + ] + } + ], + "source": [ + "# Load datasets\n", + "test_queries = load_dataset(\"devrev/search\", \"test_queries\", split=\"test\")\n", + "annotated_queries = load_dataset(\"devrev/search\", \"annotated_queries\", split=\"train\")\n", + "\n", + "print(f\"Test queries: {len(test_queries)}\")\n", + "print(f\"Annotated queries (eval): {len(annotated_queries)}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Device: mps\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading weights: 100%|██████████| 391/391 [00:00<00:00, 21874.18it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Embedding model loaded: dim=1024\n" + ] + } + ], + "source": [ + "# Load embedding model for query encoding\n", + "import torch\n", + "from sentence_transformers import SentenceTransformer, CrossEncoder\n", + "\n", + "device = \"mps\" if torch.backends.mps.is_available() else \"cuda\" if torch.cuda.is_available() else \"cpu\"\n", + "print(f\"Device: {device}\")\n", + "\n", + "embed_model = SentenceTransformer(EMBED_MODEL_NAME, device=device, trust_remote_code=True)\n", + "print(f\"Embedding model loaded: dim={embed_model.get_sentence_embedding_dimension()}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "BM25 index loaded: 65,224 docs\n" + ] + } + ], + "source": [ + "# Load BM25 index\n", + "with open(\"bm25_local.pkl\", \"rb\") as f:\n", + " bm25 = pickle.load(f)\n", + "print(f\"BM25 index loaded: {bm25.corpus_size:,} docs\")" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Loading reranker: BAAI/bge-reranker-v2-m3 on mps\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading weights: 100%|██████████| 393/393 [00:00<00:00, 7881.28it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Reranker loaded.\n" + ] + } + ], + "source": [ + "# Load reranker\n", + "print(f\"Loading reranker: {RERANKER_MODEL_NAME} on {device}\")\n", + "reranker = CrossEncoder(RERANKER_MODEL_NAME, device=device, trust_remote_code=True)\n", + "print(\"Reranker loaded.\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2. Core Retrieval Functions" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Dense top-3:\n", + " 0.4619 | ART-16805_KNOWLEDGE_NODE-0 | Articulate Reach 360 AirSync | AirSync | Snap-ins | DevRev\n", + " 0.4522 | ART-16805_KNOWLEDGE_NODE-6 | Articulate Reach 360 AirSync | AirSync | Snap-ins | DevRev\n", + " 0.4509 | ART-2044_KNOWLEDGE_NODE-0 | ServiceNow AirSync | AirSync | Snap-ins | DevRev\n", + "BM25 top-3:\n", + " 24.39 | ART-4169_KNOWLEDGE_NODE-9 | DevRev For Startups\n", + " 23.39 | ART-973_KNOWLEDGE_NODE-2 | About\n", + " 21.58 | ART-2819_KNOWLEDGE_NODE-27 | Exotel | Integrate | Snap-ins | DevRev\n" + ] + } + ], + "source": [ + "def tokenize(text: str) -> list[str]:\n", + " return re.findall(r'\\w+', text.lower())\n", + "\n", + "\n", + "def embed_queries(queries: list[str]) -> np.ndarray:\n", + " \"\"\"Embed queries with the snowflake prefix.\"\"\"\n", + " texts = [QUERY_PREFIX + q for q in queries]\n", + " embs = embed_model.encode(texts, batch_size=64, show_progress_bar=False,\n", + " convert_to_numpy=True, normalize_embeddings=True)\n", + " return embs.astype(np.float32)\n", + "\n", + "\n", + "def embed_single(query: str) -> np.ndarray:\n", + " return embed_queries([query])[0]\n", + "\n", + "\n", + "def search_dense(query_emb: np.ndarray, k: int = 100) -> list[tuple[int, float]]:\n", + " \"\"\"FAISS dense search. Returns [(doc_idx, score), ...].\"\"\"\n", + " q = query_emb.reshape(1, -1)\n", + " scores, indices = index.search(q, k)\n", + " return [(int(i), float(s)) for s, i in zip(scores[0], indices[0]) if i >= 0]\n", + "\n", + "\n", + "def search_bm25(query: str, k: int = 100) -> list[tuple[int, float]]:\n", + " \"\"\"BM25 sparse search. Returns [(doc_idx, score), ...].\"\"\"\n", + " tokens = tokenize(query)\n", + " scores = bm25.get_scores(tokens)\n", + " top_k = np.argsort(scores)[::-1][:k]\n", + " return [(int(i), float(scores[i])) for i in top_k if scores[i] > 0]\n", + "\n", + "\n", + "# Quick test\n", + "q_emb = embed_single(\"How do I set up AirSync?\")\n", + "d_results = search_dense(q_emb, k=5)\n", + "b_results = search_bm25(\"How do I set up AirSync?\", k=5)\n", + "print(\"Dense top-3:\")\n", + "for idx, score in d_results[:3]:\n", + " print(f\" {score:.4f} | {doc_ids[idx]} | {doc_titles[idx][:60]}\")\n", + "print(\"BM25 top-3:\")\n", + "for idx, score in b_results[:3]:\n", + " print(f\" {score:.2f} | {doc_ids[idx]} | {doc_titles[idx][:60]}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3. Reciprocal Rank Fusion (RRF)\n", + "\n", + "Merges dense + BM25 ranked lists. Each source contributes `1/(k+rank+1)` per document." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "RRF fused: 10 unique docs from dense + BM25\n", + " RRF=0.0164 | ART-16805_KNOWLEDGE_NODE-0 | Articulate Reach 360 AirSync | AirSync | Snap-ins | DevRev\n", + " RRF=0.0164 | ART-4169_KNOWLEDGE_NODE-9 | DevRev For Startups\n", + " RRF=0.0161 | ART-16805_KNOWLEDGE_NODE-6 | Articulate Reach 360 AirSync | AirSync | Snap-ins | DevRev\n", + " RRF=0.0161 | ART-973_KNOWLEDGE_NODE-2 | About\n", + " RRF=0.0159 | ART-2044_KNOWLEDGE_NODE-0 | ServiceNow AirSync | AirSync | Snap-ins | DevRev\n" + ] + } + ], + "source": [ + "def rrf_fuse(*ranked_lists, k: int = 60) -> list[tuple[int, float]]:\n", + " \"\"\"Reciprocal Rank Fusion across multiple ranked lists.\"\"\"\n", + " rrf_scores = defaultdict(float)\n", + " for rlist in ranked_lists:\n", + " for rank, (doc_idx, _) in enumerate(rlist):\n", + " rrf_scores[doc_idx] += 1.0 / (k + rank + 1)\n", + " return sorted(rrf_scores.items(), key=lambda x: x[1], reverse=True)\n", + "\n", + "\n", + "# Quick test\n", + "fused = rrf_fuse(d_results, b_results)\n", + "print(f\"RRF fused: {len(fused)} unique docs from dense + BM25\")\n", + "for idx, score in fused[:5]:\n", + " print(f\" RRF={score:.4f} | {doc_ids[idx]} | {doc_titles[idx][:60]}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4. Cross-Encoder Reranking\n", + "\n", + "Reranks top-100 RRF candidates using BGE-reranker-v2-m3. This is the biggest lever for precision." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Reranked results:\n", + " 0.9950 | ART-2045_KNOWLEDGE_NODE-29 | AirSync | Snap-ins | DevRev\n", + " 0.8739 | ART-2045_KNOWLEDGE_NODE-60 | AirSync | Snap-ins | DevRev\n", + " 0.8120 | ART-16263_KNOWLEDGE_NODE-32 | Confluence Datacenter AirSync | AirSync | Snap-ins | DevRev\n", + " 0.7815 | ART-4274_KNOWLEDGE_NODE-36 | Figma AirSync | AirSync | Snap-ins | DevRev\n", + " 0.7716 | ART-16804_KNOWLEDGE_NODE-24 | Google Calendar AirSync | Integrate | Snap-ins | DevRev\n" + ] + } + ], + "source": [ + "def rerank_candidates(query: str, candidates: list[tuple[int, float]], top_k: int = 50) -> list[tuple[int, float]]:\n", + " \"\"\"Rerank candidates using cross-encoder. Truncates docs to 512 chars.\"\"\"\n", + " if not candidates:\n", + " return []\n", + " candidates = candidates[:100]\n", + " pairs = [(query, documents[idx][:512]) for idx, _ in candidates]\n", + " scores = reranker.predict(pairs, show_progress_bar=False)\n", + " scored = [(candidates[i][0], float(scores[i])) for i in range(len(candidates))]\n", + " scored.sort(key=lambda x: x[1], reverse=True)\n", + " return scored[:top_k]\n", + "\n", + "\n", + "# Quick test\n", + "fused_full = rrf_fuse(search_dense(q_emb, k=100), search_bm25(\"How do I set up AirSync?\", k=100))\n", + "reranked = rerank_candidates(\"How do I set up AirSync?\", fused_full, top_k=5)\n", + "print(\"Reranked results:\")\n", + "for idx, score in reranked:\n", + " print(f\" {score:.4f} | {doc_ids[idx]} | {doc_titles[idx][:60]}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 5. Full Hybrid Pipeline" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Hybrid results:\n", + " [1] 0.5847 | ART-1953_KNOWLEDGE_NODE-29 | Customer email notifications | Computer by DevRev | DevRev\n", + " [2] 0.2873 | ART-1978_KNOWLEDGE_NODE-44 | Customer portal | Computer for Support Teams | DevRev\n", + " [3] 0.1663 | ART-1986_KNOWLEDGE_NODE-45 | Service-level agreement | Computer for Support Teams | DevRe\n", + " [4] 0.1118 | ART-1981_KNOWLEDGE_NODE-34 | Support best practices | Computer for Support Teams | DevRev\n", + " [5] 0.0309 | ART-2040_KNOWLEDGE_NODE-27 | Zendesk AirSync | AirSync | Snap-ins | DevRev\n" + ] + } + ], + "source": [ + "def hybrid_retrieve(\n", + " query: str,\n", + " top_k: int = 50,\n", + " dense_k: int = 100,\n", + " bm25_k: int = 100,\n", + " use_bm25: bool = True,\n", + " use_reranking: bool = True,\n", + ") -> list[tuple[int, float]]:\n", + " \"\"\"Dense + BM25 -> RRF -> Rerank.\"\"\"\n", + " q_emb = embed_single(query)\n", + " dense_results = search_dense(q_emb, k=dense_k)\n", + "\n", + " if use_bm25:\n", + " bm25_results = search_bm25(query, k=bm25_k)\n", + " fused = rrf_fuse(dense_results, bm25_results)\n", + " else:\n", + " fused = dense_results\n", + "\n", + " if use_reranking:\n", + " return rerank_candidates(query, fused, top_k=top_k)\n", + " return fused[:top_k]\n", + "\n", + "\n", + "# Test\n", + "results = hybrid_retrieve(\"end customer organization name not appearing in ticket\", top_k=5)\n", + "print(\"Hybrid results:\")\n", + "for rank, (idx, score) in enumerate(results):\n", + " print(f\" [{rank+1}] {score:.4f} | {doc_ids[idx]} | {doc_titles[idx][:60]}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 6. Evaluation Engine" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Evaluation engine ready.\n" + ] + } + ], + "source": [ + "def evaluate_pipeline(\n", + " pipeline_fn,\n", + " annotated_data,\n", + " top_k_list=(10, 50),\n", + " max_queries: int = None,\n", + " label: str = \"Pipeline\",\n", + ") -> dict:\n", + " \"\"\"Evaluate retrieval pipeline on annotated queries.\"\"\"\n", + " items = list(annotated_data)\n", + " if max_queries:\n", + " items = items[:max_queries]\n", + "\n", + " max_k = max(top_k_list)\n", + " results_by_k = {k: {\"recalls\": [], \"precisions\": [], \"mrrs\": []} for k in top_k_list}\n", + " per_query = []\n", + "\n", + " for item in tqdm(items, desc=f\"Eval: {label}\"):\n", + " query = item[\"query\"]\n", + " golden_ids = {r[\"id\"] for r in item[\"retrievals\"]}\n", + "\n", + " ranked = pipeline_fn(query, top_k=max_k)\n", + " retrieved_ids = [doc_ids[idx] for idx, _ in ranked]\n", + "\n", + " for k in top_k_list:\n", + " top_ids = retrieved_ids[:k]\n", + " hits = sum(1 for rid in top_ids if rid in golden_ids)\n", + " recall = hits / len(golden_ids) if golden_ids else 0\n", + " precision = hits / k\n", + " results_by_k[k][\"recalls\"].append(recall)\n", + " results_by_k[k][\"precisions\"].append(precision)\n", + "\n", + " rr = 0.0\n", + " for rank_pos, rid in enumerate(top_ids):\n", + " if rid in golden_ids:\n", + " rr = 1.0 / (rank_pos + 1)\n", + " break\n", + " results_by_k[k][\"mrrs\"].append(rr)\n", + "\n", + " per_query.append({\n", + " \"query_id\": item[\"query_id\"], \"query\": query,\n", + " \"golden_count\": len(golden_ids),\n", + " \"hits@10\": sum(1 for rid in retrieved_ids[:10] if rid in golden_ids),\n", + " \"hits@50\": sum(1 for rid in retrieved_ids[:50] if rid in golden_ids),\n", + " })\n", + "\n", + " print(f\"\\n{'='*70}\")\n", + " print(f\" {label} -- {len(items)} queries\")\n", + " print(f\"{'='*70}\")\n", + " metrics = {\"label\": label, \"n_queries\": len(items)}\n", + " for k in top_k_list:\n", + " r = np.mean(results_by_k[k][\"recalls\"]) * 100\n", + " p = np.mean(results_by_k[k][\"precisions\"]) * 100\n", + " m = np.mean(results_by_k[k][\"mrrs\"])\n", + " print(f\" Recall@{k}: {r:.2f}% Precision@{k}: {p:.2f}% MRR@{k}: {m:.4f}\")\n", + " metrics[f\"recall@{k}\"] = r\n", + " metrics[f\"precision@{k}\"] = p\n", + " metrics[f\"mrr@{k}\"] = m\n", + "\n", + " metrics[\"per_query\"] = per_query\n", + " return metrics\n", + "\n", + "print(\"Evaluation engine ready.\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 7. Ablation Study\n", + "\n", + "| # | Config | What it tests |\n", + "|---|--------|---------------|\n", + "| 1 | Dense only | Snowflake embedding quality |\n", + "| 2 | BM25 only | Sparse baseline |\n", + "| 3 | Dense + BM25 (RRF) | Hybrid fusion value |\n", + "| 4 | Dense + BM25 + Reranker | Full pipeline |" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "# Pipeline variants\n", + "\n", + "def pipe_dense_only(query, top_k=50):\n", + " q_emb = embed_single(query)\n", + " return search_dense(q_emb, k=top_k)\n", + "\n", + "def pipe_bm25_only(query, top_k=50):\n", + " return search_bm25(query, k=top_k)\n", + "\n", + "def pipe_dense_bm25_rrf(query, top_k=50):\n", + " q_emb = embed_single(query)\n", + " dense = search_dense(q_emb, k=100)\n", + " sparse = search_bm25(query, k=100)\n", + " return rrf_fuse(dense, sparse)[:top_k]\n", + "\n", + "def pipe_hybrid_rerank(query, top_k=50):\n", + " return hybrid_retrieve(query, top_k=top_k,\n", + " use_bm25=True, use_reranking=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Eval: 1. Dense Only (Snowflake): 100%|██████████| 291/291 [00:05<00:00, 55.99it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "======================================================================\n", + " 1. Dense Only (Snowflake) -- 291 queries\n", + "======================================================================\n", + " Recall@10: 4.85% Precision@10: 3.92% MRR@10: 0.0959\n", + " Recall@50: 9.16% Precision@50: 2.48% MRR@50: 0.1010\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Eval: 2. BM25 Only: 100%|██████████| 291/291 [00:20<00:00, 14.48it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "======================================================================\n", + " 2. BM25 Only -- 291 queries\n", + "======================================================================\n", + " Recall@10: 14.63% Precision@10: 10.17% MRR@10: 0.2756\n", + " Recall@50: 28.38% Precision@50: 4.65% MRR@50: 0.2847\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n" + ] + } + ], + "source": [ + "ablation = {}\n", + "\n", + "# 1. Dense only\n", + "ablation[\"dense\"] = evaluate_pipeline(pipe_dense_only, annotated_queries, label=\"1. Dense Only (Snowflake)\")\n", + "\n", + "# 2. BM25 only\n", + "ablation[\"bm25\"] = evaluate_pipeline(pipe_bm25_only, annotated_queries, label=\"2. BM25 Only\")" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Eval: 3. Dense + BM25 (RRF): 100%|██████████| 291/291 [00:27<00:00, 10.67it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "======================================================================\n", + " 3. Dense + BM25 (RRF) -- 291 queries\n", + "======================================================================\n", + " Recall@10: 12.56% Precision@10: 9.45% MRR@10: 0.2330\n", + " Recall@50: 27.67% Precision@50: 4.77% MRR@50: 0.2444\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n" + ] + } + ], + "source": [ + "# 3. Dense + BM25 RRF\n", + "ablation[\"rrf\"] = evaluate_pipeline(pipe_dense_bm25_rrf, annotated_queries, label=\"3. Dense + BM25 (RRF)\")" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Eval: 4. Dense + BM25 + Reranker: 100%|██████████| 291/291 [14:48<00:00, 3.05s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "======================================================================\n", + " 4. Dense + BM25 + Reranker -- 291 queries\n", + "======================================================================\n", + " Recall@10: 20.66% Precision@10: 14.81% MRR@10: 0.4272\n", + " Recall@50: 31.23% Precision@50: 5.88% MRR@50: 0.4315\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n" + ] + } + ], + "source": [ + "# 4. Hybrid + Reranker (slower -- cross-encoder on 100 candidates per query)\n", + "ablation[\"rerank\"] = evaluate_pipeline(pipe_hybrid_rerank, annotated_queries, label=\"4. Dense + BM25 + Reranker\")" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "===============================================================================================\n", + "ABLATION SUMMARY\n", + "===============================================================================================\n", + "Method R@10 R@50 P@10 P@50 MRR@10\n", + "-----------------------------------------------------------------------------------------------\n", + "1. Dense Only (Snowflake) 4.85% 9.16% 3.92% 2.48% 0.0959\n", + "2. BM25 Only 14.63% 28.38% 10.17% 4.65% 0.2756\n", + "3. Dense + BM25 (RRF) 12.56% 27.67% 9.45% 4.77% 0.2330\n", + "4. Dense + BM25 + Reranker 20.66% 31.23% 14.81% 5.88% 0.4272\n", + "===============================================================================================\n" + ] + } + ], + "source": [ + "# Ablation summary\n", + "print(\"\\n\" + \"=\" * 95)\n", + "print(\"ABLATION SUMMARY\")\n", + "print(\"=\" * 95)\n", + "print(f\"{'Method':<40} {'R@10':>8} {'R@50':>8} {'P@10':>8} {'P@50':>8} {'MRR@10':>8}\")\n", + "print(\"-\" * 95)\n", + "for key, m in ablation.items():\n", + " print(f\"{m['label']:<40} {m.get('recall@10',0):>7.2f}% {m.get('recall@50',0):>7.2f}% \"\n", + " f\"{m.get('precision@10',0):>7.2f}% {m.get('precision@50',0):>7.2f}% \"\n", + " f\"{m.get('mrr@10',0):>8.4f}\")\n", + "print(\"=\" * 95)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 8. Error Analysis" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Analyzing errors for: 4. Dense + BM25 + Reranker\n", + "\n", + "Queries with 0 hits@10: 112 / 291\n", + "--------------------------------------------------------------------------------\n", + " [2f20a654] golden=1 | SERVICE_UNAVAILABLE error for CSAT on Ticket Snap-in\n", + " [7e8b3140] golden=4 | where to find agent to test\n", + " [9a3f3a87] golden=19 | fields with options Any of or None of\n", + " [f0383078] golden=1 | delete ticket without notifying customer\n", + " [03b9886d] golden=45 | find issues assigned to particular team member\n", + " [745722d9] golden=17 | build snap-kit based widgets on plug\n", + " [2558f7d0] golden=4 | auto-assign tickets to available agents\n", + " [472c4905] golden=4 | update multiple tickets status in DevRev without going through individually\n", + " [19959f02] golden=1 | Show Sentiment for Ticket as a Column\n", + " [aabf6932] golden=1 | turn off suggestions like 'let me rephrase below\n", + " [e80f2dd2] golden=21 | check schema of subtype of a ticket\n", + " [7a7aed97] golden=17 | enable omnipresent agent experience within the app\n", + " [89bec605] golden=4 | block email from creating tickets and conversations\n", + " [46a0d571] golden=4 | create personal canned response in DevRev\n", + " [c4f050e9] golden=6 | FORBIDDEN error cloning for EMEA\n", + "\n", + "Hits@10 distribution:\n", + "count 291.000000\n", + "mean 1.481100\n", + "std 1.919632\n", + "min 0.000000\n", + "25% 0.000000\n", + "50% 1.000000\n", + "75% 2.000000\n", + "max 10.000000\n", + "Name: hits@10, dtype: float64\n" + ] + } + ], + "source": [ + "# Analyze worst-performing queries from the best pipeline\n", + "best_key = max(ablation, key=lambda k: ablation[k].get(\"recall@10\", 0))\n", + "best = ablation[best_key]\n", + "print(f\"Analyzing errors for: {best['label']}\")\n", + "\n", + "pq_df = pd.DataFrame(best[\"per_query\"]).sort_values(\"hits@10\")\n", + "\n", + "zero_hit = pq_df[pq_df[\"hits@10\"] == 0]\n", + "print(f\"\\nQueries with 0 hits@10: {len(zero_hit)} / {len(pq_df)}\")\n", + "print(\"-\" * 80)\n", + "for _, row in zero_hit.head(15).iterrows():\n", + " print(f\" [{row['query_id'][:8]}] golden={row['golden_count']} | {row['query'][:80]}\")\n", + "\n", + "print(f\"\\nHits@10 distribution:\")\n", + "print(pq_df[\"hits@10\"].describe())" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Query: SERVICE_UNAVAILABLE error for CSAT on Ticket Snap-in\n", + "Golden IDs: {'ART-1174_KNOWLEDGE_NODE-4'}\n", + "\n", + "Golden ID Dense Rank BM25 Rank\n", + "------------------------------------------------------------------\n", + " ART-1174_KNOWLEDGE_NODE-4 403 >500\n" + ] + } + ], + "source": [ + "# Deep dive: where do golden docs rank for a zero-hit query?\n", + "if len(zero_hit) > 0:\n", + " sample = zero_hit.iloc[0]\n", + " q = sample[\"query\"]\n", + " q_id = sample[\"query_id\"]\n", + "\n", + " golden = set()\n", + " for item in annotated_queries:\n", + " if item[\"query_id\"] == q_id:\n", + " golden = {r[\"id\"] for r in item[\"retrievals\"]}\n", + " break\n", + "\n", + " print(f\"Query: {q}\")\n", + " print(f\"Golden IDs: {golden}\")\n", + "\n", + " q_emb = embed_single(q)\n", + " dense_all = search_dense(q_emb, k=500)\n", + " bm25_all = search_bm25(q, k=500)\n", + "\n", + " dense_rank = {doc_ids[idx]: rank for rank, (idx, _) in enumerate(dense_all)}\n", + " bm25_rank = {doc_ids[idx]: rank for rank, (idx, _) in enumerate(bm25_all)}\n", + "\n", + " print(f\"\\n{'Golden ID':<40} {'Dense Rank':>12} {'BM25 Rank':>12}\")\n", + " print(\"-\" * 66)\n", + " for gid in golden:\n", + " dr = dense_rank.get(gid, \">500\")\n", + " br = bm25_rank.get(gid, \">500\")\n", + " print(f\" {gid:<38} {str(dr):>12} {str(br):>12}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 9. Generate Test Query Submissions" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generating test submissions: 100%|██████████| 92/92 [04:59<00:00, 3.26s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generated 92 test results\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n" + ] + } + ], + "source": [ + "TOP_K = 10\n", + "test_results = []\n", + "\n", + "for item in tqdm(test_queries, desc=\"Generating test submissions\"):\n", + " query = item[\"query\"]\n", + " ranked = pipe_hybrid_rerank(query, top_k=TOP_K)\n", + "\n", + " retrievals = []\n", + " for idx, score in ranked:\n", + " retrievals.append({\n", + " \"id\": doc_ids[idx],\n", + " \"text\": doc_texts[idx],\n", + " \"title\": doc_titles[idx],\n", + " })\n", + "\n", + " test_results.append({\n", + " \"query_id\": item[\"query_id\"],\n", + " \"query\": query,\n", + " \"retrievals\": retrievals,\n", + " })\n", + "\n", + "print(f\"Generated {len(test_results)} test results\")" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Saved 92 results to test_queries_results.json\n", + "Saved ablation_metrics.json\n", + "\n", + "Sample result:\n", + "{\n", + " \"query_id\": \"a97f93d2-410a-431f-ae9a-1e23ed35d74c\",\n", + " \"query\": \"end customer organization name not appearing in ticket or conversation\",\n", + " \"retrievals\": [\n", + " {\n", + " \"id\": \"ART-1981_KNOWLEDGE_NODE-30\",\n", + " \"text\": \"conversation of which you are not the owner, let the owner know to respond. It's beneficial to retain the same point of contact for the duration of the conversation unless the owner refers some another user.\\\\n* If the conversation has a customer org that's unidentified or is new, add yourself (the customer experience engineer) as the owner of the ticket. Try to find the appropriate owner for the customer org and update the customer record accordingly.\\\\n* Change the stage of the conversation to\",\n", + " \"title\": \"Support best practices | Computer for Support Teams | DevRe\n" + ] + } + ], + "source": [ + "# Save results\n", + "OUTPUT_FILE = \"test_queries_results.json\"\n", + "\n", + "with open(OUTPUT_FILE, \"w\") as f:\n", + " json.dump(test_results, f, indent=2)\n", + "print(f\"Saved {len(test_results)} results to {OUTPUT_FILE}\")\n", + "\n", + "# Save ablation metrics\n", + "eval_output = {k: {kk: vv for kk, vv in v.items() if kk != 'per_query'}\n", + " for k, v in ablation.items()}\n", + "with open(\"ablation_metrics.json\", \"w\") as f:\n", + " json.dump(eval_output, f, indent=2)\n", + "print(\"Saved ablation_metrics.json\")\n", + "\n", + "# Preview\n", + "print(f\"\\nSample result:\")\n", + "print(json.dumps(test_results[0], indent=2, default=str)[:800])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 10. Parameter Tuning\n", + "\n", + "| Parameter | Default | Range | Effect |\n", + "|-----------|---------|-------|--------|\n", + "| `dense_k` | 100 | 50-300 | Dense candidates for RRF pool |\n", + "| `bm25_k` | 100 | 50-300 | BM25 candidates for RRF pool |\n", + "| RRF `k` | 60 | 10-100 | Lower = more weight to top ranks |\n", + "| Rerank input | 100 | 50-200 | Candidates for reranker |\n", + "| Doc truncation | 512 | 256-1024 | More context vs speed |" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Eval: baseline: 100%|██████████| 50/50 [01:55<00:00, 2.32s/it]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "======================================================================\n", + " baseline -- 50 queries\n", + "======================================================================\n", + " Recall@10: 20.08% Precision@10: 13.60% MRR@10: 0.4072\n", + " Recall@50: 27.88% Precision@50: 4.44% MRR@50: 0.4132\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Eval: wider pool: 100%|██████████| 50/50 [04:23<00:00, 5.27s/it]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "======================================================================\n", + " wider pool -- 50 queries\n", + "======================================================================\n", + " Recall@10: 21.36% Precision@10: 14.60% MRR@10: 0.4177\n", + " Recall@50: 28.68% Precision@50: 4.68% MRR@50: 0.4220\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Eval: rrf_k=30: 100%|██████████| 50/50 [02:55<00:00, 3.51s/it]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "======================================================================\n", + " rrf_k=30 -- 50 queries\n", + "======================================================================\n", + " Recall@10: 20.08% Precision@10: 13.60% MRR@10: 0.4072\n", + " Recall@50: 27.88% Precision@50: 4.44% MRR@50: 0.4132\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Eval: longer docs: 100%|██████████| 50/50 [03:15<00:00, 3.91s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "======================================================================\n", + " longer docs -- 50 queries\n", + "======================================================================\n", + " Recall@10: 21.23% Precision@10: 14.20% MRR@10: 0.4247\n", + " Recall@50: 28.09% Precision@50: 4.52% MRR@50: 0.4279\n", + "\n", + "================================================================================\n", + "TUNING RESULTS (subset)\n", + "================================================================================\n", + "Config R@10 R@50 P@10\n", + "--------------------------------------------------\n", + "baseline 20.08% 27.88% 13.60%\n", + "wider pool 21.36% 28.68% 14.60%\n", + "rrf_k=30 20.08% 27.88% 13.60%\n", + "longer docs 21.23% 28.09% 14.20%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n" + ] + } + ], + "source": [ + "def pipe_tuned(query, top_k=50, dense_k=150, bm25_k=150, rrf_k=60, rerank_n=100, doc_trunc=512):\n", + " q_emb = embed_single(query)\n", + " dense = search_dense(q_emb, k=dense_k)\n", + " sparse = search_bm25(query, k=bm25_k)\n", + " fused = rrf_fuse(dense, sparse, k=rrf_k)\n", + " cands = fused[:rerank_n]\n", + " pairs = [(query, documents[idx][:doc_trunc]) for idx, _ in cands]\n", + " scores = reranker.predict(pairs, show_progress_bar=False)\n", + " scored = [(cands[i][0], float(scores[i])) for i in range(len(cands))]\n", + " scored.sort(key=lambda x: x[1], reverse=True)\n", + " return scored[:top_k]\n", + "\n", + "\n", + "TUNE_QUERIES = 50\n", + "\n", + "configs = [\n", + " {\"dense_k\": 100, \"bm25_k\": 100, \"rrf_k\": 60, \"rerank_n\": 100, \"doc_trunc\": 512, \"label\": \"baseline\"},\n", + " {\"dense_k\": 200, \"bm25_k\": 200, \"rrf_k\": 60, \"rerank_n\": 150, \"doc_trunc\": 512, \"label\": \"wider pool\"},\n", + " {\"dense_k\": 100, \"bm25_k\": 100, \"rrf_k\": 30, \"rerank_n\": 100, \"doc_trunc\": 512, \"label\": \"rrf_k=30\"},\n", + " {\"dense_k\": 150, \"bm25_k\": 150, \"rrf_k\": 60, \"rerank_n\": 100, \"doc_trunc\": 768, \"label\": \"longer docs\"},\n", + "]\n", + "\n", + "tune_results = []\n", + "for cfg in configs:\n", + " label = cfg.pop(\"label\")\n", + " fn = lambda q, top_k=50, _c=cfg: pipe_tuned(q, top_k=top_k, **_c)\n", + " m = evaluate_pipeline(fn, annotated_queries, max_queries=TUNE_QUERIES, label=label)\n", + " tune_results.append(m)\n", + " cfg[\"label\"] = label\n", + "\n", + "print(\"\\n\" + \"=\" * 80)\n", + "print(\"TUNING RESULTS (subset)\")\n", + "print(\"=\" * 80)\n", + "print(f\"{'Config':<20} {'R@10':>8} {'R@50':>8} {'P@10':>8}\")\n", + "print(\"-\" * 50)\n", + "for m in tune_results:\n", + " print(f\"{m['label']:<20} {m['recall@10']:>7.2f}% {m['recall@50']:>7.2f}% {m['precision@10']:>7.2f}%\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.13" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/optimized_retrieval.ipynb b/optimized_retrieval.ipynb new file mode 100644 index 0000000..a0bb468 --- /dev/null +++ b/optimized_retrieval.ipynb @@ -0,0 +1,465 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": "# Optimized Hybrid Retrieval — DevRev Search Benchmark\n\nHybrid retrieval pipeline: Dense + BM25 → Weighted RRF → Sibling Expansion → Cross-Encoder Rerank.\n\nOptimized from ablation findings: BM25 dominates dense (R@10: 14.63 vs 4.85), so BM25 gets 2x weight in RRF. Reranker is the biggest lever (+8% R@10). Wider candidate pools and article-sibling expansion feed more signal to the reranker.\n\n**Systems:**\n\n| Component | Type | Open Source | Details |\n|-----------|------|-------------|---------|\n| [Snowflake Arctic Embed L v2.0](https://huggingface.co/Snowflake/snowflake-arctic-embed-l-v2.0) | Dense embedding model (1024d) | Yes, Apache 2.0 | Encodes queries and documents for semantic similarity search |\n| [BM25 Okapi (rank-bm25)](https://github.com/dorianbrown/rank_bm25) | Sparse term-frequency retrieval | Yes, Apache 2.0 | Keyword-based scoring over tokenized corpus |\n| [FAISS FlatIP](https://github.com/facebookresearch/faiss) | Vector similarity search | Yes, MIT | Exact inner-product nearest neighbor index by Meta |\n| [BAAI BGE-reranker-v2-m3](https://huggingface.co/BAAI/bge-reranker-v2-m3) | Cross-encoder reranker | Yes, Apache 2.0 | Re-scores query-document pairs for precision |\n| [DevRev Search](https://huggingface.co/datasets/devrev/search) | IR evaluation benchmark | Yes | ~65K doc chunks, 291 annotated + 92 test queries |" + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import os, json, pickle, re, time, warnings\n", + "from collections import defaultdict\n", + "\n", + "import numpy as np\n", + "import pandas as pd\n", + "import faiss\n", + "from rank_bm25 import BM25Okapi\n", + "from tqdm import tqdm\n", + "from datasets import load_dataset\n", + "\n", + "warnings.filterwarnings('ignore')\n", + "\n", + "# --- Config ---\n", + "EMBED_MODEL_NAME = \"Snowflake/snowflake-arctic-embed-l-v2.0\"\n", + "RERANKER_MODEL_NAME = \"BAAI/bge-reranker-v2-m3\"\n", + "QUERY_PREFIX = \"Represent this sentence for searching relevant passages: \"\n", + "INDEX_DIR = \"faiss_index_local\"\n", + "\n", + "# Optimized parameters\n", + "DENSE_K = 200\n", + "BM25_K = 200\n", + "RRF_K = 60\n", + "BM25_WEIGHT = 2.0 # BM25 contributes 2x in RRF (since it outperforms dense)\n", + "DENSE_WEIGHT = 1.0\n", + "RERANK_N = 150 # more candidates for reranker\n", + "DOC_TRUNC = 768 # longer context for reranker\n", + "SIBLING_HOPS = 1 # include neighboring chunks from same article" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1. Load Everything" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# FAISS index + doc mapping\n", + "index = faiss.read_index(os.path.join(INDEX_DIR, \"knowledge_base_flat.index\"))\n", + "with open(os.path.join(INDEX_DIR, \"doc_mapping.pkl\"), \"rb\") as f:\n", + " mapping = pickle.load(f)\n", + "\n", + "doc_ids = mapping[\"doc_ids\"]\n", + "documents = mapping[\"documents\"]\n", + "doc_titles = mapping[\"doc_titles\"]\n", + "doc_texts = mapping[\"doc_texts\"]\n", + "\n", + "# Build article-sibling lookup: doc_id -> list of sibling doc indices\n", + "article_to_indices = defaultdict(list)\n", + "for i, did in enumerate(doc_ids):\n", + " art_id = did.split(\"_KNOWLEDGE_NODE\")[0] if \"_KNOWLEDGE_NODE\" in did else did\n", + " article_to_indices[art_id].append(i)\n", + "\n", + "idx_to_article_indices = {}\n", + "for art_id, indices in article_to_indices.items():\n", + " for idx in indices:\n", + " idx_to_article_indices[idx] = indices\n", + "\n", + "print(f\"FAISS index: {index.ntotal:,} vectors (dim={index.d})\")\n", + "print(f\"Documents: {len(documents):,}\")\n", + "print(f\"Articles: {len(article_to_indices):,}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Datasets\n", + "test_queries = load_dataset(\"devrev/search\", \"test_queries\", split=\"test\")\n", + "annotated_queries = load_dataset(\"devrev/search\", \"annotated_queries\", split=\"train\")\n", + "print(f\"Test queries: {len(test_queries)}, Annotated queries: {len(annotated_queries)}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Models\n", + "import torch\n", + "from sentence_transformers import SentenceTransformer, CrossEncoder\n", + "\n", + "device = \"mps\" if torch.backends.mps.is_available() else \"cuda\" if torch.cuda.is_available() else \"cpu\"\n", + "print(f\"Device: {device}\")\n", + "\n", + "embed_model = SentenceTransformer(EMBED_MODEL_NAME, device=device, trust_remote_code=True)\n", + "print(f\"Embed model loaded: dim={embed_model.get_sentence_embedding_dimension()}\")\n", + "\n", + "reranker = CrossEncoder(RERANKER_MODEL_NAME, device=device, trust_remote_code=True)\n", + "print(f\"Reranker loaded: {RERANKER_MODEL_NAME}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# BM25\n", + "with open(\"bm25_local.pkl\", \"rb\") as f:\n", + " bm25 = pickle.load(f)\n", + "print(f\"BM25 index loaded: {bm25.corpus_size:,} docs\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2. Core Functions" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def tokenize(text: str) -> list[str]:\n", + " return re.findall(r'\\w+', text.lower())\n", + "\n", + "\n", + "def embed_queries(queries: list[str]) -> np.ndarray:\n", + " texts = [QUERY_PREFIX + q for q in queries]\n", + " embs = embed_model.encode(texts, batch_size=64, show_progress_bar=False,\n", + " convert_to_numpy=True, normalize_embeddings=True)\n", + " return embs.astype(np.float32)\n", + "\n", + "\n", + "def embed_single(query: str) -> np.ndarray:\n", + " return embed_queries([query])[0]\n", + "\n", + "\n", + "def search_dense(query_emb: np.ndarray, k: int = 200) -> list[tuple[int, float]]:\n", + " q = query_emb.reshape(1, -1)\n", + " scores, indices = index.search(q, k)\n", + " return [(int(i), float(s)) for s, i in zip(scores[0], indices[0]) if i >= 0]\n", + "\n", + "\n", + "def search_bm25(query: str, k: int = 200) -> list[tuple[int, float]]:\n", + " tokens = tokenize(query)\n", + " scores = bm25.get_scores(tokens)\n", + " top_k = np.argsort(scores)[::-1][:k]\n", + " return [(int(i), float(scores[i])) for i in top_k if scores[i] > 0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3. Weighted RRF + Article Sibling Expansion" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def weighted_rrf(ranked_lists: list, weights: list[float], k: int = 60) -> list[tuple[int, float]]:\n", + " \"\"\"RRF with per-source weights. Higher weight = more influence.\"\"\"\n", + " rrf_scores = defaultdict(float)\n", + " for rlist, w in zip(ranked_lists, weights):\n", + " for rank, (doc_idx, _) in enumerate(rlist):\n", + " rrf_scores[doc_idx] += w / (k + rank + 1)\n", + " return sorted(rrf_scores.items(), key=lambda x: x[1], reverse=True)\n", + "\n", + "\n", + "def expand_siblings(candidates: list[tuple[int, float]], max_hops: int = 1) -> list[tuple[int, float]]:\n", + " \"\"\"For each candidate, add neighboring chunks from the same article.\n", + " Siblings get a discounted score.\"\"\"\n", + " seen = {idx for idx, _ in candidates}\n", + " expanded = list(candidates)\n", + "\n", + " for idx, score in candidates:\n", + " siblings = idx_to_article_indices.get(idx, [])\n", + " for sib_idx in siblings:\n", + " if sib_idx not in seen:\n", + " # Only add if within max_hops chunk distance\n", + " if abs(sib_idx - idx) <= max_hops:\n", + " expanded.append((sib_idx, score * 0.5))\n", + " seen.add(sib_idx)\n", + "\n", + " return expanded\n", + "\n", + "\n", + "# Quick test\n", + "q_emb = embed_single(\"How do I set up AirSync?\")\n", + "dense = search_dense(q_emb, k=5)\n", + "sparse = search_bm25(\"How do I set up AirSync?\", k=5)\n", + "fused = weighted_rrf([dense, sparse], [DENSE_WEIGHT, BM25_WEIGHT], k=RRF_K)\n", + "expanded = expand_siblings(fused[:10])\n", + "print(f\"Fused: {len(fused)} docs, After sibling expansion: {len(expanded)} docs\")\n", + "for idx, score in fused[:5]:\n", + " print(f\" {score:.4f} | {doc_ids[idx]} | {doc_titles[idx][:60]}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4. Reranker" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def rerank_candidates(query: str, candidates: list[tuple[int, float]],\n", + " top_k: int = 50, max_cands: int = RERANK_N,\n", + " doc_trunc: int = DOC_TRUNC) -> list[tuple[int, float]]:\n", + " if not candidates:\n", + " return []\n", + " candidates = candidates[:max_cands]\n", + " pairs = [(query, documents[idx][:doc_trunc]) for idx, _ in candidates]\n", + " scores = reranker.predict(pairs, show_progress_bar=False)\n", + " scored = [(candidates[i][0], float(scores[i])) for i in range(len(candidates))]\n", + " scored.sort(key=lambda x: x[1], reverse=True)\n", + " return scored[:top_k]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 5. Optimized Pipeline" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def optimized_retrieve(query: str, top_k: int = 50) -> list[tuple[int, float]]:\n", + " \"\"\"Dense + BM25 -> Weighted RRF -> Sibling expansion -> Rerank.\"\"\"\n", + " q_emb = embed_single(query)\n", + " dense_results = search_dense(q_emb, k=DENSE_K)\n", + " bm25_results = search_bm25(query, k=BM25_K)\n", + "\n", + " # Weighted RRF (BM25 gets 2x weight)\n", + " fused = weighted_rrf([dense_results, bm25_results],\n", + " [DENSE_WEIGHT, BM25_WEIGHT], k=RRF_K)\n", + "\n", + " # Expand with article siblings\n", + " expanded = expand_siblings(fused[:RERANK_N], max_hops=SIBLING_HOPS)\n", + "\n", + " # Rerank\n", + " return rerank_candidates(query, expanded, top_k=top_k)\n", + "\n", + "\n", + "# Test\n", + "results = optimized_retrieve(\"end customer organization name not appearing in ticket\", top_k=5)\n", + "print(\"Optimized results:\")\n", + "for rank, (idx, score) in enumerate(results):\n", + " print(f\" [{rank+1}] {score:.4f} | {doc_ids[idx]} | {doc_titles[idx][:60]}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 6. Evaluation" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def evaluate_pipeline(\n", + " pipeline_fn,\n", + " annotated_data,\n", + " top_k_list=(10, 50),\n", + " max_queries: int = None,\n", + " label: str = \"Pipeline\",\n", + ") -> dict:\n", + " items = list(annotated_data)\n", + " if max_queries:\n", + " items = items[:max_queries]\n", + "\n", + " max_k = max(top_k_list)\n", + " results_by_k = {k: {\"recalls\": [], \"precisions\": [], \"mrrs\": []} for k in top_k_list}\n", + " per_query = []\n", + "\n", + " for item in tqdm(items, desc=f\"Eval: {label}\"):\n", + " query = item[\"query\"]\n", + " golden_ids = {r[\"id\"] for r in item[\"retrievals\"]}\n", + "\n", + " ranked = pipeline_fn(query, top_k=max_k)\n", + " retrieved_ids = [doc_ids[idx] for idx, _ in ranked]\n", + "\n", + " for k in top_k_list:\n", + " top_ids = retrieved_ids[:k]\n", + " hits = sum(1 for rid in top_ids if rid in golden_ids)\n", + " recall = hits / len(golden_ids) if golden_ids else 0\n", + " precision = hits / k\n", + " results_by_k[k][\"recalls\"].append(recall)\n", + " results_by_k[k][\"precisions\"].append(precision)\n", + "\n", + " rr = 0.0\n", + " for rank_pos, rid in enumerate(top_ids):\n", + " if rid in golden_ids:\n", + " rr = 1.0 / (rank_pos + 1)\n", + " break\n", + " results_by_k[k][\"mrrs\"].append(rr)\n", + "\n", + " per_query.append({\n", + " \"query_id\": item[\"query_id\"], \"query\": query,\n", + " \"golden_count\": len(golden_ids),\n", + " \"hits@10\": sum(1 for rid in retrieved_ids[:10] if rid in golden_ids),\n", + " \"hits@50\": sum(1 for rid in retrieved_ids[:50] if rid in golden_ids),\n", + " })\n", + "\n", + " print(f\"\\n{'='*70}\")\n", + " print(f\" {label} -- {len(items)} queries\")\n", + " print(f\"{'='*70}\")\n", + " metrics = {\"label\": label, \"n_queries\": len(items)}\n", + " for k in top_k_list:\n", + " r = np.mean(results_by_k[k][\"recalls\"]) * 100\n", + " p = np.mean(results_by_k[k][\"precisions\"]) * 100\n", + " m = np.mean(results_by_k[k][\"mrrs\"])\n", + " print(f\" Recall@{k}: {r:.2f}% Precision@{k}: {p:.2f}% MRR@{k}: {m:.4f}\")\n", + " metrics[f\"recall@{k}\"] = r\n", + " metrics[f\"precision@{k}\"] = p\n", + " metrics[f\"mrr@{k}\"] = m\n", + "\n", + " metrics[\"per_query\"] = per_query\n", + " return metrics" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Run full evaluation on all 291 annotated queries\n", + "optimized_metrics = evaluate_pipeline(optimized_retrieve, annotated_queries,\n", + " label=\"Optimized (weighted RRF + siblings + rerank)\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Compare with baseline results\n", + "print(\"\\n\" + \"=\" * 90)\n", + "print(\"COMPARISON: Baseline vs Optimized\")\n", + "print(\"=\" * 90)\n", + "print(f\"{'Method':<50} {'R@10':>8} {'R@50':>8} {'MRR@10':>8}\")\n", + "print(\"-\" * 90)\n", + "\n", + "baselines = [\n", + " (\"Baseline: Dense Only\", 4.85, 9.16, 0.0959),\n", + " (\"Baseline: BM25 Only\", 14.63, 28.38, 0.2756),\n", + " (\"Baseline: Dense+BM25 RRF\", 12.56, 27.67, 0.2330),\n", + " (\"Baseline: Dense+BM25+Reranker\", 20.66, 31.23, 0.4272),\n", + "]\n", + "for name, r10, r50, mrr in baselines:\n", + " print(f\"{name:<50} {r10:>7.2f}% {r50:>7.2f}% {mrr:>8.4f}\")\n", + "\n", + "om = optimized_metrics\n", + "print(f\"{'>>> Optimized (this notebook)':<50} {om['recall@10']:>7.2f}% {om['recall@50']:>7.2f}% {om['mrr@10']:>8.4f}\")\n", + "print(\"=\" * 90)\n", + "\n", + "delta_r10 = om['recall@10'] - 20.66\n", + "delta_r50 = om['recall@50'] - 31.23\n", + "print(f\"\\nDelta vs best baseline: R@10: {delta_r10:+.2f}% R@50: {delta_r50:+.2f}%\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 7. Generate Submission" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "TOP_K = 10\n", + "test_results = []\n", + "\n", + "for item in tqdm(test_queries, desc=\"Generating test submissions\"):\n", + " query = item[\"query\"]\n", + " ranked = optimized_retrieve(query, top_k=TOP_K)\n", + "\n", + " retrievals = []\n", + " for idx, score in ranked:\n", + " retrievals.append({\n", + " \"id\": doc_ids[idx],\n", + " \"text\": doc_texts[idx],\n", + " \"title\": doc_titles[idx],\n", + " })\n", + "\n", + " test_results.append({\n", + " \"query_id\": item[\"query_id\"],\n", + " \"query\": query,\n", + " \"retrievals\": retrievals,\n", + " })\n", + "\n", + "print(f\"Generated {len(test_results)} test results\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "OUTPUT_FILE = \"test_queries_results.json\"\n", + "\n", + "with open(OUTPUT_FILE, \"w\") as f:\n", + " json.dump(test_results, f, indent=2)\n", + "print(f\"Saved {len(test_results)} results to {OUTPUT_FILE}\")\n", + "\n", + "# Preview\n", + "print(f\"\\nSample:\")\n", + "print(json.dumps(test_results[0], indent=2, default=str)[:600])" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.13.0" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index b196bf1..dc8cbf1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,3 +6,8 @@ faiss-cpu numpy tqdm pyarrow +rank-bm25 +tqdm +torch +ipykernel +sentence-transformers \ No newline at end of file diff --git a/snowflake_embedding.py b/snowflake_embedding.py new file mode 100644 index 0000000..4572964 --- /dev/null +++ b/snowflake_embedding.py @@ -0,0 +1,141 @@ +""" +Snowflake Arctic Embed Pipeline for DevRev Search Bench2 + +Embeds ~65K DevRev knowledge base articles using Snowflake/snowflake-arctic-embed-l-v2.0, +builds FAISS indexes (IVFFlat + FlatIP) and a BM25 index. + +Usage: + python snowflake_embedding.py + +Outputs: + embeddings_local.npy -- corpus embeddings (65224 x 1024) + bm25_local.pkl -- BM25 index + faiss_index_local/ + doc_mapping.pkl -- id/title/text mapping + knowledge_base.index -- IVFFlat index (fast) + knowledge_base_flat.index -- FlatIP index (exact) +""" + +import os +import pickle +import re +import time + +import faiss +import numpy as np +from datasets import load_dataset +from rank_bm25 import BM25Okapi +from sentence_transformers import SentenceTransformer +from tqdm import tqdm + +# --------------------------------------------------------------------------- +# Config +# --------------------------------------------------------------------------- +EMBED_MODEL = "Snowflake/snowflake-arctic-embed-l-v2.0" +QUERY_PREFIX = "Represent this sentence for searching relevant passages: " + +INDEX_DIR = "faiss_index_local" +EMBEDDINGS_FILE = "embeddings_local.npy" +BM25_FILE = "bm25_local.pkl" +BATCH_SIZE = 64 + + +# --------------------------------------------------------------------------- +# Device +# --------------------------------------------------------------------------- +def get_device(): + import torch + if torch.backends.mps.is_available(): + return "mps" + elif torch.cuda.is_available(): + return "cuda" + return "cpu" + + +# --------------------------------------------------------------------------- +# Main +# --------------------------------------------------------------------------- +def main(): + # 1. Load corpus + print("Loading knowledge base...") + kb = load_dataset("devrev/search", "knowledge_base", split="corpus") + print(f" {len(kb):,} chunks") + + doc_ids, doc_titles, doc_texts, documents = [], [], [], [] + for item in tqdm(kb, desc="Preparing docs"): + doc_ids.append(item["id"]) + doc_titles.append(item["title"]) + doc_texts.append(item["text"]) + documents.append(f"{item['title']}\n\n{item['text']}") + + # 2. Save doc mapping + os.makedirs(INDEX_DIR, exist_ok=True) + with open(os.path.join(INDEX_DIR, "doc_mapping.pkl"), "wb") as f: + pickle.dump({ + "doc_ids": doc_ids, + "doc_titles": doc_titles, + "doc_texts": doc_texts, + "documents": documents, + }, f) + print(f" Saved doc_mapping.pkl") + + # 3. Embed corpus + device = get_device() + print(f"\nLoading {EMBED_MODEL} on {device}...") + model = SentenceTransformer(EMBED_MODEL, device=device, trust_remote_code=True) + embed_dim = model.get_sentence_embedding_dimension() + print(f" Embedding dim: {embed_dim}") + + print(f"\nEmbedding {len(documents):,} docs (batch_size={BATCH_SIZE})...") + t0 = time.time() + embeddings = model.encode( + documents, + batch_size=BATCH_SIZE, + show_progress_bar=True, + convert_to_numpy=True, + normalize_embeddings=True, + ).astype(np.float32) + elapsed = time.time() - t0 + print(f" Done: {embeddings.shape} in {elapsed:.1f}s ({len(documents)/elapsed:.0f} docs/sec)") + + np.save(EMBEDDINGS_FILE, embeddings) + print(f" Saved {EMBEDDINGS_FILE}") + + # 4. Build FAISS indexes + dim = embeddings.shape[1] + n = embeddings.shape[0] + + # IVFFlat + nlist = int(np.sqrt(n)) + quantizer = faiss.IndexFlatIP(dim) + index_ivf = faiss.IndexIVFFlat(quantizer, dim, nlist, faiss.METRIC_INNER_PRODUCT) + index_ivf.train(embeddings) + index_ivf.add(embeddings) + index_ivf.nprobe = 20 + print(f"\n IVFFlat: {index_ivf.ntotal:,} vectors, nlist={nlist}, nprobe=20") + + # FlatIP (exact) + index_flat = faiss.IndexFlatIP(dim) + index_flat.add(embeddings) + print(f" FlatIP: {index_flat.ntotal:,} vectors") + + faiss.write_index(index_ivf, os.path.join(INDEX_DIR, "knowledge_base.index")) + faiss.write_index(index_flat, os.path.join(INDEX_DIR, "knowledge_base_flat.index")) + print(f" Saved to {INDEX_DIR}/") + + # 5. Build BM25 index + print("\nBuilding BM25 index...") + t0 = time.time() + tokenized = [re.findall(r'\w+', doc.lower()) for doc in tqdm(documents, desc="Tokenizing")] + bm25 = BM25Okapi(tokenized) + print(f" BM25 built in {time.time()-t0:.1f}s") + + with open(BM25_FILE, "wb") as f: + pickle.dump(bm25, f) + print(f" Saved {BM25_FILE}") + + print("\nAll done!") + + +if __name__ == "__main__": + main() diff --git a/test_queries_results.json b/test_queries_results.json index 74c199a..04ff4a7 100644 --- a/test_queries_results.json +++ b/test_queries_results.json @@ -9,48 +9,48 @@ "title": "Support best practices | Computer for Support Teams | DevRev" }, { - "id": "ART-1981_KNOWLEDGE_NODE-34", - "text": "ticket.\\n* Make sure all tickets have the customer org field populated.\\n* Cancel any internal ticket without a customer org that has been created by a developer. Ask them to create an issue instead.\\n* If a customer raises a feature request that aligns with the product strategy, but needs significant development effort and will not be delivered in the near future, move it to the *accepted* stage, rather than keeping the ticket open. Inform the customer accordingly.\\n* If a customer reports a", - "title": "Support best practices | Computer for Support Teams | DevRev" + "id": "ART-2040_KNOWLEDGE_NODE-27", + "text": "| \\xe2\\x9c\\x85 | \\xe2\\x9c\\x85 |\\n| Category/Status of Ticket | State/Stage of Ticket | \\xe2\\x9c\\x85 | \\xe2\\x9c\\x85 |\\n| Attachments on Ticket | Attachments on Ticket | \\xe2\\x9c\\x85 | \\xe2\\x9c\\x85 |\\n| Tag on Ticket | Tag on Ticket | \\xe2\\x9c\\x85 | \\xe2\\x9d\\x8c |\\n| Organization | Account | \\xe2\\x9c\\x85 | \\xe2\\x9d\\x8c |\\n| Agent | DevUser | \\xe2\\x9c\\x85 | \\xe2\\x9d\\x8c |\\n| End User | Contact | \\xe2\\x9c\\x85 | \\xe2\\x9d\\x8c |\\n| Chat | Conversation | \\xe2\\x9d\\x8c | \\xe2\\x9d\\x8c |\\n| Conversation |", + "title": "Zendesk AirSync | AirSync | Snap-ins | DevRev" }, { - "id": "ART-1953_KNOWLEDGE_NODE-30", - "text": "linked to a conversation\\n-------------------------------\\n\\n* **Trigger**: A ticket is linked to an existing conversation.\\n* **Action**: The system sends out a notification with the linked ticket number.\\n* **Sender**: {Company\\\\_Name} [support@yourdomain.com](mailto:support@yourdomain.com)\\n* **Subject**: \"\"\\n\\n![]()\\n\\nThis email is only sent to the organizations with [Convergence snap-in](https://docs.devrev.ai/automations/converge)\\n\\nChange of", - "title": "Customer email notifications | Computer by DevRev | DevRev" + "id": "ART-1978_KNOWLEDGE_NODE-44", + "text": "URL and not on the support portal of some other customer.\\n* Customer admin isn't able to see all the tickets of the organization.\\n\\n + This could happen if the customer isn't logged in on the correct URL. If the customer is logged in on the correct URL, then check if there are any tickets that are reported by the other customers in that organization or not. Check if the customer is added as a customer admin or not by logging in to your DevRev application.\\n* You are not able to add customer", + "title": "Customer portal | Computer for Support Teams | DevRev" }, { - "id": "ART-1953_KNOWLEDGE_NODE-29", - "text": "[support@yourdomain.com](mailto:support@yourdomain.com)\\n* **Subject**: \"You are missing messages from \"\\n\\nReply to the customer on a ticket\\n---------------------------------\\n\\n* **Trigger**: When a reply is made to a customer on a ticket.\\n* **Action**: The system sends out a notification to the customer with the reply message.\\n* **Sender**: {Company\\\\_Name} [support@yourdomain.com](mailto:support@yourdomain.com)\\n* **Subject**: \"[{Company\\\\_Name}] Update on TKT-XXX\"\\n\\nTicket", + "id": "ART-1953_KNOWLEDGE_NODE-32", + "text": "\\xe2\\x80\\x9cUpdate on your Conversation with {Company\\\\_Name}\"\\n\\n![]()\\n\\nThis email is only sent to organizations that have installed [Convergence snap-in](https://docs.devrev.ai/automations/converge).\\n\\nCSAT survey for conversation/ticket\\n-----------------------------------\\n\\n* **Trigger**: A CSAT survey is sent for a conversation or ticket.\\n* **Action**: The system sends out a notification with the ticket/conversation number and CSAT form.\\n* **Sender**: DevRev", "title": "Customer email notifications | Computer by DevRev | DevRev" }, { - "id": "ART-1953_KNOWLEDGE_NODE-5", - "text": "ticket conversion](/docs/product/conversation-ticket)\\n + [Tickets](/docs/product/tickets)\\n + [Routing](/docs/product/routing)\\n + [Support best practices](/docs/product/support-bp)\\n + [Customer portal](/docs/product/support-portal)\\n + [Questions & answers](/docs/product/qa)\\n + [Knowledge Base](/docs/product/knowledge-base)\\n\\n - [Articles](/docs/product/articles)\\n - [Collections](/docs/product/collection)\\n + [Turing AI agent](/docs/product/conversational-bot)\\n\\n - [Best", - "title": "Customer email notifications | Computer by DevRev | DevRev" + "id": "ART-1974_KNOWLEDGE_NODE-24", + "text": "Teams](/docs/product/support)\\n[Conversations](/docs/product/conversation)\\n\\nConversations\\n=============\\n\\nA conversation is an object type that's used to track any synchronous or near-synchronous discussions. A conversation maybe started by a customer, a builder, or a system (auto-created).\\n\\nA new conversation is routed to the customer org's default owner unless it matches keywords in the support routing snap-in configuration.\\n\\nConversations from new or unidentified customer orgs have", + "title": "Conversations | Computer for Support Teams | DevRev" }, { - "id": "ART-1979_KNOWLEDGE_NODE-63", - "text": "support tickets on behalf of customers\\xe2\\x80\\x94without granting customers access to these tickets. This feature enables internal collaboration while keeping the ticket invisible to the customer until explicitly made external.\\n\\nEven if a ticket contains customer-related information (such as the customer workspace or the **Reported by** field), it remains inaccessible to the customer unless it is explicitly converted into an external ticket. The **Customer Messages** tab is unavailable for", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-1986_KNOWLEDGE_NODE-45", + "text": "selected on the ticket is not assigned any SLA.\\n\\n\\xc2\\xa0\\xc2\\xa0 \\xc2\\xa0 - Action: Check your SLA assignment rules or add the customer as an exception to any of your SLAs.\\n\\n![]()\\n\\nThe **SLA Name** is never empty if your organization has a default SLA.\\n\\n1. Verify policy conditions:\\n\\n\\xc2\\xa0\\xc2\\xa0 - If the **SLA Name** is populated but you still see no SLA metrics running on the ticket, the ticket does not satisfy the conditions of any policy within the SLA.\\n\\n\\xc2\\xa0\\xc2\\xa0", + "title": "Service-level agreement | Computer for Support Teams | DevRev" }, { - "id": "ART-1978_KNOWLEDGE_NODE-44", - "text": "URL and not on the support portal of some other customer.\\n* Customer admin isn't able to see all the tickets of the organization.\\n\\n + This could happen if the customer isn't logged in on the correct URL. If the customer is logged in on the correct URL, then check if there are any tickets that are reported by the other customers in that organization or not. Check if the customer is added as a customer admin or not by logging in to your DevRev application.\\n* You are not able to add customer", - "title": "Customer portal | Computer for Support Teams | DevRev" + "id": "ART-1981_KNOWLEDGE_NODE-28", + "text": "new conversation. Respond within 1 hour to new messages on existing conversations. Change the stage of conversation to *awaiting customer response* as soon as you have responded.\\n* In **Updates**, filter by **Type** > **Mentioned**. Respond to those updates first.\\n* Create a ticket if you aren't able to resolve the conversation in 20 minutes. As soon as the ticket is opened, move it to the *escalate* stage. The owner of the ticket is the owner of the customer org where the conversation", + "title": "Support best practices | Computer for Support Teams | DevRev" }, { - "id": "ART-1953_KNOWLEDGE_NODE-36", - "text": "conversation](#ticket-linked-to-a-conversation)\\n* [Change of stage of a ticket/conversation](#change-of-stage-of-a-ticketconversation)\\n* [CSAT survey for conversation/ticket](#csat-survey-for-conversationticket)\\n* [Auto customer reply](#auto-customer-reply)\\n* [Auto reply on email](#auto-reply-on-email)\\n\\n[Enterprise grade security to protect customer data\\n\\nLearn more about it.\\n\\n![]()](/blog/soc-compliance)\\n\\nComputer\\n\\n* [Meet Computer](/meet-computer)\\n* [How Computer", - "title": "Customer email notifications | Computer by DevRev | DevRev" + "id": "ART-2002_KNOWLEDGE_NODE-25", + "text": "about the customer initiating the conversation. Similarly, tickets on DevRev can capture who the ticket was reported by (or reported for).\\n\\nConcepts\\n--------\\n\\nCustomer identity in DevRev includes the following important constructs:\\n\\n* **External User/contact**: Your end user or customer or users associated with organization Accounts or Workspaces.\\n* **Account/workspace**: Any logical grouping that an external user is part of. It could represent a customer account for your B2B product", + "title": "Contacts | Computer for Growth Teams | DevRev" }, { - "id": "ART-1953_KNOWLEDGE_NODE-24", - "text": "conversation](#reply-to-the-customer-on-a-conversation)\\n* [Reply to the customer on a ticket](#reply-to-the-customer-on-a-ticket)\\n* [Ticket linked to a conversation](#ticket-linked-to-a-conversation)\\n* [Change of stage of a ticket/conversation](#change-of-stage-of-a-ticketconversation)\\n* [CSAT survey for conversation/ticket](#csat-survey-for-conversationticket)\\n* [Auto customer reply](#auto-customer-reply)\\n* [Auto reply on email](#auto-reply-on-email)\\n\\n1. [Documentation](/docs)\\n3.", - "title": "Customer email notifications | Computer by DevRev | DevRev" + "id": "ART-1974_KNOWLEDGE_NODE-33", + "text": "have been addressed.\\n\\n A conversation set to *resolved* still shows in the end-user's widget. If they respond again, it reopens the conversation and set the status to *needs response*.\\n* *Archived*\\n\\n The final stage for conversation.\\n\\n[PreviousTicket-Team Performance](/docs/dashboards/ticket-team-performance)[NextConversation to ticket conversion](/docs/product/conversation-ticket)\\n\\n#### On this page\\n\\n* [Stages](#stages)\\n\\n[Enterprise grade security to protect customer", + "title": "Conversations | Computer for Support Teams | DevRev" }, { - "id": "ART-1953_KNOWLEDGE_NODE-31", - "text": "stage of a ticket/conversation\\n----------------------------------------\\n\\n* **Trigger**: When there\\'s a change of stage in a ticket or conversation.\\n* **Action**: The system sends out a notification detailing the Ticket/Conversation number and stage change.\\n* **Sender**: {Company\\\\_Name} [support@yourdomain.com](mailto:support@yourdomain.com)\\n* **Subject**:\\n + For ticket: \"[{Company\\\\_Name}] Update on TKT-XXX - Ticket Title\"\"\"\\n + For conversations:", + "id": "ART-1953_KNOWLEDGE_NODE-30", + "text": "linked to a conversation\\n-------------------------------\\n\\n* **Trigger**: A ticket is linked to an existing conversation.\\n* **Action**: The system sends out a notification with the linked ticket number.\\n* **Sender**: {Company\\\\_Name} [support@yourdomain.com](mailto:support@yourdomain.com)\\n* **Subject**: \"\"\\n\\n![]()\\n\\nThis email is only sent to the organizations with [Convergence snap-in](https://docs.devrev.ai/automations/converge)\\n\\nChange of", "title": "Customer email notifications | Computer by DevRev | DevRev" } ] @@ -60,54 +60,54 @@ "query": "Android SDK session generated with Unknown user", "retrievals": [ { - "id": "ART-2898_KNOWLEDGE_NODE-10", - "text": "identification\\n\\nThe anonymous identification method allows you to create an anonymous user with an optional or random user identifier, ensuring that no other data is stored or associated with the user.\\n\\n###### Kotlin\\n\\n###### Java\\n\\n[code]\\n\\n 1| DevRev.identifyAnonymousUser( \\n ---|--- \\n 2| userId: String \\n 3| )\\n[/code] \\n \\n### Unverified identification\\n\\nThe unverified identification method identifies users with a unique identifier, but it does not verify their", - "title": "Android integration \u2014 DevRev | Docs" - }, - { - "id": "ART-15513_KNOWLEDGE_NODE-1", - "text": "[Exchange your AAT for a session token](/sdks/android/features#exchange-your-aat-for-a-session-token)\\n* [Identify the verified user](/sdks/android/features#identify-the-verified-user)\\n* [Updating the user](/sdks/android/features#updating-the-user)\\n* [Logout](/sdks/android/features#logout)\\n* [Identity model](/sdks/android/features#identity-model)\\n* [Properties](/sdks/android/features#properties)\\n* [User traits](/sdks/android/features#user-traits)\\n* [Organization", + "id": "ART-15513_KNOWLEDGE_NODE-0", + "text": "b'Features | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nPublic\\n\\nPublic\\n\\nSearch\\n\\n`/`\\n\\nOn this page\\n\\n* [Identification](/sdks/android/features#identification)\\n* [Identify an anonymous user](/sdks/android/features#identify-an-anonymous-user)\\n* [Identify an unverified user](/sdks/android/features#identify-an-unverified-user)\\n* [Identify a verified user](/sdks/android/features#identify-a-verified-user)\\n* [Generate an AAT](/sdks/android/features#generate-an-aat)\\n*", "title": "Features | DevRev | Docs" }, { - "id": "ART-2898_KNOWLEDGE_NODE-1", - "text": "identification](/public/sdks/mobile/android#unverified-identification)\\n * [Update user information](/public/sdks/mobile/android#update-user-information)\\n * [PLuG support chat](/public/sdks/mobile/android#plug-support-chat)\\n * [Analytics](/public/sdks/mobile/android#analytics)\\n * [Session analytics](/public/sdks/mobile/android#session-analytics)\\n * [Opt in or out](/public/sdks/mobile/android#opt-in-or-out)\\n * [Session recording](/public/sdks/mobile/android#session-recording)\\n *", - "title": "Android integration \u2014 DevRev | Docs" + "id": "ART-12460_KNOWLEDGE_NODE-14", + "text": "map. You can track these events using the following function:\\n\\n#####\\n\\nThis functionality requires the SDK to be configured and the user to be identified, whether they are unverified or anonymous.\\n\\n[code]\\n\\n 1| DevRev.trackEvent(name, properties, successCallback, errorCallback) \\n ---|---\\n[/code] \\n \\n## Session analytics\\n\\nThe DevRev SDK offers session analytics features to help you understand how users interact with your app.\\n\\n### Opting-in or out\\n\\nSession analytics", + "title": "Features \u2014 DevRev | Docs" }, { - "id": "ART-15506_KNOWLEDGE_NODE-29", - "text": "window.plugSDK.shutdown(); |\\n| 6 | } |\\n| 7 | window.plugSDK.init({ |\\n| 8 | app_id: appId, |\\n| 9 | |\\n| 10 | // Pass the session details |\\n| 11 | session_recording_options: { |\\n| 12 | sessionDetails: { |\\n| 13 | sessionId: sessionId, |\\n| 14 | tabId: tabId, |\\n| 15 | }, |\\n| 16 | }, |\\n| 17 | |\\n| 18 | // With session token |\\n| 19 | session_token: sessionToken, |\\n| 20 | // Or without session token |\\n| 21 | identity: {}, |\\n| 22 | }); |\\n```\\n\\nWas this page", + "id": "ART-15506_KNOWLEDGE_NODE-21", + "text": "and thereby make the widget more customized for the user and their context.\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | // You can generate this session token using the above API in your backend |\\n| 2 | const sessionToken = \\'\\' |\\n| 3 | |\\n| 4 | |\\n```\\n\\nTo ensure", + "title": "Install the Web SDK | DevRev | Docs" }, { - "id": "ART-12971_KNOWLEDGE_NODE-9", - "text": "Status](https://devrev.ai/status)\\n\\n\\xc2\\xa9 2025 DevRev Inc.\\n\\n'", - "title": "Create Chat \u2014 DevRev | Docs" + "id": "ART-15306_KNOWLEDGE_NODE-3", + "text": "Change\\n\\nNext](/api-reference/code-changes/create)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Update Chat | DevRev | Docs" } ] }, @@ -904,50 +904,50 @@ "text": "bar.\\n\\n![]()\\n\\nTo export vistas to CSV or JSON, click **Actions** and select the format in which you want to export the vista. This allows you to export this data with the filters applied (segmented by owners or some filters). Cross-functional teams can collaborate on this data or import it into other platforms.\\n\\nDelete a vista\\n--------------\\n\\n1. Select the vista you want to delete from **My list** and click the edit button next to the name of your vista.\\n2. Click **Remove access**.\\n3.", "title": "Vistas | Computer by DevRev | DevRev" }, - { - "id": "ART-15481_KNOWLEDGE_NODE-6", - "text": "not set, then no later elements exist.\\n\\nprev\\\\_cursorstring or null`format: \"text\"`\\n\\nThe cursor used to iterate preceding results in accordance to the\\nsort order. If not set, then no prior elements exist.\\n\\nvista\\\\_grouplist of objects or null\\n\\nList of vista group items.\\n\\nShow 3 variants\\n\\n### Errors\\n\\n400\\n\\nBad Request Error\\n\\n401\\n\\nUnauthorized Error\\n\\n403\\n\\nForbidden Error\\n\\n429\\n\\nToo Many Requests Error\\n\\n500\\n\\nInternal Server Error\\n\\n503\\n\\nService Unavailable", - "title": "List Vistas Groups | DevRev | Docs" - }, { "id": "ART-1302_KNOWLEDGE_NODE-161", "text": "will always be returned in the specified sort-by order.\\nsort_by list of strings Optional\\nComma-separated fields to sort the groups by.\\nResponse.\\n\\nThis endpoint returns an object.\\ngroups list of objects\\nThe list of groups.\\nShow 11 properties\\nnext_cursor string Optional\\nThe cursor used to iterate subsequent results in accordance to the sort order. If not set, then no later elements exist.\\nprev_cursor string Optional\\nThe cursor used to iterate preceding results in accordance to the", "title": "Export \u2014 DevRev | Docs" }, { - "id": "ART-15481_KNOWLEDGE_NODE-5", - "text": "stringsOptional\\n\\nComma-separated fields to sort the objects by.\\n\\nstatelist of enumsOptional\\n\\nDenotes the state of the vista group item.\\n\\nAllowed values:activecompletedplanned\\n\\ntypelist of enumsOptional\\n\\nFilters for vista group items of the specific type.\\n\\nAllowed values:curateddynamic\\n\\n### Response\\n\\nThe response to listing the vistas group items.\\n\\nnext\\\\_cursorstring or null`format: \"text\"`\\n\\nThe cursor used to iterate subsequent results in accordance to the\\nsort order. If", - "title": "List Vistas Groups | DevRev | Docs" - }, - { - "id": "ART-15481_KNOWLEDGE_NODE-1", - "text": "it](/api-reference/vistas/groups-list?explorer=true)\\n\\n200Retrieved\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | { |\\n| 2 | \"next_cursor\": \"string\", |\\n| 3 | \"prev_cursor\": \"string\", |\\n| 4 | \"vista_group\": [ |\\n| 5 | { |\\n| 6 | \"end_date\": \"2023-01-01T12:00:00.000Z\", |\\n| 7 | \"id\": \"string\", |\\n| 8 | \"name\": \"string\", |\\n| 9 | \"parent\": { |\\n| 10 | \"type\": \"string\", |\\n| 11 | \"display_id\": \"string\", |\\n| 12 | \"flavor\": \"nnl\", |\\n| 13 | \"id\": \"VISTA-12345\", |\\n| 14 | \"name\": \"string\" |\\n| 15 | },", - "title": "List Vistas Groups | DevRev | Docs" + "id": "ART-1652_KNOWLEDGE_NODE-150", + "text": "Optional\\nThe iteration mode to use, otherwise if not set, then \"after\" is used.\\nAllowed values: after before\\nsort_by string Optional\\nComma-separated fields to sort the groups by.\\nResponse.\\n\\nThis endpoint returns an object.\\ngroups list of objects\\nThe list of groups.\\nShow 11 properties\\nnext_cursor string Optional\\nThe cursor used to iterate subsequent results in accordance to the sort order. If not set, then no later elements exist.\\nprev_cursor string Optional\\nThe cursor used to", + "title": "Export \u2014 DevRev | Docs" }, { - "id": "ART-15479_KNOWLEDGE_NODE-1", - "text": "|\\n```\\n\\n[Try it](/api-reference/vistas/groups-get?explorer=true)\\n\\n200Retrieved\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | { |\\n| 2 | \"vista_group\": { |\\n| 3 | \"end_date\": \"2023-01-01T12:00:00.000Z\", |\\n| 4 | \"id\": \"string\", |\\n| 5 | \"name\": \"string\", |\\n| 6 | \"parent\": { |\\n| 7 | \"type\": \"string\", |\\n| 8 | \"display_id\": \"string\", |\\n| 9 | \"flavor\": \"nnl\", |\\n| 10 | \"id\": \"VISTA-12345\", |\\n| 11 | \"name\": \"string\" |\\n| 12 | }, |\\n| 13 | \"start_date\": \"2023-01-01T12:00:00.000Z\", |\\n| 14 | \"state\":", - "title": "Get Vistas Group | DevRev | Docs" + "id": "ART-1303_KNOWLEDGE_NODE-155", + "text": "Optional\\nThe iteration mode to use, otherwise if not set, then \"after\" is used.\\nAllowed values: after before\\nsort_by string Optional\\nComma-separated fields to sort the groups by.\\nResponse.\\n\\nThis endpoint returns an object.\\ngroups list of objects\\nThe list of groups.\\nShow 11 properties\\nnext_cursor string Optional\\nThe cursor used to iterate subsequent results in accordance to the sort order. If not set, then no later elements exist.\\nprev_cursor string Optional\\nThe cursor used to", + "title": "Export Post \u2014 DevRev | Docs" }, { - "id": "ART-15463_KNOWLEDGE_NODE-1", - "text": "|\\n| > | -H \"Content-Type: application/json\" \\\\ |\\n| > | -d \\'{ |\\n| > | \"id\": \"string\" |\\n| > | }\\' |\\n```\\n\\n[Try it](/api-reference/vistas/groups-get-post?explorer=true)\\n\\n200Successful\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | { |\\n| 2 | \"vista_group\": { |\\n| 3 | \"end_date\": \"2023-01-01T12:00:00.000Z\", |\\n| 4 | \"id\": \"string\", |\\n| 5 | \"name\": \"string\", |\\n| 6 | \"parent\": { |\\n| 7 | \"type\": \"string\", |\\n| 8 | \"display_id\": \"string\", |\\n| 9 | \"flavor\": \"nnl\", |\\n| 10 | \"id\": \"VISTA-12345\", |\\n|", - "title": "Get Vistas Group (POST) | DevRev | Docs" + "id": "ART-1639_KNOWLEDGE_NODE-150", + "text": "Optional\\nThe iteration mode to use, otherwise if not set, then \"after\" is used.\\nAllowed values: after before\\nsort_by string Optional\\nComma-separated fields to sort the groups by.\\nResponse.\\n\\nThis endpoint returns an object.\\ngroups list of objects\\nThe list of groups.\\nShow 11 properties\\nnext_cursor string Optional\\nThe cursor used to iterate subsequent results in accordance to the sort order. If not set, then no later elements exist.\\nprev_cursor string Optional\\nThe cursor used to", + "title": "Export Post \u2014 DevRev | Docs" }, { "id": "ART-15465_KNOWLEDGE_NODE-6", "text": "values:afterbefore\\n\\nmodified\\\\_dateobjectOptional\\n\\nProvides ways to specify date ranges on objects.\\n\\nShow 2 variants\\n\\nparent\\\\_idlist of stringsOptional\\n\\nParent ID of the vista group item.\\n\\nsort\\\\_bylist of stringsOptional\\n\\nComma-separated fields to sort the objects by.\\n\\nstart\\\\_dateobjectOptional\\n\\nProvides ways to specify date ranges on objects.\\n\\nShow 2 variants\\n\\nstatelist of enumsOptional\\n\\nDenotes the state of the vista group item.\\n\\nAllowed", "title": "List Vistas Groups (POST) | DevRev | Docs" }, + { + "id": "ART-2065_KNOWLEDGE_NODE-30", + "text": "items into visual cards, organized in columns and rows. It enhances workflow visualization, limits work in progress, and allows drag-and-drop management through different stages. Ideal for moving tickets, tracking issues, and managing sales opportunities.\\n* When exporting a view as CSV, you can now choose to export either all columns of the record or only the columns currently displayed in your view.\\n* In list views, when grouping issues or tickets, you can now sort group labels by their", + "title": "August 2025 | Changelog | DevRev" + }, + { + "id": "ART-15481_KNOWLEDGE_NODE-6", + "text": "not set, then no later elements exist.\\n\\nprev\\\\_cursorstring or null`format: \"text\"`\\n\\nThe cursor used to iterate preceding results in accordance to the\\nsort order. If not set, then no prior elements exist.\\n\\nvista\\\\_grouplist of objects or null\\n\\nList of vista group items.\\n\\nShow 3 variants\\n\\n### Errors\\n\\n400\\n\\nBad Request Error\\n\\n401\\n\\nUnauthorized Error\\n\\n403\\n\\nForbidden Error\\n\\n429\\n\\nToo Many Requests Error\\n\\n500\\n\\nInternal Server Error\\n\\n503\\n\\nService Unavailable", + "title": "List Vistas Groups | DevRev | Docs" + }, { "id": "ART-15465_KNOWLEDGE_NODE-5", "text": "information about a list of vista groups.\\n\\nmodeenumOptional\\n\\nThe iteration mode to use. If \\xe2\\x80\\x9cafter\\xe2\\x80\\x9d, then entries after the provided\\ncursor will be returned, or if no cursor is provided, then from the\\nbeginning. If \\xe2\\x80\\x9cbefore\\xe2\\x80\\x9d, then entries before the provided cursor will be\\nreturned, or if no cursor is provided, then from the end. Entries will\\nalways be returned in the specified sort-by order.\\n\\nAllowed", "title": "List Vistas Groups (POST) | DevRev | Docs" }, { - "id": "ART-15465_KNOWLEDGE_NODE-1", - "text": "\" \\\\ |\\n| > | -H \"Content-Type: application/json\" \\\\ |\\n| > | -d \\'{}\\' |\\n```\\n\\n[Try it](/api-reference/vistas/groups-list-post?explorer=true)\\n\\n200Successful\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | { |\\n| 2 | \"next_cursor\": \"string\", |\\n| 3 | \"prev_cursor\": \"string\", |\\n| 4 | \"vista_group\": [ |\\n| 5 | { |\\n| 6 | \"end_date\": \"2023-01-01T12:00:00.000Z\", |\\n| 7 | \"id\": \"string\", |\\n| 8 | \"name\": \"string\", |\\n| 9 | \"parent\": { |\\n| 10 | \"type\": \"string\", |\\n| 11 | \"display_id\": \"string\",", - "title": "List Vistas Groups (POST) | DevRev | Docs" + "id": "ART-15481_KNOWLEDGE_NODE-5", + "text": "stringsOptional\\n\\nComma-separated fields to sort the objects by.\\n\\nstatelist of enumsOptional\\n\\nDenotes the state of the vista group item.\\n\\nAllowed values:activecompletedplanned\\n\\ntypelist of enumsOptional\\n\\nFilters for vista group items of the specific type.\\n\\nAllowed values:curateddynamic\\n\\n### Response\\n\\nThe response to listing the vistas group items.\\n\\nnext\\\\_cursorstring or null`format: \"text\"`\\n\\nThe cursor used to iterate subsequent results in accordance to the\\nsort order. If", + "title": "List Vistas Groups | DevRev | Docs" } ] }, @@ -956,54 +956,54 @@ "query": "accounts.export API filter by created date after", "retrievals": [ { - "id": "ART-1254_KNOWLEDGE_NODE-7", - "text": "\"date-time\"`\\n\\nFilters for objects created after the provided timestamp (inclusive).\\n\\nmodified\\\\_date.beforestringOptional`format: \"date-time\"`\\n\\nFilters for objects created before the provided timestamp\\n(inclusive).\\n\\nsort\\\\_bylist of stringsOptional\\n\\nFields to sort the accounts by and the direction to sort them in.\\n\\nstagelist of stringsOptional\\n\\nFilters for accounts on specified stages.\\n\\ntierlist of stringsOptional\\n\\nTier of the accounts to be filtered.\\n\\nwebsiteslist of", - "title": "Export Accounts | DevRev | Docs" + "id": "ART-1302_KNOWLEDGE_NODE-8", + "text": "\" : \" value \" 3 }\\nAPI Reference accounts Export.\\n\\nGET https:// api.devrev.ai / accounts.export\\nExports a collection of accounts.\\nQuery parameters.\\n\\ncreated_by string Optional\\nFilters for accounts created by the specified user(s).\\ncreated_date.after datetime Optional\\nFilters for objects created after the provided timestamp (inclusive).\\ncreated_date.before datetime Optional\\nFilters for objects created before the provided timestamp (inclusive).\\ncustom_fields map from strings to any", + "title": "Export \u2014 DevRev | Docs" }, { - "id": "ART-1254_KNOWLEDGE_NODE-6", - "text": "provided timestamp (inclusive).\\n\\ncreated\\\\_date.beforestringOptional`format: \"date-time\"`\\n\\nFilters for objects created before the provided timestamp\\n(inclusive).\\n\\ndisplay\\\\_namelist of stringsOptional\\n\\nArray of display names of accounts to be filtered.\\n\\nexternal\\\\_refslist of stringsOptional\\n\\nArray of references of accounts to be filtered.\\n\\nfirstintegerOptional`>=1``<=500`\\n\\nThe number of accounts to return. The default is \\'50\\'.\\n\\nmodified\\\\_date.afterstringOptional`format:", - "title": "Export Accounts | DevRev | Docs" + "id": "ART-1301_KNOWLEDGE_NODE-8", + "text": "\" : \" value \" 3 }\\nAPI Reference accounts Export.\\n\\nGET https:// api.devrev.ai / accounts.export\\nExports a collection of accounts.\\nQuery parameters.\\n\\ncreated_by string Optional\\nFilters for accounts created by the specified user(s).\\ncreated_date.after datetime Optional\\nFilters for objects created after the provided timestamp (inclusive).\\ncreated_date.before datetime Optional\\nFilters for objects created before the provided timestamp (inclusive).\\ncustom_fields map from strings to any", + "title": "Delete \u2014 DevRev | Docs" }, { - "id": "ART-1449_KNOWLEDGE_NODE-2", - "text": "user(s).\\n\\ncreated_date.afterstringOptional`format: \"date-time\"`\\n\\nFilters for objects created after the provided timestamp (inclusive).\\n\\ncreated_date.beforestringOptional`format: \"date-time\"`\\n\\nFilters for objects created before the provided timestamp (inclusive).\\n\\ndisplay_namelist of stringsOptional\\n\\nArray of display names of accounts to be filtered.\\n\\nexternal_refslist of stringsOptional\\n\\nArray of references of accounts to be filtered.\\n\\nfirstintegerOptional`>=1``<=500`\\n\\nThe", - "title": "Export Accounts \u2014 DevRev | Docs" + "id": "ART-1509_KNOWLEDGE_NODE-3", + "text": "delete.\\nResponse.\\n\\nThis endpoint returns a map from strings to any.\\nAPI Reference accounts Export.\\n\\nGET https:// api.devrev.ai / accounts.export\\nExports a collection of accounts.\\nQuery parameters.\\n\\ncreated_by string Optional\\nFilters for accounts created by the specified user(s).\\ncreated_date.after datetime Optional\\nFilters for objects created after the provided timestamp (inclusive).\\ncreated_date.before datetime Optional\\nFilters for objects created before the provided timestamp", + "title": "Prepare \u2014 DevRev | Docs" }, { - "id": "ART-1652_KNOWLEDGE_NODE-12", - "text": "objects created after the provided timestamp (inclusive).\\nmodified_date.before datetime Optional\\nFilters for objects created before the provided timestamp (inclusive).\\nowned_by string Optional\\nFilters for accounts owned by the specified user(s).\\nsort_by string Optional\\nFields to sort the accounts by and the direction to sort them in.\\nstage string Optional\\nFilters for accounts on specified stages.\\ntags string Optional\\nList of tags to be filtered.\\nResponse.\\n\\nThis endpoint returns an", - "title": "Export \u2014 DevRev | Docs" + "id": "ART-1836_KNOWLEDGE_NODE-3", + "text": "delete.\\nResponse.\\n\\nThis endpoint returns a map from strings to any.\\nAPI Reference accounts Export.\\n\\nGET https:// api.devrev.ai / accounts.export\\nExports a collection of accounts.\\nQuery parameters.\\n\\ncreated_by string Optional\\nFilters for accounts created by the specified user(s).\\ncreated_date.after datetime Optional\\nFilters for objects created after the provided timestamp (inclusive).\\ncreated_date.before datetime Optional\\nFilters for objects created before the provided timestamp", + "title": "Get Post \u2014 DevRev | Docs" }, { - "id": "ART-1303_KNOWLEDGE_NODE-6", - "text": "exported accounts.\\nShow 18 properties\\nGET / accounts.export\\n$ curl -G https://api.devrev.ai/accounts.export \\\\ > -H \" Authorization: Bearer \" \\\\ > --data-urlencode created_date.after=2023-01-01T12:00:00Z \\\\ > --data-urlencode created_date.before=2023-01-01T12:00:00Z \\\\ > --data-urlencode modified_date.after=2023-01-01T12:00:00Z \\\\ > --data-urlencode modified_date.before=2023-01-01T12:00:00Z\\n200 Retrieved 1 { 2 \" accounts \" : [ 3 { 4 \" created_date \" : \" 2023-01-01T12:00:00Z \" , 5 \"", - "title": "Export Post \u2014 DevRev | Docs" + "id": "ART-1826_KNOWLEDGE_NODE-3", + "text": "delete.\\nResponse.\\n\\nThis endpoint returns a map from strings to any.\\nAPI Reference accounts Export.\\n\\nGET https:// api.devrev.ai / accounts.export\\nExports a collection of accounts.\\nQuery parameters.\\n\\ncreated_by string Optional\\nFilters for accounts created by the specified user(s).\\ncreated_date.after datetime Optional\\nFilters for objects created after the provided timestamp (inclusive).\\ncreated_date.before datetime Optional\\nFilters for objects created before the provided timestamp", + "title": "Get Post \u2014 DevRev | Docs" }, { - "id": "ART-1652_KNOWLEDGE_NODE-10", - "text": "Optional\\nFilters for accounts created by the specified user(s).\\ncreated_date.after datetime Optional\\nFilters for objects created after the provided timestamp (inclusive).\\ncreated_date.before datetime Optional\\nFilters for objects created before the provided timestamp (inclusive).\\ncursor string Optional\\nThe cursor to resume iteration from. If not provided, then iteration starts from the beginning.\\ncustom_fields map from strings to any Optional\\nFilters for custom fields.\\ndisplay_name", - "title": "Export \u2014 DevRev | Docs" + "id": "ART-1305_KNOWLEDGE_NODE-3", + "text": "delete.\\nResponse.\\n\\nThis endpoint returns a map from strings to any.\\nAPI Reference accounts Export.\\n\\nGET https:// api.devrev.ai / accounts.export\\nExports a collection of accounts.\\nQuery parameters.\\n\\ncreated_by string Optional\\nFilters for accounts created by the specified user(s).\\ncreated_date.after datetime Optional\\nFilters for objects created after the provided timestamp (inclusive).\\ncreated_date.before datetime Optional\\nFilters for objects created before the provided timestamp", + "title": "Get Post \u2014 DevRev | Docs" }, { - "id": "ART-1303_KNOWLEDGE_NODE-15", - "text": "Optional\\nFilters for accounts created by the specified user(s).\\ncreated_date.after datetime Optional\\nFilters for objects created after the provided timestamp (inclusive).\\ncreated_date.before datetime Optional\\nFilters for objects created before the provided timestamp (inclusive).\\ncursor string Optional\\nThe cursor to resume iteration from. If not provided, then iteration starts from the beginning.\\ncustom_fields map from strings to any Optional\\nFilters for custom fields.\\ndisplay_name", - "title": "Export Post \u2014 DevRev | Docs" + "id": "ART-1802_KNOWLEDGE_NODE-3", + "text": "delete.\\nResponse.\\n\\nThis endpoint returns a map from strings to any.\\nAPI Reference accounts Export.\\n\\nGET https:// api.devrev.ai / accounts.export\\nExports a collection of accounts.\\nQuery parameters.\\n\\ncreated_by string Optional\\nFilters for accounts created by the specified user(s).\\ncreated_date.after datetime Optional\\nFilters for objects created after the provided timestamp (inclusive).\\ncreated_date.before datetime Optional\\nFilters for objects created before the provided timestamp", + "title": "Get Post \u2014 DevRev | Docs" }, { - "id": "ART-1639_KNOWLEDGE_NODE-10", - "text": "Optional\\nFilters for accounts created by the specified user(s).\\ncreated_date.after datetime Optional\\nFilters for objects created after the provided timestamp (inclusive).\\ncreated_date.before datetime Optional\\nFilters for objects created before the provided timestamp (inclusive).\\ncursor string Optional\\nThe cursor to resume iteration from. If not provided, then iteration starts from the beginning.\\ncustom_fields map from strings to any Optional\\nFilters for custom fields.\\ndisplay_name", - "title": "Export Post \u2014 DevRev | Docs" + "id": "ART-1830_KNOWLEDGE_NODE-3", + "text": "delete.\\nResponse.\\n\\nThis endpoint returns a map from strings to any.\\nAPI Reference accounts Export.\\n\\nGET https:// api.devrev.ai / accounts.export\\nExports a collection of accounts.\\nQuery parameters.\\n\\ncreated_by string Optional\\nFilters for accounts created by the specified user(s).\\ncreated_date.after datetime Optional\\nFilters for objects created after the provided timestamp (inclusive).\\ncreated_date.before datetime Optional\\nFilters for objects created before the provided timestamp", + "title": "Get Post \u2014 DevRev | Docs" }, { - "id": "ART-1303_KNOWLEDGE_NODE-17", - "text": "objects created after the provided timestamp (inclusive).\\nmodified_date.before datetime Optional\\nFilters for objects created before the provided timestamp (inclusive).\\nowned_by string Optional\\nFilters for accounts owned by the specified user(s).\\nsort_by string Optional\\nFields to sort the accounts by and the direction to sort them in.\\nstage string Optional\\nFilters for accounts on specified stages.\\ntags string Optional\\nList of tags to be filtered.\\nResponse.\\n\\nThis endpoint returns an", - "title": "Export Post \u2014 DevRev | Docs" + "id": "ART-1788_KNOWLEDGE_NODE-3", + "text": "delete.\\nResponse.\\n\\nThis endpoint returns a map from strings to any.\\nAPI Reference accounts Export.\\n\\nGET https:// api.devrev.ai / accounts.export\\nExports a collection of accounts.\\nQuery parameters.\\n\\ncreated_by string Optional\\nFilters for accounts created by the specified user(s).\\ncreated_date.after datetime Optional\\nFilters for objects created after the provided timestamp (inclusive).\\ncreated_date.before datetime Optional\\nFilters for objects created before the provided timestamp", + "title": "Get Post \u2014 DevRev | Docs" }, { - "id": "ART-1639_KNOWLEDGE_NODE-12", - "text": "objects created after the provided timestamp (inclusive).\\nmodified_date.before datetime Optional\\nFilters for objects created before the provided timestamp (inclusive).\\nowned_by string Optional\\nFilters for accounts owned by the specified user(s).\\nsort_by string Optional\\nFields to sort the accounts by and the direction to sort them in.\\nstage string Optional\\nFilters for accounts on specified stages.\\ntags string Optional\\nList of tags to be filtered.\\nResponse.\\n\\nThis endpoint returns an", - "title": "Export Post \u2014 DevRev | Docs" + "id": "ART-1607_KNOWLEDGE_NODE-3", + "text": "delete.\\nResponse.\\n\\nThis endpoint returns a map from strings to any.\\nAPI Reference accounts Export.\\n\\nGET https:// api.devrev.ai / accounts.export\\nExports a collection of accounts.\\nQuery parameters.\\n\\ncreated_by string Optional\\nFilters for accounts created by the specified user(s).\\ncreated_date.after datetime Optional\\nFilters for objects created after the provided timestamp (inclusive).\\ncreated_date.before datetime Optional\\nFilters for objects created before the provided timestamp", + "title": "Get Post \u2014 DevRev | Docs" } ] }, @@ -1012,54 +1012,54 @@ "query": "Sales One App not visible after login", "retrievals": [ { - "id": "ART-17569_KNOWLEDGE_NODE-1", - "text": "message in the UI if they try to access an uninstalled app: \\xe2\\x80\\x9cWe can\\xe2\\x80\\x99t authorize you because of an OAuth error. For more information, contact your Salesforce administrator.\\xe2\\x80\\x9d and the OAUTH_APPROVAL_ERROR_GENERIC message.\"\\n\\nDue to this, customers may experience issues when trying to create a new Salesforce connection and install the DevRev app on their Salesforce instance.\\n\\nRead more about this on the shared article above. Follow the next steps to enable the", - "title": "Issues with Salesforce OAuth connection" + "id": "ART-16615_KNOWLEDGE_NODE-0", + "text": "b\"Board view | Vistas | Computer by DevRev | DevRev\\n\\n* Computer\\n* Resources\\n* [Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nComputer\\n\\nResources\\n\\n[Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nSearch\\n\\n`CMD`\\xc2\\xa0+\\xc2\\xa0`K`\\n\\n* [Introduction](/docs)\\n* [Computer by DevRev](/docs/intro)\\n\\n + [Core concepts](/docs/product/core)\\n + [Apps](/docs/product/apps)\\n +", + "title": "Board view | Vistas | Computer by DevRev | DevRev" }, { - "id": "ART-2019_KNOWLEDGE_NODE-0", - "text": "b'Product\\nPlatform\\nSolutions\\nMarketplace\\nCompany\\nResources\\nPricing\\n\\nLogin Book a demo\\n\\nProduct\\n\\nPlatform\\n\\nSolutions\\n\\nMarketplace\\n\\nCompany\\n\\nResources\\n\\nPricing\\n\\nLogin Book a demo\\nSearch\\nCTRL + K\\n\\nIntroduction\\nAgentOS platform\\n\\nCore concepts\\nApps\\nGroups\\nParts & trails\\nVistas\\n\\nVista Reports\\n\\nTasks\\nUpdates\\nCustomer email notifications\\nRoles\\n\\nDefault privileges by group\\n\\nAccess control\\nObject customization\\nGlossary\\nSearch\\nWorkflow\\nTemplates\\nAccessing", - "title": "Smart sprint | Automate | Snap-ins | DevRev" + "id": "ART-3961_KNOWLEDGE_NODE-0", + "text": "b'Search Node | Automate | Snap-ins | DevRev\\n\\n* Computer\\n* Resources\\n* [Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nComputer\\n\\nResources\\n\\n[Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nSearch\\n\\n`CMD`\\xc2\\xa0+\\xc2\\xa0`K`\\n\\n* [Introduction](/docs)\\n* [Computer by DevRev](/docs/intro)\\n\\n + [Core concepts](/docs/product/core)\\n + [Apps](/docs/product/apps)\\n +", + "title": "Search Node | Automate | Snap-ins | DevRev" }, { - "id": "ART-1947_KNOWLEDGE_NODE-1", - "text": "[Groups](/docs/product/groups)\\n + [Parts & trails](/docs/product/parts)\\n + [Vistas](/docs/product/vistas)\\n\\n - [Vista Reports](/docs/product/vista-reports)\\n - [Board view](/docs/product/board-view)\\n + [Tasks](/docs/product/tasks)\\n + [Updates](/docs/product/updates)\\n + [Customer email notifications](/docs/product/customer-emails)\\n + [Roles](/docs/product/roles)\\n\\n - [Default privileges by group](/docs/product/privs)\\n + [Access control](/docs/product/access-control)\\n +", - "title": "Apps | Computer by DevRev | DevRev" + "id": "ART-1959_KNOWLEDGE_NODE-0", + "text": "b'Search | Computer by DevRev | DevRev\\n\\n* Computer\\n* Resources\\n* [Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nComputer\\n\\nResources\\n\\n[Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nSearch\\n\\n`CTRL`\\xc2\\xa0+\\xc2\\xa0`K`\\n\\n* [Introduction](/docs)\\n* [Computer by DevRev](/docs/intro)\\n\\n + [Core concepts](/docs/product/core)\\n + [Apps](/docs/product/apps)\\n +", + "title": "Search | Computer by DevRev | DevRev" }, { - "id": "ART-12458_KNOWLEDGE_NODE-1", - "text": "__\\n\\n[Pricing](https://devrev.ai/pricing)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\nOn this page\\n\\n * [Troubleshooting](/public/sdks/react-native/troubleshooting#troubleshooting)\\n\\n[SDKs](/public/sdks)[DevRev SDK for React Native and Expo](/public/sdks/react-native/quickstart)\\n\\n#\\n\\nTroubleshooting\\n\\n * **Issue** : Support chat won\\xe2\\x80\\x99t show. **Solution** : Ensure you have correctly called one of the identification methods:", - "title": "Troubleshooting \u2014 DevRev | Docs" + "id": "ART-1947_KNOWLEDGE_NODE-0", + "text": "b'Apps | Computer by DevRev | DevRev\\n\\n* Computer\\n* Resources\\n* [Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nComputer\\n\\nResources\\n\\n[Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nSearch\\n\\n`CTRL`\\xc2\\xa0+\\xc2\\xa0`K`\\n\\n* [Introduction](/docs)\\n* [Computer by DevRev](/docs/intro)\\n\\n + [Core concepts](/docs/product/core)\\n + [Apps](/docs/product/apps)\\n +", + "title": "Apps | Computer by DevRev | DevRev" }, { - "id": "ART-3109_KNOWLEDGE_NODE-1", - "text": "[Apps](/docs/product/apps)\\n + [Groups](/docs/product/groups)\\n + [Parts & trails](/docs/product/parts)\\n + [Vistas](/docs/product/vistas)\\n\\n - [Vista Reports](/docs/product/vista-reports)\\n - [Board view](/docs/product/board-view)\\n + [Tasks](/docs/product/tasks)\\n + [Updates](/docs/product/updates)\\n + [Customer email notifications](/docs/product/customer-emails)\\n + [Roles](/docs/product/roles)\\n\\n - [Default privileges by group](/docs/product/privs)\\n + [Access", - "title": "Plug widget customization | Computer for Your Customers | DevRev" + "id": "ART-2014_KNOWLEDGE_NODE-0", + "text": "b'Link preview | Automate | Snap-ins | DevRev\\n\\n* Computer\\n* Resources\\n* [Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nComputer\\n\\nResources\\n\\n[Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nSearch\\n\\n`CTRL`\\xc2\\xa0+\\xc2\\xa0`K`\\n\\n* [Introduction](/docs)\\n* [Computer by DevRev](/docs/intro)\\n\\n + [Core concepts](/docs/product/core)\\n + [Apps](/docs/product/apps)\\n +", + "title": "Link preview | Automate | Snap-ins | DevRev" }, { - "id": "ART-1968_KNOWLEDGE_NODE-1", - "text": "[Apps](/docs/product/apps)\\n + [Groups](/docs/product/groups)\\n + [Parts & trails](/docs/product/parts)\\n + [Vistas](/docs/product/vistas)\\n\\n - [Vista Reports](/docs/product/vista-reports)\\n - [Board view](/docs/product/board-view)\\n + [Tasks](/docs/product/tasks)\\n + [Updates](/docs/product/updates)\\n + [Customer email notifications](/docs/product/customer-emails)\\n + [Roles](/docs/product/roles)\\n\\n - [Default privileges by group](/docs/product/privs)\\n + [Access", - "title": "Conversation insights | Support analytics | Computer for Support Teams | DevRev" + "id": "ART-2009_KNOWLEDGE_NODE-0", + "text": "b\"Convergence | Automate | Snap-ins | DevRev\\n\\n* Computer\\n* Resources\\n* [Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nComputer\\n\\nResources\\n\\n[Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nSearch\\n\\n`CMD`\\xc2\\xa0+\\xc2\\xa0`K`\\n\\n* [Introduction](/docs)\\n* [Computer by DevRev](/docs/intro)\\n\\n + [Core concepts](/docs/product/core)\\n + [Apps](/docs/product/apps)\\n +", + "title": "Convergence | Automate | Snap-ins | DevRev" }, { - "id": "ART-16263_KNOWLEDGE_NODE-37", - "text": "Confluence links (anonymous content cannot be tracked or mapped)\\n\\nEnabling the upload app button\\n------------------------------\\n\\nIf you do not see the **Upload App** button in Confluence Datacenter, it may be due to permission restrictions or feature disablement by your admin. To enable it:\\n\\n1. Ensure you are logged in as a **Confluence Administrator**.\\n2. Go to **Administration > Add-ons > Upload App**.\\n3. If the button is still not available:\\n * Contact your system administrator", - "title": "Confluence Datacenter AirSync | AirSync | Snap-ins | DevRev" + "id": "ART-1949_KNOWLEDGE_NODE-0", + "text": "b\"Vistas | Computer by DevRev | DevRev\\n\\n* Computer\\n* Resources\\n* [Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nComputer\\n\\nResources\\n\\n[Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nSearch\\n\\n`CTRL`\\xc2\\xa0+\\xc2\\xa0`K`\\n\\n* [Introduction](/docs)\\n* [Computer by DevRev](/docs/intro)\\n\\n + [Core concepts](/docs/product/core)\\n + [Apps](/docs/product/apps)\\n +", + "title": "Vistas | Computer by DevRev | DevRev" }, { - "id": "ART-2059_KNOWLEDGE_NODE-0", - "text": "b'Product Platform Solutions Marketplace Company Resources Pricing\\n\\nLogin Book a demo\\nProduct Platform Solutions Marketplace Company Resources Pricing\\nLogin Book a demo\\nSearch CTRL + K\\n\\nIntroduction AgentOS platform\\n\\nCore concepts Apps Groups Parts & trails Vistas Vista Reports\\nTasks Updates Customer email notifications Roles Default privileges by group\\nAccess control Object customization Glossary Search People insights Workflow Templates Accessing DevRev External identity provider", - "title": "Install PLuG chat on your website" + "id": "ART-2819_KNOWLEDGE_NODE-0", + "text": "b\"Exotel | Integrate | Snap-ins | DevRev\\n\\n* Computer\\n* Resources\\n* [Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nComputer\\n\\nResources\\n\\n[Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nSearch\\n\\n`CMD`\\xc2\\xa0+\\xc2\\xa0`K`\\n\\n* [Introduction](/docs)\\n* [Computer by DevRev](/docs/intro)\\n\\n + [Core concepts](/docs/product/core)\\n + [Apps](/docs/product/apps)\\n +", + "title": "Exotel | Integrate | Snap-ins | DevRev" }, { - "id": "ART-4186_KNOWLEDGE_NODE-1", - "text": "[Apps](/docs/product/apps)\\n + [Groups](/docs/product/groups)\\n + [Parts & trails](/docs/product/parts)\\n + [Vistas](/docs/product/vistas)\\n\\n - [Vista Reports](/docs/product/vista-reports)\\n - [Board view](/docs/product/board-view)\\n + [Tasks](/docs/product/tasks)\\n + [Updates](/docs/product/updates)\\n + [Customer email notifications](/docs/product/customer-emails)\\n + [Roles](/docs/product/roles)\\n\\n - [Default privileges by group](/docs/product/privs)\\n + [Access", - "title": "Computer for User Insights | Session analytics | Computer for Your Customers | DevRev" + "id": "ART-3068_KNOWLEDGE_NODE-0", + "text": "b'Conversation reminder | Automate | Snap-ins | DevRev\\n\\n* Computer\\n* Resources\\n* [Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nComputer\\n\\nResources\\n\\n[Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nSearch\\n\\n`CTRL`\\xc2\\xa0+\\xc2\\xa0`K`\\n\\n* [Introduction](/docs)\\n* [Computer by DevRev](/docs/intro)\\n\\n + [Core concepts](/docs/product/core)\\n + [Apps](/docs/product/apps)\\n +", + "title": "Conversation reminder | Automate | Snap-ins | DevRev" }, { - "id": "ART-1477_KNOWLEDGE_NODE-20", - "text": "it.](https://devrev.ai/blog/soc-compliance)\\n\\nProduct\\n\\n * [Build](https://devrev.ai/build)\\n * [Support](https://devrev.ai/support)\\n * [Search](https://devrev.ai/search)\\n * [PLuG - User Engagement](https://devrev.ai/plug-user-engagement)\\n * [PLuG - User Observability](https://devrev.ai/plug-observability)\\n * [Marketplace](https://marketplace.devrev.ai/)\\n\\nPlatform\\n\\n * [Airdrop](https://devrev.ai/airdrop)\\n * [Analytics](https://devrev.ai/analytics)\\n * [Workflow", - "title": "Snap-in V1 manifest \u2014 DevRev | Docs" + "id": "ART-1963_KNOWLEDGE_NODE-0", + "text": "b'Accessing DevRev | Computer by DevRev | DevRev\\n\\n* Computer\\n* Resources\\n* [Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nComputer\\n\\nResources\\n\\n[Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nSearch\\n\\n`CTRL`\\xc2\\xa0+\\xc2\\xa0`K`\\n\\n* [Introduction](/docs)\\n* [Computer by DevRev](/docs/intro)\\n\\n + [Core concepts](/docs/product/core)\\n + [Apps](/docs/product/apps)\\n +", + "title": "Accessing DevRev | Computer by DevRev | DevRev" } ] }, @@ -1068,39 +1068,29 @@ "query": "linking tickets and issues for analytics", "retrievals": [ { - "id": "ART-4184_KNOWLEDGE_NODE-4", - "text": "analytics](/docs/product/support-analytics)\\n\\n - [Conversation insights](/docs/dashboards/conversation-insights)\\n - [Conversation-SLA Analytics](/docs/dashboards/conversation-sla-analytics)\\n - [Conversation-Team Performance](/docs/dashboards/conversation-team-performance)\\n - [Ticket insights](/docs/dashboards/ticket-insights)\\n - [Ticket-SLA Analytics](/docs/dashboards/ticket-sla-analytics)\\n - [Ticket-Team Performance](/docs/dashboards/ticket-team-performance)\\n +", - "title": "Ticket linked issues comment sync | Automate | Snap-ins | DevRev" - }, - { - "id": "ART-1972_KNOWLEDGE_NODE-16", - "text": "sync](/docs/automations/ticket-linked-issues-comment-sync)\\n - [Slack message agent](/docs/automations/slack-message-agent)\\n + [Integrate](/docs/integrate)\\n\\n - [Bitbucket](/docs/integrations/bitbucket)\\n - [Calendly](/docs/integrations/calendly)\\n - [Coralogix security integration](/docs/integrations/coralogix)\\n - [Datadog](/docs/integrations/datadog)\\n - [Google Calendar AirSync](/docs/integrations/google-calendar-airdrop)\\n - [Email](/docs/integrations/email)\\n\\n", - "title": "Ticket-SLA Analytics | Support analytics | Computer for Support Teams | DevRev" + "id": "ART-15664_KNOWLEDGE_NODE-16", + "text": "\\'https://api.devrev.ai/link-types.custom.update\\' \\\\ |\\n| > | --header \\'Content-Type: application/json\\' \\\\ |\\n| > | --header \\'Authorization: Bearer \\' \\\\ |\\n| > | --data \\'{ |\\n| > | \"id\": \"don:core:dvrv-us-1:devo/demo:custom_link_type/1\", |\\n| > | \"is_deprecated\": true |\\n| > | }\\' |\\n```\\n\\nQuick reference: links from tickets, and issues\\n-----------------------------------------------\\n\\n##### \\n\\nThis section lists common links you can create from tickets and issues. It is not an", + "title": "Links | DevRev | Docs" }, { - "id": "ART-1979_KNOWLEDGE_NODE-39", - "text": "other tickets or issues that relate to this ticket, click **Link Records** and select the relevant items.\\n7. If you would like to immediately create another ticket, select **Create multiple**.\\n8. Click **Create**.\\n\\nIf a ticket is created from an existing conversation, then the ticket's title and description are populated automatically from the conversation.\\n\\n![]()\\n\\nYou can create a child issue by clicking **+ Link issue** > **Add a child issue**. You can link the other existing issue as", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-1947_KNOWLEDGE_NODE-36", + "text": "Conversations can be immediately linked to a ticket, a ticket to an issue and subsequently to a part (product capabilities and features).\\n\\n| Link | Control |\\n| --- | --- |\\n| Conversation \\xe2\\x86\\x92 Ticket | Open the conversation and click **Tickets > + Link tickets**. Either create a new ticket or select an existing ticket. |\\n| Ticket \\xe2\\x86\\x92 Issue | Open the ticket and click **Issues > + Link issues**. Either create a new issue or select an existing issue. |\\n| Issue \\xe2\\x86\\x92", + "title": "Apps | Computer by DevRev | DevRev" }, { - "id": "ART-15664_KNOWLEDGE_NODE-17", - "text": "exhaustive list.\\n\\n### Links from tickets\\n\\nLinks from tickets\\n\\ntarget\\n\\nsource\\n\\nis dependent on\\n\\nis related to\\n\\nis related to\\n\\nis parent of\\n\\nis merged into\\n\\nticket\\n\\nissue\\n\\nticket\\n\\narticle\\n\\n##### \\n\\nOnly ticket \\xe2\\x86\\x92 issue is allowed for creating a link with \\xe2\\x80\\x9cis dependent on\\xe2\\x80\\x9d. Creating the link in reverse (issue \\xe2\\x86\\x92 ticket) is not possible; however, you can swap the source and target objects to achieve the same result.\\n\\n### Links", + "id": "ART-15664_KNOWLEDGE_NODE-13", + "text": "\\n\\nYou may want to restrict links to specific subtypes of objects. For example, only allowing issues\\nof a particular subtype to be linked to tickets.\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl --location \\'https://api.devrev.ai/link-types.custom.create\\' \\\\ |\\n| > | --header \\'Content-Type: application/json\\' \\\\ |\\n| > | --header \\'Authorization: Bearer \\' \\\\ |\\n| > | --data \\'{ |\\n| > | \"name\": \"Link between social media issues and tickets\", |\\n| > | \"source_types\": [ |\\n| > | { |\\n|", "title": "Links | DevRev | Docs" }, { - "id": "ART-1002_KNOWLEDGE_NODE-3", - "text": "systems being used for engineering work are commonly abused by sales, marketing and support teams. For example, a sales rep may create an issue for a developer for a customer request. In the case of support, you\\xe2\\x80\\x99ll commonly see a ton of duplicate issues when only one was really necessary. This leads to a lot of noise for developers, and devalues the notion of an \\xe2\\x80\\x9cissue\\xe2\\x80\\x9d. By keeping a clear line between tickets and issues, we ensure the following:\\n\\n\\n issues", - "title": "Tickets, Issues: When to Use Each" - }, - { - "id": "ART-4184_KNOWLEDGE_NODE-15", - "text": "[Operational SLA Metrics](/docs/automations/operational-sla-metrics)\\n - [Custom field migration](/docs/automations/custom-field-migration)\\n - [Slack scraper](/docs/automations/slack-scraper)\\n - [Slack Broadcaster](/docs/automations/slack-broadcaster)\\n - [Reported by enricher](/docs/automations/ticket-reported-by)\\n - [Ticket approval workflow](/docs/automations/ticket-approval-workflow)\\n - [Ticket linked issues comment", + "id": "ART-4184_KNOWLEDGE_NODE-25", + "text": "Issues Comment Sync** snap-in automatically synchronizes comments between linked tickets and issues in DevRev. When a comment is added to a ticket, it is automatically replicated to all linked issues, maintaining context and ensuring all stakeholders have access to the same information.\\n\\nKey features\\n------------\\n\\n* **Comment synchronization**: Comments from tickets are automatically replicated to linked issues with preserved context.\\n* **Context preservation**: Each synchronized comment", "title": "Ticket linked issues comment sync | Automate | Snap-ins | DevRev" }, { - "id": "ART-2012_KNOWLEDGE_NODE-4", - "text": "Analytics](/docs/dashboards/ticket-sla-analytics?)\\n * [Ticket-Team Performance](/docs/dashboards/ticket-team-performance?)\\n\\n * [Conversations](/docs/product/conversation?)\\n\\n * [Convert Conversations to Tickets](/docs/product/Conversation-Tickets?)\\n\\n * [Tickets](/docs/product/tickets?)\\n * [Routing](/docs/product/routing?)\\n * [Support best practices](/docs/product/support-bp?)\\n * [Customer portal](/docs/product/support-portal?)\\n * [Questions &", - "title": "Follow-up ticket | Automate | Snap-ins | DevRev" + "id": "ART-4184_KNOWLEDGE_NODE-4", + "text": "analytics](/docs/product/support-analytics)\\n\\n - [Conversation insights](/docs/dashboards/conversation-insights)\\n - [Conversation-SLA Analytics](/docs/dashboards/conversation-sla-analytics)\\n - [Conversation-Team Performance](/docs/dashboards/conversation-team-performance)\\n - [Ticket insights](/docs/dashboards/ticket-insights)\\n - [Ticket-SLA Analytics](/docs/dashboards/ticket-sla-analytics)\\n - [Ticket-Team Performance](/docs/dashboards/ticket-team-performance)\\n +", + "title": "Ticket linked issues comment sync | Automate | Snap-ins | DevRev" }, { "id": "ART-1975_KNOWLEDGE_NODE-28", @@ -1108,14 +1098,24 @@ "title": "Ticket insights | Support analytics | Computer for Support Teams | DevRev" }, { - "id": "ART-15664_KNOWLEDGE_NODE-14", - "text": "> | \"leaf_type\": \"issue\", |\\n| > | \"subtype\": \"social_media\" |\\n| > | } |\\n| > | ], |\\n| > | \"target_types\": [ |\\n| > | { |\\n| > | \"leaf_type\": \"ticket\" |\\n| > | } |\\n| > | ], |\\n| > | \"forward_name\": \"is related to\", |\\n| > | \"backward_name\": \"is related to\" |\\n| > | }\\' |\\n```\\n\\nThis configuration:\\n\\n* Allows issues of subtype \\xe2\\x80\\x9csocial\\\\_media\\xe2\\x80\\x9d to be linked to tickets\\n* Rejects attempts to link issues with no subtype or with other subtypes\\n\\n##### \\n\\nThe subtype", - "title": "Links | DevRev | Docs" + "id": "ART-1947_KNOWLEDGE_NODE-34", + "text": "necessary.\\n\\n> Example: \"Feature A on product Y exhibited unexpected behavior. This is a defect and needs to be fixed.\"\\n\\nTickets and issues are linked in many-to-many relationships. It may require multiple issues to resolve a ticket, or one issue may resolve multiple tickets if different external users experience and describe the same behavior in different ways.\\n\\nWork/state relationships\\n------------------------\\n\\nThe following figure shows how the various work object types", + "title": "Apps | Computer by DevRev | DevRev" }, { - "id": "ART-4184_KNOWLEDGE_NODE-5", - "text": "[Conversations](/docs/product/conversation)\\n\\n - [Conversation to ticket conversion](/docs/product/conversation-ticket)\\n + [Tickets](/docs/product/tickets)\\n + [Routing](/docs/product/routing)\\n + [Support best practices](/docs/product/support-bp)\\n + [Customer portal](/docs/product/support-portal)\\n + [Questions & answers](/docs/product/qa)\\n + [Knowledge Base](/docs/product/knowledge-base)\\n\\n - [Articles](/docs/product/articles)\\n - [Collections](/docs/product/collection)\\n", - "title": "Ticket linked issues comment sync | Automate | Snap-ins | DevRev" + "id": "ART-1947_KNOWLEDGE_NODE-25", + "text": "systems, important details that help define the *why* behind work is lost.\\n\\n\\xf0\\x9f\\x8e\\xa5 Video: Convergence: Bringing work together\\n\\nBy linking work items\\xe2\\x80\\x94conversations and tickets for support, issues and enhancements for build\\xe2\\x80\\x94together, DevRev preserves context. That context defines the problem and requirements for anyone who works on this issue. Moreover, both tickets and issues are always associated with [parts](/docs/product/parts), tying them to the overall", + "title": "Apps | Computer by DevRev | DevRev" + }, + { + "id": "ART-2009_KNOWLEDGE_NODE-24", + "text": "[Snap-ins](/docs/snapins)\\n[Automate](/docs/automate)\\n[Convergence](/docs/automations/converge)\\n\\nConvergence\\n===========\\n\\nConverge support and build by bringing together conversations, tickets, and issues.\\n\\nOnce the convergence snap-in is installed, tickets and issues automatically change states when related tickets and issues do. These state changes are visible in the **Discussions** and **Events** tabs of tickets and issues.\\n\\n![]()\\n\\nWorkflows\\n---------\\n\\nThe workflows present in", + "title": "Convergence | Automate | Snap-ins | DevRev" + }, + { + "id": "ART-1947_KNOWLEDGE_NODE-37", + "text": "Ticket | Open the issue and click **Tickets > + Link tickets**. Either create a new ticket or select an existing ticket. |\\n| Issue \\xe2\\x86\\x92 Issue | Open the issue and click **Issues > + Link issues**. Either create a new issue or select an existing issue. |\\n\\n| Conversation | Ticket | Issue |\\n| --- | --- | --- |\\n| | | > |\\n\\nTo delete a ticket or issue, select the work item in the list view and click the **Delete** icon in the taskbar that appears.\\n\\n![]()\\n\\n[PreviousCore", + "title": "Apps | Computer by DevRev | DevRev" } ] }, @@ -1124,54 +1124,54 @@ "query": "Data residency compliance for international customers", "retrievals": [ { - "id": "ART-888_KNOWLEDGE_NODE-42", - "text": "spaces under your sole control.How we transfer information we collect internationallyInternational transfers of information we collectWe collect information globally and may transfer, process and store your information outside of your country of residence, to wherever we or our third-party service providers operate for the purpose of providing you the Services. Whenever we transfer your information, we take steps to protect it.International transfers within the DevRev Companies: To facilitate", - "title": "Privacy Policy" + "id": "ART-12476_KNOWLEDGE_NODE-1", + "text": "designed to meet GDPR and SOC 2 compliance requirements, with controls in place to support your data privacy needs.\\n\\nAdvanced enterprise login: Seamless SAML compliance for all enterprise logins regardless of your SSO provider.\\n\\nRegional data residency options: We offer data residency options in Europe, Australia, US East (Virginia), and India, with logical data isolation and access control features.\\n\\nSelf-serve user management: Easily add or remove users from your workspace and manage", + "title": "The Future of Sessions - Powered By DevRev" }, { - "id": "ART-4174_KNOWLEDGE_NODE-11", - "text": "(EEA) is adequately protected, even when transferred to countries that may not offer an equivalent level of data protection.\\n\\n### UK-Specific Clauses\\n\\nFollowing Brexit, we also apply tailored safeguards for personal data transferred from the United Kingdom. We leverage the UK\\xe2\\x80\\x99s International Data Transfer Addendum to the EU SCCs, which ensures compliance with UK-specific data transfer requirements and aligns with the standards established by the UK\\xe2\\x80\\x99s Information", - "title": "Data Processing Agreement | DevRev" + "id": "ART-15620_KNOWLEDGE_NODE-4", + "text": "Mature partner ecosystem and app marketplace\\n\\nImplementation : Out-of-the-box offerings for Zendesk or Salesforce\\n\\nWeakness : Slow and clunky deployment for other systems of record Enterprise Readiness\\n\\nPosition : Capable but with geographic limitations\\n\\nStrength : Building mature partner ecosystem for enterprise use cases\\n\\nCritical Limitation : Fin data residency only available in US, EU, and Australia\\n\\nImpact : Major barrier for BFSI companies due to government regulations", + "title": "Intercom - Competitive - for the PLuG on website" }, { - "id": "ART-4174_KNOWLEDGE_NODE-12", - "text": "Commissioner\\xe2\\x80\\x99s Office (ICO).\\n\\n### United States Data Transfer Mechanisms\\n\\nFor personal data transfers to the United States, DevRev employs recognized contractual frameworks and implements additional measures, as necessary, to safeguard your information in accordance with evolving U.S. data protection guidelines. We work to align with relevant standards and best practices to address regulatory considerations around cross-border data transfers.\\n\\n### What about Personal Data use", - "title": "Data Processing Agreement | DevRev" + "id": "ART-15620_KNOWLEDGE_NODE-15", + "text": "Mature partner ecosystem and app marketplace development\\n\\nIntercom Weakness : Limited data residency options (US, EU, AU only) restricting BFSI adoption\\n\\nDevRev Opportunity : Address geographic compliance requirements Intercom cannot serve Scalability Comparison\\n\\nIntercom Challenge : Users report scaling difficulties requiring costly upgrades and custom development\\n\\nDevRev Advantage : Unlimited scale and customizability providing enterprise flexibility\\n\\nMarket Perception : Intercom\\'s", + "title": "Intercom - Competitive - for the PLuG on website" }, { - "id": "ART-4183_KNOWLEDGE_NODE-1", - "text": "More](https://cdn.sanity.io/files/umrbtih2/development/8c3ab1aef7fee37a816c3116a89b08b5db2ba541.pdf)\\n\\nDeveloping and maintaining an incident response plan that includes subprocessors\\xe2\\x80\\x99 roles in managing data breaches.\\n\\n![]()\\n\\nChoose another country or region to see content specific to your location.\\n\\n\\xf0\\x9f\\x8c\\x8e English\\xf0\\x9f\\x87\\xaf\\xf0\\x9f\\x87\\xb5 Japanese\\n\\n[Enterprise grade security to protect customer data\\n\\nLearn more about", - "title": "Security Subprocessors - GDPR Compliance | DevRev" + "id": "ART-15620_KNOWLEDGE_NODE-19", + "text": "Customers Facing Scale Issues : Organizations outgrowing Intercom\\'s capabilities and experiencing costly upgrade requirements\\n\\nEnterprise Prospects : Companies needing data residency options beyond US/EU/AU limitations\\n\\nAI-Forward Organizations : Teams seeking sophisticated AI capabilities beyond basic chatbot functionality\\n\\nCost-Conscious SMBs : Smaller companies frustrated with Intercom\\'s expensive per-resolution pricing\\n\\nTechnical Product Companies : Organizations needing deep", + "title": "Intercom - Competitive - for the PLuG on website" }, { - "id": "ART-4174_KNOWLEDGE_NODE-10", - "text": "data privacy laws. To support this commitment, we use industry-standard frameworks and legal instruments to facilitate the lawful and secure transfer of personal data across borders.\\n\\n### EU Standard Contractual Clauses (SCCs)\\n\\nFor data transfers involving EU-based users, DevRev relies on the EU Standard Contractual Clauses (SCCs). These clauses, approved by the European Commission, provide contractual safeguards to ensure that personal data transferred outside the European Economic Area", - "title": "Data Processing Agreement | DevRev" + "id": "ART-888_KNOWLEDGE_NODE-44", + "text": "protection clauses, which have been largely adopted by countries worldwide or other appropriate legal mechanisms to safeguard the transfer.International transfers to third parties: Some of the third parties described in this privacy policy, which provide services to us under contract, are based in other countries that may not have equivalent privacy and data protection laws to the country in which you reside. When we share information of customers in the European Economic Area, the UK, or", + "title": "Privacy Policy" }, { - "id": "ART-888_KNOWLEDGE_NODE-43", - "text": "our global operations, we transfer information globally and allow access to that information from countries in which the DevRev owned or operated companies and have operations for the purposes described in this policy. These countries may not have equivalent privacy and data protection laws to the laws of many of the countries where our customers and users are based. When we share information about you within and among DevRev corporate affiliates, we make use of standard contractual data", - "title": "Privacy Policy" + "id": "ART-4178_KNOWLEDGE_NODE-0", + "text": "b\"Request a Personalized Demo | DevRev\\n\\n![]()\\n\\n![]()\\n\\n![]()\\n\\n### Join the 1000+ companies benefiting from DevRev's conversational AI experience\\n\\n![]()\\n\\n![]()\\n\\n![]()\\n\\n![]()\\n\\n![]()\\n\\n![]()\\n\\nChoose another country or region to see content specific to your location.\\n\\n\\xf0\\x9f\\x8c\\x8e English\\xf0\\x9f\\x87\\xaf\\xf0\\x9f\\x87\\xb5 Japanese\\n\\n[Enterprise grade security to protect customer data\\n\\nLearn more about it.\\n\\n![]()](/blog/soc-compliance)\\n\\nComputer\\n\\n* [Meet", + "title": "Request a Personalized Demo | DevRev" }, { - "id": "ART-4174_KNOWLEDGE_NODE-9", - "text": "behalf, as well as explanations on how such parties safeguard your data.\\n* **Standard Contractual clauses and other country specific clauses:** Our DPA also includes the EU Commission's Standard Contractual clausesand other country specific clauses for transferring and processing data outside of the EEA, UK and USA.\\n\\n### How does DevRev handle International Data transfers?\\n\\nAt DevRev, we understand the importance of securely managing international data transfers in compliance with global", - "title": "Data Processing Agreement | DevRev" + "id": "ART-15622_KNOWLEDGE_NODE-0", + "text": "b\"Request a Personalized Demo | DevRev\\n\\n![]()\\n\\n![]()\\n\\n![]()\\n\\n### Join the 1000+ companies benefiting from DevRev's conversational AI experience\\n\\n![]()\\n\\n![]()\\n\\n![]()\\n\\n![]()\\n\\n![]()\\n\\n![]()\\n\\nChoose another country or region to see content specific to your location.\\n\\n\\xf0\\x9f\\x8c\\x8e English\\xf0\\x9f\\x87\\xaf\\xf0\\x9f\\x87\\xb5 Japanese\\n\\n[Enterprise grade security to protect customer data\\n\\nLearn more about it.\\n\\n![]()](/blog/soc-compliance)\\n\\nComputer\\n\\n* [Meet", + "title": "Request a Personalized Demo | DevRev" }, { - "id": "ART-4174_KNOWLEDGE_NODE-8", - "text": "we implement to keep your data secure, such as encryption, access controls, and regular security audits.\\n* **Data Subject Rights:** Information on how we support you in responding to requests from individuals to exercise their rights under data protection laws.\\n* **Data Transfer:** Terms regarding international data transfers, ensuring compliance with GDPR and other regulatory frameworks.\\n* **Subprocessors:** A list of any third parties we partner we engage in order to process data on your", - "title": "Data Processing Agreement | DevRev" + "id": "ART-15623_KNOWLEDGE_NODE-0", + "text": "b\"Request a Personalized Demo | DevRev\\n\\n![]()\\n\\n![]()\\n\\n![]()\\n\\n### Join the 1000+ companies benefiting from DevRev's conversational AI experience\\n\\n![]()\\n\\n![]()\\n\\n![]()\\n\\n![]()\\n\\n![]()\\n\\n![]()\\n\\nChoose another country or region to see content specific to your location.\\n\\n\\xf0\\x9f\\x8c\\x8e English\\xf0\\x9f\\x87\\xaf\\xf0\\x9f\\x87\\xb5 Japanese\\n\\n[Enterprise grade security to protect customer data\\n\\nLearn more about it.\\n\\n![]()](/blog/soc-compliance)\\n\\nComputer\\n\\n* [Meet", + "title": "Request a Personalized Demo | DevRev" }, { - "id": "ART-4174_KNOWLEDGE_NODE-15", - "text": "the GDPR as well as any other specific local legal requirements.\\n\\n### What about data security?\\n\\nWe have implemented industry standard organisational and other security like SOC-II certification to keep your data safe.\\n\\nYou can find out more about the security measures we employ by following this [link](https://security.devrev.ai/).\\n\\n### Reach out to us with any additional questions.\\n\\nShould you have any additional questions about privacy and data processing at DevRev, our data", - "title": "Data Processing Agreement | DevRev" + "id": "ART-15624_KNOWLEDGE_NODE-0", + "text": "b\"Request a Personalized Demo | DevRev\\n\\n![]()\\n\\n![]()\\n\\n![]()\\n\\n### Join the 1000+ companies benefiting from DevRev's conversational AI experience\\n\\n![]()\\n\\n![]()\\n\\n![]()\\n\\n![]()\\n\\n![]()\\n\\n![]()\\n\\nChoose another country or region to see content specific to your location.\\n\\n\\xf0\\x9f\\x8c\\x8e English\\xf0\\x9f\\x87\\xaf\\xf0\\x9f\\x87\\xb5 Japanese\\n\\n[Enterprise grade security to protect customer data\\n\\nLearn more about it.\\n\\n![]()](/blog/soc-compliance)\\n\\nComputer\\n\\n* [Meet", + "title": "Request a Personalized Demo | DevRev" }, { - "id": "ART-4183_KNOWLEDGE_NODE-4", - "text": "Policy](/legal/cookie-policy)\\n* [Privacy Policy](/legal/privacy-policy)\\n* [Terms of Service](/legal/terms-of-service)\\n\\n[System Status](/status)\\n\\n\\xc2\\xa9 2025 DevRev Inc.'", - "title": "Security Subprocessors - GDPR Compliance | DevRev" + "id": "ART-4174_KNOWLEDGE_NODE-9", + "text": "behalf, as well as explanations on how such parties safeguard your data.\\n* **Standard Contractual clauses and other country specific clauses:** Our DPA also includes the EU Commission's Standard Contractual clausesand other country specific clauses for transferring and processing data outside of the EEA, UK and USA.\\n\\n### How does DevRev handle International Data transfers?\\n\\nAt DevRev, we understand the importance of securely managing international data transfers in compliance with global", + "title": "Data Processing Agreement | DevRev" } ] }, @@ -1180,54 +1180,54 @@ "query": "declarative pathing within the bot", "retrievals": [ { - "id": "ART-1950_KNOWLEDGE_NODE-5", - "text": "ticket conversion](/docs/product/conversation-ticket)\\n + [Tickets](/docs/product/tickets)\\n + [Routing](/docs/product/routing)\\n + [Support best practices](/docs/product/support-bp)\\n + [Customer portal](/docs/product/support-portal)\\n + [Questions & answers](/docs/product/qa)\\n + [Knowledge Base](/docs/product/knowledge-base)\\n\\n - [Articles](/docs/product/articles)\\n - [Collections](/docs/product/collection)\\n + [Turing AI agent](/docs/product/conversational-bot)\\n\\n - [Best", - "title": "Parts & trails | Computer by DevRev | DevRev" + "id": "ART-1954_KNOWLEDGE_NODE-35", + "text": "determined by the type of action, rather than solely by the actor performing the action.\\n\\nExamples:\\n\\n* If mentions are set to **Important** and a bot's notifications are set to **Others**, then bot mentions will only appear in the **Others** tab.\\n* If mentions are set to **Important** and a bot's notifications are also set to **Important**, then bot mentions will appear in the **Important** tab.\\n* If mentions are set to **Others** and a bot's notifications are set to **Important**, then", + "title": "Updates | Computer by DevRev | DevRev" }, { - "id": "ART-12391_KNOWLEDGE_NODE-6", - "text": "+ [Turing AI agent](/docs/product/conversational-bot)\\n\\n - [Best practices for documentation that supports AI](/docs/product/writing-bp)\\n + [Commands](/docs/product/commands)\\n + [Service-level agreement](/docs/product/sla)\\n + [Operational-level agreement](/docs/product/ola)\\n + [Support snap-ins](/docs/product/snapins-support)\\n* [Computer for Builders](/docs/product/build)\\n\\n + [Issues](/docs/product/issues)\\n + [Now, Next, Later](/docs/product/nnl)\\n + [Sprint", - "title": "Conversational workflows | Workflows | Computer by DevRev | DevRev" + "id": "ART-17649_KNOWLEDGE_NODE-3", + "text": "both agents and customers\\n* Complex requirements spanned agent, customer, and manager experiences\\n* Need for sophisticated routing, views, dashboards, and deterministic bot flows\\n\\nThe solution: switching to DevRev\\n---------------------------------\\n\\nThe company chose DevRev for its Computer capabilities and customization features:\\n\\n* Implementation of multiple dev organizations within DevRev\\n* Complete replacement of their previous Intercom-based support system\\n* Implementation of", + "title": "Leading APAC fintech transforms support with multi-instance AI solution" }, { - "id": "ART-1996_KNOWLEDGE_NODE-5", + "id": "ART-2024_KNOWLEDGE_NODE-5", "text": "ticket conversion](/docs/product/conversation-ticket)\\n + [Tickets](/docs/product/tickets)\\n + [Routing](/docs/product/routing)\\n + [Support best practices](/docs/product/support-bp)\\n + [Customer portal](/docs/product/support-portal)\\n + [Questions & answers](/docs/product/qa)\\n + [Knowledge Base](/docs/product/knowledge-base)\\n\\n - [Articles](/docs/product/articles)\\n - [Collections](/docs/product/collection)\\n + [Turing AI agent](/docs/product/conversational-bot)\\n\\n - [Best", - "title": "Roadmap | Computer for Builders | DevRev" + "title": "Slash commands | Automate | Snap-ins | DevRev" }, { - "id": "ART-1987_KNOWLEDGE_NODE-28", - "text": "Computer either creates a ticket or routes the conversation using the relevant routing rule.\\n\\n![]()\\n\\nGoal-oriented mode (Beta)\\n-------------------------\\n\\nThe goal-oriented agent allows users to create complete workflows triggered by their actions.\\n\\nGoal-oriented mode is currently in beta. Contact our support team for more information.\\n\\n[PreviousCollections](/docs/product/collection)[NextBest practices for documentation that supports AI](/docs/product/writing-bp)\\n\\n#### On this", - "title": "Turing AI agent | Computer for Support Teams | DevRev" + "id": "ART-1275_KNOWLEDGE_NODE-7", + "text": "account\\xe2\\x80\\x99s display name to better reflect the\\nsnap-in\\xe2\\x80\\x99s behavior.\\n\\nmanifest.yaml\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | version: \"2\" |\\n| 2 | |\\n| 3 | name: \"Timely Ticketer\" |\\n| 4 | description: \"Snap-in to create ticket every 10 minutes\" |\\n| 5 | |\\n| 6 | service_account: |\\n| 7 | display_name: Automatic Ticket Creator Bot |\\n```\\n\\nNext, update the `event_sources` section to use the `timer-events` event source.\\nThe `timer-events` source type takes a `config` of", + "title": "Using a snap-in to perform a DevRev action | DevRev | Docs" }, { - "id": "ART-1950_KNOWLEDGE_NODE-6", - "text": "practices for documentation that supports AI](/docs/product/writing-bp)\\n + [Commands](/docs/product/commands)\\n + [Service-level agreement](/docs/product/sla)\\n + [Operational-level agreement](/docs/product/ola)\\n + [Support snap-ins](/docs/product/snapins-support)\\n* [Computer for Builders](/docs/product/build)\\n\\n + [Issues](/docs/product/issues)\\n + [Now, Next, Later](/docs/product/nnl)\\n + [Sprint mode](/docs/product/sprint)\\n + [Enhancements](/docs/product/enhancements)\\n +", - "title": "Parts & trails | Computer by DevRev | DevRev" + "id": "ART-16689_KNOWLEDGE_NODE-5", + "text": "DevRev, tailoring the product to their workflows.\\n* **Embedded deeply configurable, data\\xe2\\x80\\x91driven UIs -** layouts, components, and visualizations can be reshaped end\\xe2\\x80\\x91to\\xe2\\x80\\x91end via declarative configuration.\\n\\n\\xe2\\x80\\xa6and we\\xe2\\x80\\x99re just getting started. If you care deeply about **craftsmanship**, **modular UI architecture**, and **world\\xe2\\x80\\x91class developer experience**, this is your playground.\\n\\n---\\n\\n### What You\\xe2\\x80\\x99ll Do\\n\\n*", + "title": "DevRev Careers | Member of Technical Staff" }, { - "id": "ART-12394_KNOWLEDGE_NODE-6", - "text": "+ [Turing AI agent](/docs/product/conversational-bot)\\n\\n - [Best practices for documentation that supports AI](/docs/product/writing-bp)\\n + [Commands](/docs/product/commands)\\n + [Service-level agreement](/docs/product/sla)\\n + [Operational-level agreement](/docs/product/ola)\\n + [Support snap-ins](/docs/product/snapins-support)\\n* [Computer for Builders](/docs/product/build)\\n\\n + [Issues](/docs/product/issues)\\n + [Now, Next, Later](/docs/product/nnl)\\n + [Sprint", - "title": "Workflow management | Workflows | Computer by DevRev | DevRev" + "id": "ART-1483_KNOWLEDGE_NODE-9", + "text": "better reflect the snap-in\\xe2\\x80\\x99s behavior.\\n\\nmanifest.yaml\\n\\n[code]\\n\\n 1| version: \"2\" \\n ---|--- \\n 2| \\n 3| name: \"Timely Ticketer\" \\n 4| description: \"Snap-in to create ticket every 10 minutes\" \\n 5| \\n 6| service_account: \\n 7| display_name: Automatic Ticket Creator Bot\\n[/code] \\n \\nNext, update the `event_sources` section to use the `timer-events` event source. The `timer-events` source type takes a `config` of type `cron` or", + "title": "Using a snap-in to perform a DevRev action \u2014 DevRev | Docs" }, { - "id": "ART-12391_KNOWLEDGE_NODE-29", - "text": "type that causes the agent to pause (for example, DevUser). |\\n| additional\\\\_context (optional) | String | Additional context you want to pass to the agent for more personalized responses. You can also use variables from previous steps here. |\\n\\n![]()\\n\\n* Each button creates a corresponding output port in the workflow.\\n* When a button is clicked, the original message is updated to remove the\\n buttons.\\n* A confirmation message is added showing which option was", - "title": "Conversational workflows | Workflows | Computer by DevRev | DevRev" + "id": "ART-1485_KNOWLEDGE_NODE-12", + "text": "descriptive overview that is visible to users, offering context about the snap-in\\xe2\\x80\\x99s purpose.\\n\\n[code]\\n\\n 1| version: \"2\" \\n ---|--- \\n 2| \\n 3| name: Sample snap-in \\n 4| description: Snap-in to add comments for demonstration purpose. \\n 5| \\n 6| service_account: \\n 7| display_name: \"DevRev Bot\"\\n[/code] \\n \\n[3](/public/snapin-development/tutorials/triggered-event#event-source)\\n\\n### Event source\\n\\nFollowing the manifest update, the next step", + "title": "Snap-in triggered by a DevRev event \u2014 DevRev | Docs" }, { - "id": "ART-12390_KNOWLEDGE_NODE-6", - "text": "+ [Turing AI agent](/docs/product/conversational-bot)\\n\\n - [Best practices for documentation that supports AI](/docs/product/writing-bp)\\n + [Commands](/docs/product/commands)\\n + [Service-level agreement](/docs/product/sla)\\n + [Operational-level agreement](/docs/product/ola)\\n + [Support snap-ins](/docs/product/snapins-support)\\n* [Computer for Builders](/docs/product/build)\\n\\n + [Issues](/docs/product/issues)\\n + [Now, Next, Later](/docs/product/nnl)\\n + [Sprint", - "title": "Workflow action library | Workflows | Computer by DevRev | DevRev" + "id": "ART-2133_KNOWLEDGE_NODE-54", + "text": "we\\xe2\\x80\\x99ve mentioned before, this improves \\xef\\xac\\x82ow and deep work durations during the day in the life of a knowledge worker.\\n\\nThe Essential Methodology also argues for reducing human work by getting intelligent bots to look up legacy systems, execute work\\xef\\xac\\x82ows, and notify people. Goal orientation in AI bots entails routing natural language intent to bot skills, which in turn have deterministic work\\xef\\xac\\x82ows attached to them.\\n\\nPage 14 of 16\\n\\nThe Essential", + "title": "The Essential Methodology: Less but Better" }, { - "id": "ART-1950_KNOWLEDGE_NODE-12", - "text": "Node](/docs/automations/search-node)\\n - [Sentiment evaluator](/docs/automations/sentiment-evaluator)\\n - [Subtype Migration](/docs/automations/subtype-migration)\\n - [Real-time sentiment evaluator](/docs/automations/realtime-sentiment-evaluator)\\n - [Send customized emails](/docs/automations/send-emails)\\n - [StageFlow automator](/docs/automations/stageflow-automator)\\n - [Smart issue creator](/docs/automations/smart-issue-creator)\\n - [Set user preference for", - "title": "Parts & trails | Computer by DevRev | DevRev" + "id": "ART-1277_KNOWLEDGE_NODE-8", + "text": "1 | version: \"2\" |\\n| 2 | |\\n| 3 | name: Sample snap-in |\\n| 4 | description: Snap-in to add comments for demonstration purpose. |\\n| 5 | |\\n| 6 | service_account: |\\n| 7 | display_name: \"DevRev Bot\" |\\n```\\n\\n[3](/snapin-development/tutorials/triggered-event#event-source)\\n\\n### Event source\\n\\nFollowing the manifest update, the next step is to incorporate the [event source](/snapin-development/references/event-sources).\\nFor this scenario, events from DevRev are essential. Therefore, an", + "title": "Snap-in triggered by a DevRev event | DevRev | Docs" }, { - "id": "ART-1950_KNOWLEDGE_NODE-25", - "text": "be recursively made of smaller parts. Events and work items must be related to parts. In general, parts are the core objects that almost all other objects are linked to, which helps enforce the notion of tying everything back to the product or service.\\n\\n\\xf0\\x9f\\x8e\\xa5 Video: Trails\\n\\n*Trails* is an extensible interface that allows you to view and manage your part hierarchy and related items. Think of it like a graph canvas that\\'s rendering linkages among items\\xe2\\x80\\x94including", - "title": "Parts & trails | Computer by DevRev | DevRev" + "id": "ART-2133_KNOWLEDGE_NODE-51", + "text": "within an enterprise. AI, therefore, has to be built-in, not bolted-on, within an essential company.\\n\\nOn Real Time Interventions Essential AI needs to (a) discern, (b) de\\xef\\xac\\x82ect, and (c) deduplicate in real time, which means it must work at the speed of human keystrokes. And that in itself is a profound challenge in user experience and low latency engineering. Therefore, it becomes that much harder to retro\\xef\\xac\\x81t AI into legacy applications.\\n\\nDiscern would be about", + "title": "The Essential Methodology: Less but Better" } ] }, @@ -1236,54 +1236,54 @@ "query": "resolution time grouped by Priority and Customer segment", "retrievals": [ { - "id": "ART-1986_KNOWLEDGE_NODE-41", - "text": "resolution is due in one day, the vista displays five minutes. In the case where the first response isn't provided within five minutes, the timer displays negative values (such as -10m), which indicates that it's been 10 minutes since the first response was due. Conversations or tickets can also be grouped by SLA stages.\\n\\nIn the **Detailed View**, all metrics applied to the ticket or conversation can be viewed along with their current stage.\\n\\nFiltering tickets by Next SLA", - "title": "Service-level agreement | Computer for Support Teams | DevRev" + "id": "ART-15716_KNOWLEDGE_NODE-36", + "text": "the Dashboards section.\\n\\nAdd a widget for \\xe2\\x80\\x9cTicket Resolution Time\\xe2\\x80\\x9d or \\xe2\\x80\\x9cAverage Time to Resolution.\\xe2\\x80\\x9d\\n\\nConfigure the widget to display data by agent, team, or time period.\\n\\nUse filters to focus on specific ticket types, priorities, or customer segments.\\n\\nFor more granular analysis, use a table or chart widget with custom SQL or filters.\\n\\nThis will help you monitor and improve your team\\xe2\\x80\\x99s responsiveness.5. Configuring branding of the", + "title": "Support queries related playbook" }, { - "id": "ART-1003_KNOWLEDGE_NODE-20", - "text": "AverageResolutionTime\\nFROM tickets t\\nWHERE t.status = 'resolved'\\nAND EXTRACT(@period FROM t.created_at) = EXTRACT(@period FROM CURRENT_DATE);\\n-- NOTE: Replace @period with 'DAY', 'WEEK', 'MONTH', or 'QUARTER'.\\n\\n\\nCustomer Satisfaction Score (CSAT)\\n\\n\\n Definition\\n \\n A metric that gauges customer satisfaction with the support provided, typically collected through surveys.\\n \\n \\n Calculation\\n \\n (Number of satisfied responses) / (Total number of responses) * 100\\n", + "id": "ART-1003_KNOWLEDGE_NODE-19", + "text": "t.created_at) = EXTRACT(@period FROM CURRENT_DATE);\\n-- NOTE: Replace @period with 'DAY', 'WEEK', 'MONTH', or 'QUARTER'.\\n\\n\\nAverage Resolution Time (ART)\\n\\n\\n Definition\\n \\n The average time it takes to resolve a customer issue from the moment it\\xe2\\x80\\x99s reported.\\n \\n \\n Calculation\\n \\n (Sum of resolution times for all resolved tickets) / (Total number of resolved tickets)\\n \\n \\n\\n\\nSELECT AVG(TIMESTAMPDIFF(MINUTE, t.created_at, t.resolved_at)) AS", "title": "Understanding a Support Lead's Pain Points and KPIs" }, { - "id": "ART-1039_KNOWLEDGE_NODE-3", - "text": "high-quality video experiences became undeniable.\\n\\nThe Challenge\\n-------------\\n\\nProviding exceptional customer support means connecting with your customers wherever they are, in real-time. As companies scale, it becomes increasingly difficult to provide the same high standard of service to a growing number of customers \\xe2\\x80\\x94 without breaking the bank. In today\\xe2\\x80\\x99s crowded marketplace where it\\xe2\\x80\\x99s possible to get a SaaS company up and running in less than a day,", - "title": "100ms delivers differentiated customer support through a unified channel" + "id": "ART-1004_KNOWLEDGE_NODE-7", + "text": "time it takes for a specific support engineer to resolve a customer issue from the moment it\\xe2\\x80\\x99s reported.\\n \\n \\n Calculation\\n \\n (Sum of resolution times for all resolved tickets by the engineer) / (Total number of resolved tickets by the engineer)\\n \\n \\n\\n\\nSELECT engineer_id, AVG(TIMESTAMPDIFF(MINUTE, t.created_at, t.resolved_at)) AS IndividualAverageResolutionTime\\nFROM tickets t\\nWHERE t.status = 'resolved'\\nAND EXTRACT(@period FROM t.created_at) =", + "title": "Understanding a Support Engineer's Pain Points and KPIs" }, { - "id": "ART-1039_KNOWLEDGE_NODE-15", - "text": "[SLA](/legal/sla)\\n* [DPA](/legal/dpa)\\n* [Subprocessors](/security/sub-processors)\\n* [Cookie Policy](/legal/cookie-policy)\\n* [Privacy Policy](/legal/privacy-policy)\\n* [Terms of Service](/legal/terms-of-service)\\n\\n[System Status](/status)\\n\\n\\xc2\\xa9 2025 DevRev Inc.'", - "title": "100ms delivers differentiated customer support through a unified channel" + "id": "ART-2695_KNOWLEDGE_NODE-27", + "text": "**Metrics**. Install the [OLA metrics for issues](https://marketplace.devrev.ai/ola-metric-on-issues) snap-in as prompted to access the **Issue Resolution Time** metric, see [Defining OLA Metrics](#defining-ola-metrics) for details.\\n3. Click **Continue**.\\n\\nYou can set breach and warning targets for **Issue Resolution Time** by selecting between calendar or business hours for calculation. Multiple policies can be created within an OLA, and they are applied based on priority if an issue meets", + "title": "Operational-level agreement | Computer for Support Teams | DevRev" }, { - "id": "ART-1986_KNOWLEDGE_NODE-39", - "text": "marked as spam | | |\\n| Next response time | | A new message on the conversation with the customer after the customer experience engineer replied | * The agent replied to the conversation * The conversation is moved to Waiting on User/Resolved * The conversation is marked as spam | | |\\n| Full resolution time | | Conversation created | * The conversation has moved to the Resolved/Archived * The conversation is marked as spam | The conversation is moved to Waiting on User | The", - "title": "Service-level agreement | Computer for Support Teams | DevRev" + "id": "ART-1003_KNOWLEDGE_NODE-8", + "text": "calculate these things manually\\n Make sure there is automation to keep these numbers up to date and don\\xe2\\x80\\x99t rely on a human to calculate\\n Manual/human-based calculations will always be out of date and error prone.\\n \\n \\n\\n\\nKPIs to track:\\n\\n\\n First Response Time\\n Average Resolution Time\\n Customer Satisfaction Score\\n Net Promoter Score\\n Escalation Rate\\n\\n\\nCustomer satisfaction (CSAT)\\n\\nTechnically this should be at the top of the list as this is all that", + "title": "Understanding a Support Lead's Pain Points and KPIs" }, { - "id": "ART-1039_KNOWLEDGE_NODE-5", - "text": "problem was interacting with our customers and really understanding the urgency of every conversation. We had over 300 Slack Connect channels for our users. The conversations could go from design discussions to finding bugs to architecture, and there was no way to delineate these conversations from ones where a customer is saying, \\xe2\\x80\\x98I\\xe2\\x80\\x99m having an outage right now. I need urgent help\\xe2\\x80\\x9d.\\n\\nManaging and prioritizing customer conversations and requests in Slack was a", - "title": "100ms delivers differentiated customer support through a unified channel" + "id": "ART-1970_KNOWLEDGE_NODE-26", + "text": "Conversations with SLA breaches with breach type for ticket owners.\\n* **SLA breaches w.r.t. Customer Tier**\\n\\n Number of Conversations with SLA breaches per owner.\\n* **Average Resolution Time**\\n\\n Indicates the average time taken to resolve requests for each conversation owner.\\n\\n[PreviousConversation-SLA Analytics](/docs/dashboards/conversation-sla-analytics)[NextTicket insights](/docs/dashboards/ticket-insights)\\n\\n[Enterprise grade security to protect customer data\\n\\nLearn more about", + "title": "Conversation-Team Performance | Support analytics | Computer for Support Teams | DevRev" }, { - "id": "ART-2133_KNOWLEDGE_NODE-21", - "text": "customer at a much deeper level.\\n\\nTime Travel Establishing the history of a customer \\xe2\\x80\\x93 events, changes to records, versions, time logs\\xe2\\x80\\xa6 essentially traveling back in time \\xe2\\x80\\x93 is one of the hardest things in customer relationship management. Support, product management, and other business-to-business conversations\\n\\nPage 7 of 16\\n\\nThe Essential Methodology\\n\\nLess But Better\\n\\nare otherwise mostly point-in- time, with a lot of recency bias that results in", - "title": "The Essential Methodology: Less but Better" + "id": "ART-1974_KNOWLEDGE_NODE-25", + "text": "lower priority than existing customer orgs.\\n\\n**Tags** [*values*]\\n\\n* Stalled\\n* Priority/Escalated\\n* Fast/Slow Moving\\n* Blocked\\n* Resolution: [*value*]\\n\\nStages\\n------\\n\\nThe following figure shows the state machine for conversations.\\n\\n```\\nClosed\\n\\n\\n\\nIn progress\\n\\n\\n\\nOpen\\n\\n\\n\\nValid\\n\\n\\n\\nSpam\\n\\n\\n\\nReview\\n\\n\\n\\nWaiting on user\\n\\n\\n\\nUser responds\\n\\n\\n\\nHold for Dependency\\n\\n\\n\\nDependency Solved\\n\\n\\n\\nSupport", + "title": "Conversations | Computer for Support Teams | DevRev" }, { - "id": "ART-1003_KNOWLEDGE_NODE-19", - "text": "t.created_at) = EXTRACT(@period FROM CURRENT_DATE);\\n-- NOTE: Replace @period with 'DAY', 'WEEK', 'MONTH', or 'QUARTER'.\\n\\n\\nAverage Resolution Time (ART)\\n\\n\\n Definition\\n \\n The average time it takes to resolve a customer issue from the moment it\\xe2\\x80\\x99s reported.\\n \\n \\n Calculation\\n \\n (Sum of resolution times for all resolved tickets) / (Total number of resolved tickets)\\n \\n \\n\\n\\nSELECT AVG(TIMESTAMPDIFF(MINUTE, t.created_at, t.resolved_at)) AS", - "title": "Understanding a Support Lead's Pain Points and KPIs" + "id": "ART-16189_KNOWLEDGE_NODE-8", + "text": "up\\n\\n![]()\\n\\nManual A. HarnischVice President of Success & Support\\n\\nThe impact: Unified knowledge, automated resolution, measurable results\\n-----------------------------------------------------------------------\\n\\nSince implementing DevRev, FOSSA has experienced transformative gains across operations. The unified system helped bridge silos and elevate support productivity:\\n\\n* 40% reduction in support-related headcount costs\\n* 57% faster resolution time, now averaging 12d 1h\\n*", + "title": "FOSSA\u2019s Unified Support Strategy for Elevated Customer Experience" }, { - "id": "ART-970_KNOWLEDGE_NODE-47", - "text": "customers, including their support interactions, engagements, and product usage.\\n Consider the possibilities of identifying and prioritizing high-impact items based on their revenue implications.\\n\\n\\nSupport Engineer:\\n\\n\\n How would your approach change if you knew about potential opportunities or deals with the customer?\\n Imagine not having to engage in the tedious task of copying and pasting between engineering issues and your tickets.\\n What if you could effortlessly track the status", - "title": "The Story" + "id": "ART-4181_KNOWLEDGE_NODE-10", + "text": "goals\\n\\nChoose from pre-built metrics such as response time and resolution time, or tailor metrics to your requirements\\n\\n![]()\\n\\nEffortlessly assign SLAs\\n========================\\n\\nPowered by intelligent automation and flexible customization to ensure customers consistently receive the right level of support\\n================================================================================================================================\\n\\n[Try for free](/request-a-demo)\\n\\nAutomated SLA", + "title": "Support like a lightning fast pit-crew" }, { - "id": "ART-1004_KNOWLEDGE_NODE-7", - "text": "time it takes for a specific support engineer to resolve a customer issue from the moment it\\xe2\\x80\\x99s reported.\\n \\n \\n Calculation\\n \\n (Sum of resolution times for all resolved tickets by the engineer) / (Total number of resolved tickets by the engineer)\\n \\n \\n\\n\\nSELECT engineer_id, AVG(TIMESTAMPDIFF(MINUTE, t.created_at, t.resolved_at)) AS IndividualAverageResolutionTime\\nFROM tickets t\\nWHERE t.status = 'resolved'\\nAND EXTRACT(@period FROM t.created_at) =", - "title": "Understanding a Support Engineer's Pain Points and KPIs" + "id": "ART-1899_KNOWLEDGE_NODE-1", + "text": "resolution time by 64%, improved first response time by over 83%, and increased their customer satisfaction score by 30%. They also saw a 20% increase in conversion rates.\\n\\nWith DevRev, Tough Trucks for Kids can now provide top-notch, scalable customer support. They're set up to maintain high customer delight as they continue to grow.\\n\\nCase Study: Link\"", + "title": "Tough Trucks for Kids Story" } ] }, @@ -1292,24 +1292,14 @@ "query": "add attributes in MSAT snap-in", "retrievals": [ { - "id": "ART-1846_KNOWLEDGE_NODE-8", - "text": "example of a snap-kit JSON:\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | { |\\n| 2 | \"snap_kit_body\": { |\\n| 3 | \"body\": { |\\n| 4 | \"snaps\": [ |\\n| 5 | { |\\n| 6 | \"elements\": [ |\\n| 7 | { |\\n| 8 | \"action_id\": \"user_snap_kit_action\", |\\n| 9 | \"action_type\": \"remote\", |\\n| 10 | \"elements\": [ |\\n| 11 | { |\\n| 12 | \"element\": { |\\n| 13 | \"action_id\": \"select\", |\\n| 14 | \"action_type\": \"client\", |\\n| 15 | \"initial_selected_option\": { |\\n| 16 | \"text\": { |\\n| 17 | \"text\": \"Ticket\", |\\n| 18 | \"type\":", - "title": "Customizing snap-in configuration | DevRev | Docs" + "id": "ART-1276_KNOWLEDGE_NODE-6", + "text": "manifest\\n\\nTo outline the structure of the snap-in, the initial step is to define key attributes in the snap-in\\xe2\\x80\\x99s manifest. Begin by specifying the name, description, and account display name for the snap-in.\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | version: \"2\" |\\n| 2 | name: \"GitHub issue creator\" |\\n| 3 | description: \"Replicate DevRev issues in GitHub.\" |\\n| 4 | |\\n| 5 | service_account: |\\n| 6 | display_name: GitHub Issue Creator", + "title": "Using a snap-in to perform an external action | DevRev | Docs" }, { - "id": "ART-1278_KNOWLEDGE_NODE-6", - "text": "discussion tab of the specified Product\\nsection. The configuration for this action can be customized through the input\\nparameters of the snap-in.\\n\\n[2](/snapin-development/tutorials/triggered-external-source#creating-the-snap-in)\\n\\n### Creating the snap-in\\n\\n#### Updating the manifest\\n\\nTo outline the structure of the snap-in, the initial step is to define key\\nattributes in the snap-in\\xe2\\x80\\x99s manifest. Begin by specifying the name, description,\\nand account display name for the", - "title": "Snap-in triggered by an external source | DevRev | Docs" - }, - { - "id": "ART-1846_KNOWLEDGE_NODE-19", - "text": "change in future updates.\\n\\nFor more details on the snap-kit JSON format and available elements, refer to the [DevRev Snap-kit documentation](/snapin-development/references/snapkit).\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/snapin-development/references/snap-in-resources)[#### Development best practices\\n\\nNext](/snapin-development/best-practices)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", - "title": "Customizing snap-in configuration | DevRev | Docs" - }, - { - "id": "ART-1847_KNOWLEDGE_NODE-9", - "text": "JSON:\\n\\n[code]\\n\\n 1| { \\n ---|--- \\n 2| \"snap_kit_body\": { \\n 3| \"body\": { \\n 4| \"snaps\": [ \\n 5| { \\n 6| \"elements\": [ \\n 7| { \\n 8| \"action_id\": \"user_snap_kit_action\", \\n 9| \"action_type\": \"remote\", \\n 10| \"elements\": [ \\n 11| { \\n 12| \"element\": { \\n 13| \"action_id\": \"select\", \\n 14|", - "title": "Customizing snap-in configuration \u2014 DevRev | Docs" + "id": "ART-1472_KNOWLEDGE_NODE-10", + "text": "outline the structure of the snap-in, the initial step is to define key attributes in the snap-in\\xe2\\x80\\x99s manifest. Begin by specifying the name, description, and account display name for the snap-in.\\n\\n[code]\\n\\n 1| version: \"2\" \\n ---|--- \\n 2| name: \"GitHub issue creator\" \\n 3| description: \"Replicate DevRev issues in GitHub.\" \\n 4| \\n 5| service_account: \\n 6| display_name: GitHub Issue Creator\\n[/code] \\n", + "title": "Using a snap-in to perform an external action \u2014 DevRev | Docs" }, { "id": "ART-1473_KNOWLEDGE_NODE-9", @@ -1317,29 +1307,39 @@ "title": "Snap-in triggered by an external source \u2014 DevRev | Docs" }, { - "id": "ART-1846_KNOWLEDGE_NODE-1", - "text": "(beta)](/snapin-development/references/customizing-snap-in-configuration#update-snap-in-inputs-beta)\\n* [Request payload](/snapin-development/references/customizing-snap-in-configuration#request-payload)\\n* [Response](/snapin-development/references/customizing-snap-in-configuration#response)\\n* [Success response](/snapin-development/references/customizing-snap-in-configuration#success-response)\\n* [Error", - "title": "Customizing snap-in configuration | DevRev | Docs" + "id": "ART-1277_KNOWLEDGE_NODE-7", + "text": "text comment from the\\nsnap-in. To accomplish this task, the DevRev SDK is employed.\\n\\n[2](/snapin-development/tutorials/triggered-event#creating-the-snap-in)\\n\\n### Creating the snap-in\\n\\n#### Updating the manifest\\n\\nThe next step involves updating the manifest to define key attributes of\\nthe snap-in. This includes deciding on the name and providing a descriptive\\noverview that is visible to users, offering context about the snap-in\\xe2\\x80\\x99s\\npurpose.\\n\\n```\\n| | |\\n| --- | --- |\\n|", + "title": "Snap-in triggered by a DevRev event | DevRev | Docs" }, { - "id": "ART-1276_KNOWLEDGE_NODE-6", - "text": "manifest\\n\\nTo outline the structure of the snap-in, the initial step is to define key attributes in the snap-in\\xe2\\x80\\x99s manifest. Begin by specifying the name, description, and account display name for the snap-in.\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | version: \"2\" |\\n| 2 | name: \"GitHub issue creator\" |\\n| 3 | description: \"Replicate DevRev issues in GitHub.\" |\\n| 4 | |\\n| 5 | service_account: |\\n| 6 | display_name: GitHub Issue Creator", - "title": "Using a snap-in to perform an external action | DevRev | Docs" + "id": "ART-1485_KNOWLEDGE_NODE-11", + "text": "this task. In this scenario, the `/timeline-entries.create` API is the designated choice for executing the action of adding a text comment from the snap-in. To accomplish this task, the DevRev SDK is employed.\\n\\n[2](/public/snapin-development/tutorials/triggered-event#creating-the-snap-in)\\n\\n### Creating the snap-in\\n\\n#### Updating the manifest\\n\\nThe next step involves updating the manifest to define key attributes of the snap-in. This includes deciding on the name and providing a", + "title": "Snap-in triggered by a DevRev event \u2014 DevRev | Docs" }, { - "id": "ART-1472_KNOWLEDGE_NODE-10", - "text": "outline the structure of the snap-in, the initial step is to define key attributes in the snap-in\\xe2\\x80\\x99s manifest. Begin by specifying the name, description, and account display name for the snap-in.\\n\\n[code]\\n\\n 1| version: \"2\" \\n ---|--- \\n 2| name: \"GitHub issue creator\" \\n 3| description: \"Replicate DevRev issues in GitHub.\" \\n 4| \\n 5| service_account: \\n 6| display_name: GitHub Issue Creator\\n[/code] \\n", - "title": "Using a snap-in to perform an external action \u2014 DevRev | Docs" + "id": "ART-2911_KNOWLEDGE_NODE-28", + "text": "**Save** and **Install**.\\n\\nDeduplicate accounts\\n--------------------\\n\\n1. Enter /add\\\\_tags in the Discussion section of snap-in to start adding tags\\n to primary and secondary account.\\n\\n ![]()\\n\\n If the timeline entry remains unchanged for an extended period, use /add\\\\_tags stop to change the status from \"running\" to \"stop\". To reset the script completely, use /add\\\\_tags reset, which removes the checkpoints that allow the script to continue from a specific point. After adding", + "title": "Account deduplication | Automate | Snap-ins | DevRev" }, { - "id": "ART-1847_KNOWLEDGE_NODE-2", - "text": "(beta)](/public/snapin-development/references/customizing-snap-in-configuration#update-snap-in-inputs-beta)\\n * [Request payload](/public/snapin-development/references/customizing-snap-in-configuration#request-payload)\\n * [Response](/public/snapin-development/references/customizing-snap-in-configuration#response)\\n * [Success response](/public/snapin-development/references/customizing-snap-in-configuration#success-response)\\n * [Error", - "title": "Customizing snap-in configuration \u2014 DevRev | Docs" + "id": "ART-3107_KNOWLEDGE_NODE-26", + "text": "If multiple tags are selected, only one needs to match.\\n * **Search for tags on**: Specify where to search for tags\\xe2\\x80\\x94on the contact,\\n the account, or both.\\n * **Assign tags if found**: Choose the tags to add to the ticket if matching\\n tags are found.\\n * (Optional) **Assign tags if not found**: Choose tags to add if no matching\\n tags are found.\\n3. Click **Save**.\\n4. Click **Install** to activate the snap-in.\\n\\nHow to use\\n----------\\n\\nOnce the snap-in is", + "title": "Ticket Tagger | Automate | Snap-ins | DevRev" + }, + { + "id": "ART-2055_KNOWLEDGE_NODE-28", + "text": "This ensures all necessary permissions are available to complete the import successfully.\\n\\n1. Go to **Settings** > **Snap-ins** and install **Linear**.\\n\\n![]()\\n\\nThere may be an existing **Linear Issues** already added. If so, **Add** the other.\\n\\n1. Go to **Settings** > **Integrations** > **AirSyncs** and click **AirSync**.\\n2. Under the **Snap-ins** tab, select **Linear**.\\n\\n If this snap-in isn\\'t available, install the snap-in as described in step 2. Do not select the legacy Linear", + "title": "Linear AirSync | AirSync | Snap-ins | DevRev" + }, + { + "id": "ART-16192_KNOWLEDGE_NODE-26", + "text": "User | Group member | \\xe2\\x9c\\x85 |\\n| Knowledge Article | Article | \\xe2\\x9c\\x85 |\\n| Article Attachment | Attachment on Article | \\xe2\\x9c\\x85 |\\n\\n### Importing from ServiceNow KB\\n\\n1. Login to DevRev.\\n2. Go to **Settings > Integrations > Snap-ins**, search for **ServiceNow KB** under **All Snap-ins**.\\n3. Click **Add** and **Install Snap-in**.\\n4. Go to **Settings** > **Integrations** > **AirSyncs** in the left navigation.\\n5. Click **AirSync** in top-right corner and select the", + "title": "ServiceNow KB AirSync | AirSync | Snap-ins | DevRev" }, { - "id": "ART-1296_KNOWLEDGE_NODE-9", - "text": "changed. Any existing function can be removed. A new function can be added. |\\n| Commands | For existing commands: - All properties can be changed. Any existing command can be removed. A new command can be added. |\\n| Snap-kit actions | For existing snap-kit-actions: - The description can be changed. - The function can be changed. Any existing snap-kit-action can be removed. A new snap-kit-action can be added. |\\n| Service account | The display name of the service", - "title": "Upgrade snap-ins | DevRev | Docs" + "id": "ART-1277_KNOWLEDGE_NODE-11", + "text": "users to provide a list of\\n names to be added as comments. The default value is set to [\\xe2\\x80\\x9cname1\\xe2\\x80\\x9d,\\n \\xe2\\x80\\x9cname2\\xe2\\x80\\x9d].\\n\\nBy incorporating these input fields, the snap-in becomes more adaptable and\\nuser-friendly, enabling users to supply specific comments tailored to their\\nneeds.\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | inputs: |\\n| 2 | organization: |\\n| 3 | - name: input_field_1 |\\n| 4 | description: Input field to add comment to the work item. |\\n| 5 |", + "title": "Snap-in triggered by a DevRev event | DevRev | Docs" } ] }, @@ -1348,53 +1348,53 @@ "query": "Slack bot not working after multiple test tickets", "retrievals": [ { - "id": "ART-4021_KNOWLEDGE_NODE-5", - "text": "ticket conversion](/docs/product/conversation-ticket)\\n + [Tickets](/docs/product/tickets)\\n + [Routing](/docs/product/routing)\\n + [Support best practices](/docs/product/support-bp)\\n + [Customer portal](/docs/product/support-portal)\\n + [Questions & answers](/docs/product/qa)\\n + [Knowledge Base](/docs/product/knowledge-base)\\n\\n - [Articles](/docs/product/articles)\\n - [Collections](/docs/product/collection)\\n + [Turing AI agent](/docs/product/conversational-bot)\\n\\n - [Best", - "title": "Slack scraper | Automate | Snap-ins | DevRev" + "id": "ART-4199_KNOWLEDGE_NODE-28", + "text": "**Trigger URL** that is displayed.\\n6. Paste the Trigger URL under **Enable Events** in the custom Slack bot.\\n\\n[PreviousTicket linked issues comment sync](/docs/automations/ticket-linked-issues-comment-sync)[NextIntegrate](/docs/integrate)\\n\\n#### On this page\\n\\n* [Install](#install)\\n* [Configure the custom Slack bot](#configure-the-custom-slack-bot)\\n* [Configure DevRev](#configure-devrev)\\n\\n[Enterprise grade security to protect customer data\\n\\nLearn more about", + "title": "Slack message agent | Automate | Snap-ins | DevRev" }, { - "id": "ART-12395_KNOWLEDGE_NODE-5", - "text": "ticket conversion](/docs/product/conversation-ticket)\\n + [Tickets](/docs/product/tickets)\\n + [Routing](/docs/product/routing)\\n + [Support best practices](/docs/product/support-bp)\\n + [Customer portal](/docs/product/support-portal)\\n + [Questions & answers](/docs/product/qa)\\n + [Knowledge Base](/docs/product/knowledge-base)\\n\\n - [Articles](/docs/product/articles)\\n - [Collections](/docs/product/collection)\\n + [Turing AI agent](/docs/product/conversational-bot)\\n\\n - [Best", - "title": "Slack Broadcaster | Automate | Snap-ins | DevRev" + "id": "ART-1979_KNOWLEDGE_NODE-54", + "text": "already raised in the primary ticket. Duplicate tickets often arise from customers submitting multiple requests through different channels (email, portal, Slack). All duplicate tickets become *immutable* after merging.\\n\\n**Primary ticket**\\n\\nA primary ticket is the main record that consolidates all relevant information from duplicate tickets. It serves as the primary source of communication for all merged duplicate tickets, ensuring that all customer interactions, updates, and resolutions are", + "title": "Tickets | Computer for Support Teams | DevRev" }, { - "id": "ART-4199_KNOWLEDGE_NODE-5", - "text": "ticket conversion](/docs/product/conversation-ticket)\\n + [Tickets](/docs/product/tickets)\\n + [Routing](/docs/product/routing)\\n + [Support best practices](/docs/product/support-bp)\\n + [Customer portal](/docs/product/support-portal)\\n + [Questions & answers](/docs/product/qa)\\n + [Knowledge Base](/docs/product/knowledge-base)\\n\\n - [Articles](/docs/product/articles)\\n - [Collections](/docs/product/collection)\\n + [Turing AI agent](/docs/product/conversational-bot)\\n\\n - [Best", + "id": "ART-4199_KNOWLEDGE_NODE-25", + "text": "DevRev.\\n\\n![]()\\n\\nFor more information, refer to the [Slack message agent](https://marketplace.devrev.ai/slack-message-agent) on the DevRev marketplace.\\n\\nInstall\\n-------\\n\\n1. Install the DevRev [Slack app](/docs/integrations/slack).\\n2. Install the Slack message agent in your org.\\n\\nConfigure the custom Slack bot\\n------------------------------\\n\\n1. Go to [Slack API](https://api.slack.com/apps) and create a new app **From scratch**.\\n2. Go to *Basic Information*\\\\* > **App Credentials**", "title": "Slack message agent | Automate | Snap-ins | DevRev" }, { - "id": "ART-4199_KNOWLEDGE_NODE-28", - "text": "**Trigger URL** that is displayed.\\n6. Paste the Trigger URL under **Enable Events** in the custom Slack bot.\\n\\n[PreviousTicket linked issues comment sync](/docs/automations/ticket-linked-issues-comment-sync)[NextIntegrate](/docs/integrate)\\n\\n#### On this page\\n\\n* [Install](#install)\\n* [Configure the custom Slack bot](#configure-the-custom-slack-bot)\\n* [Configure DevRev](#configure-devrev)\\n\\n[Enterprise grade security to protect customer data\\n\\nLearn more about", + "id": "ART-4199_KNOWLEDGE_NODE-26", + "text": "and copy the signing secret.\\n3. Go to **OAuth & Permissions** and add the following scopes under **Bot Token Scopes**.\\n * channels:history\\n * chat:write\\n * files:read\\n * metadata.message:read\\n * team:read\\n * usergroups:read\\n * users:read\\n * users:read.email\\n4. Once the scopes are updated, copy the **Bot User OAuth Token** and click the button below it.\\n5. Go to **Event Subscriptions** and click **Enable Events**.\\n6. Under **Subscribe to bot events**, add", "title": "Slack message agent | Automate | Snap-ins | DevRev" }, { - "id": "ART-2035_KNOWLEDGE_NODE-5", - "text": "ticket conversion](/docs/product/conversation-ticket)\\n + [Tickets](/docs/product/tickets)\\n + [Routing](/docs/product/routing)\\n + [Support best practices](/docs/product/support-bp)\\n + [Customer portal](/docs/product/support-portal)\\n + [Questions & answers](/docs/product/qa)\\n + [Knowledge Base](/docs/product/knowledge-base)\\n\\n - [Articles](/docs/product/articles)\\n - [Collections](/docs/product/collection)\\n + [Turing AI agent](/docs/product/conversational-bot)\\n\\n - [Best", - "title": "Slack | Integrate | Snap-ins | DevRev" + "id": "ART-2017_KNOWLEDGE_NODE-25", + "text": "ticket\\'s owner and subscribers, when a ticket\\'s resolution time SLA changes into the *Warning* or *Breached* stage.\\n\\n![]()\\n\\nFor more information, refer to the\\n[SLA status change Slack notifier snap-in](/marketplace/sla-status-change-slack-notifier) on the DevRev\\nmarketplace.\\n\\nInstallation\\n------------\\n\\n1. Create a Slack app for your workspace in .\\n2. In App features, generate bot token in **OAuth & Permissions**.\\n3. Grant the app bot the following", + "title": "SLA status change Slack notifier | Automate | Snap-ins | DevRev" }, { - "id": "ART-12395_KNOWLEDGE_NODE-13", - "text": "group](/docs/automations/set-user-preference)\\n - [SLA status change Slack notifier](/docs/automations/sla-change-notifier)\\n - [Slash commands](/docs/automations/slash-commands)\\n - [Spam Shield](/docs/automations/spam-shield)\\n - [Subtype Migration](/docs/automations/subtype-migration)\\n - [Ticket age in engineering](/docs/automations/ticket-age-in-engineering)\\n - [Ticket issue field migrator](/docs/automations/ticket-issue-field-migrator)\\n - [Ticket", - "title": "Slack Broadcaster | Automate | Snap-ins | DevRev" + "id": "ART-12393_KNOWLEDGE_NODE-15", + "text": "[Custom field migration](/docs/automations/custom-field-migration)\\n - [Slack scraper](/docs/automations/slack-scraper)\\n - [Slack Broadcaster](/docs/automations/slack-broadcaster)\\n - [Reported by enricher](/docs/automations/ticket-reported-by)\\n - [Ticket approval workflow](/docs/automations/ticket-approval-workflow)\\n - [Ticket linked issues comment sync](/docs/automations/ticket-linked-issues-comment-sync)\\n - [Slack message agent](/docs/automations/slack-message-agent)\\n", + "title": "Troubleshooting | Workflows | Computer by DevRev | DevRev" }, { - "id": "ART-12395_KNOWLEDGE_NODE-14", - "text": "Immutability](/docs/automations/ticket-immutability)\\n - [Ticket email notifier](/docs/automations/ticket-email-notifier)\\n - [Task tracker](/docs/automations/task-tracker)\\n - [Ticket Tagger](/docs/automations/ticket-tagger)\\n - [Tracxn sync](/docs/automations/tracxn-sync)\\n - [User group validator](/docs/automations/user-group-validator)\\n - [Work duration](/docs/automations/work-duration)\\n - [Operational SLA Metrics](/docs/automations/operational-sla-metrics)\\n -", - "title": "Slack Broadcaster | Automate | Snap-ins | DevRev" + "id": "ART-2035_KNOWLEDGE_NODE-5", + "text": "ticket conversion](/docs/product/conversation-ticket)\\n + [Tickets](/docs/product/tickets)\\n + [Routing](/docs/product/routing)\\n + [Support best practices](/docs/product/support-bp)\\n + [Customer portal](/docs/product/support-portal)\\n + [Questions & answers](/docs/product/qa)\\n + [Knowledge Base](/docs/product/knowledge-base)\\n\\n - [Articles](/docs/product/articles)\\n - [Collections](/docs/product/collection)\\n + [Turing AI agent](/docs/product/conversational-bot)\\n\\n - [Best", + "title": "Slack | Integrate | Snap-ins | DevRev" }, { - "id": "ART-4199_KNOWLEDGE_NODE-14", - "text": "Immutability](/docs/automations/ticket-immutability)\\n - [Ticket email notifier](/docs/automations/ticket-email-notifier)\\n - [Task tracker](/docs/automations/task-tracker)\\n - [Ticket Tagger](/docs/automations/ticket-tagger)\\n - [Tracxn sync](/docs/automations/tracxn-sync)\\n - [User group validator](/docs/automations/user-group-validator)\\n - [Work duration](/docs/automations/work-duration)\\n - [Operational SLA Metrics](/docs/automations/operational-sla-metrics)\\n -", + "id": "ART-4199_KNOWLEDGE_NODE-27", + "text": "message.channels.\\n7. Add this custom app and the **DevRev Slack Bot** into the Slack channel from which you want to create the DevRev object.\\n\\nConfigure DevRev\\n----------------\\n\\n1. Add the Slack Signing Secret and Slack Bot Token copied from the custom Slack bot app.\\n2. Add the channel IDs for either incidents, tickets or issues.\\n3. Click the respective buttons to enable the sync between threads.\\n4. Select the part ID to associate a particular part.\\n5. Click **Save** and copy the", "title": "Slack message agent | Automate | Snap-ins | DevRev" }, { - "id": "ART-4199_KNOWLEDGE_NODE-13", - "text": "group](/docs/automations/set-user-preference)\\n - [SLA status change Slack notifier](/docs/automations/sla-change-notifier)\\n - [Slash commands](/docs/automations/slash-commands)\\n - [Spam Shield](/docs/automations/spam-shield)\\n - [Subtype Migration](/docs/automations/subtype-migration)\\n - [Ticket age in engineering](/docs/automations/ticket-age-in-engineering)\\n - [Ticket issue field migrator](/docs/automations/ticket-issue-field-migrator)\\n - [Ticket", + "id": "ART-4199_KNOWLEDGE_NODE-5", + "text": "ticket conversion](/docs/product/conversation-ticket)\\n + [Tickets](/docs/product/tickets)\\n + [Routing](/docs/product/routing)\\n + [Support best practices](/docs/product/support-bp)\\n + [Customer portal](/docs/product/support-portal)\\n + [Questions & answers](/docs/product/qa)\\n + [Knowledge Base](/docs/product/knowledge-base)\\n\\n - [Articles](/docs/product/articles)\\n - [Collections](/docs/product/collection)\\n + [Turing AI agent](/docs/product/conversational-bot)\\n\\n - [Best", "title": "Slack message agent | Automate | Snap-ins | DevRev" }, { - "id": "ART-4021_KNOWLEDGE_NODE-13", - "text": "group](/docs/automations/set-user-preference)\\n - [SLA status change Slack notifier](/docs/automations/sla-change-notifier)\\n - [Slash commands](/docs/automations/slash-commands)\\n - [Spam Shield](/docs/automations/spam-shield)\\n - [Subtype Migration](/docs/automations/subtype-migration)\\n - [Ticket age in engineering](/docs/automations/ticket-age-in-engineering)\\n - [Ticket issue field migrator](/docs/automations/ticket-issue-field-migrator)\\n - [Ticket", + "id": "ART-4021_KNOWLEDGE_NODE-5", + "text": "ticket conversion](/docs/product/conversation-ticket)\\n + [Tickets](/docs/product/tickets)\\n + [Routing](/docs/product/routing)\\n + [Support best practices](/docs/product/support-bp)\\n + [Customer portal](/docs/product/support-portal)\\n + [Questions & answers](/docs/product/qa)\\n + [Knowledge Base](/docs/product/knowledge-base)\\n\\n - [Articles](/docs/product/articles)\\n - [Collections](/docs/product/collection)\\n + [Turing AI agent](/docs/product/conversational-bot)\\n\\n - [Best", "title": "Slack scraper | Automate | Snap-ins | DevRev" } ] @@ -1403,55 +1403,55 @@ "query_id": "17d61e6f-209e-43f7-bac4-61f02c5a63f1", "query": "customizar severity de los tickets", "retrievals": [ - { - "id": "ART-1551_KNOWLEDGE_NODE-506", - "text": "organizations.\\n\\nticket.severity enum Optional\\n\\nFilters for tickets with any of the provided severities.\\n\\nAllowed values: blocker high low medium\\nticket.sla_summary.stage enum Optional\\n\\nFilters for records with any of the provided SLA stages.\\n\\nAllowed values: breached completed paused running warning\\nticket.source_channel string Optional\\n\\nFilters for tickets with any of the provided source channels.\\n\\nticket.subtype string Optional\\n\\nFilters for tickets with any of the provided", - "title": "Update (Beta) \u2014 DevRev | Docs" - }, { "id": "ART-1834_KNOWLEDGE_NODE-447", "text": "organizations.\\nticket.severity enum Optional\\nFilters for tickets with any of the provided severities.\\nAllowed values: blocker high low medium\\nticket.sla_summary.stage enum Optional\\nFilters for records with any of the provided SLA stages.\\nAllowed values: breached completed paused running warning\\nticket.source_channel string Optional\\nFilters for tickets with any of the provided source channels.\\nticket.subtype string Optional\\nFilters for tickets with any of the provided subtypes.\\ntype", "title": "Delete \u2014 DevRev | Docs" }, { - "id": "ART-1651_KNOWLEDGE_NODE-455", - "text": "the provided severities.\\nAllowed values: blocker high low medium\\nticket.sla_summary.stage enum Optional\\nFilters for records with any of the provided SLA stages.\\nAllowed values: breached completed paused running warning\\nticket.source_channel string Optional\\nFilters for tickets with any of the provided source channels.\\nticket.subtype string Optional\\nFilters for tickets with any of the provided subtypes.\\ntype enum Optional\\nFilters for work of the provided types.\\nAllowed values: issue", + "id": "ART-1649_KNOWLEDGE_NODE-455", + "text": "associated with any of the provided Rev organizations.\\nticket.severity enum Optional\\nFilters for tickets with any of the provided severities.\\nAllowed values: blocker high low medium\\nticket.sla_summary.stage enum Optional\\nFilters for records with any of the provided SLA stages.\\nAllowed values: breached completed paused running warning\\nticket.source_channel string Optional\\nFilters for tickets with any of the provided source channels.\\nticket.subtype string Optional\\nFilters for tickets", "title": "Create \u2014 DevRev | Docs" }, { - "id": "ART-1979_KNOWLEDGE_NODE-29", - "text": "**Severity**: The importance of the ticket. Severity can be set to low, medium, blocker, or high.\\n* **Stage**: The current state of the issue. The stage attribute is used to track the progress of the issue through its lifecycle. For more information on stages, see [stages](#stages).\\n* **Part**: The part of the company or product that the issue is related to. For more information on parts, see [parts](./parts).\\n* **Created by**: The user who created the ticket.\\n* **Created date**: The date", - "title": "Tickets | Computer for Support Teams | DevRev" - }, - { - "id": "ART-1633_KNOWLEDGE_NODE-454", - "text": "the provided severities.\\nAllowed values: blocker high low medium\\nticket.sla_summary.stage enum Optional\\nFilters for records with any of the provided SLA stages.\\nAllowed values: breached completed paused running warning\\nticket.source_channel string Optional\\nFilters for tickets with any of the provided source channels.\\nticket.subtype string Optional\\nFilters for tickets with any of the provided subtypes.\\ntype enum Optional\\nFilters for work of the provided types.\\nAllowed values: issue", - "title": "List \u2014 DevRev | Docs" + "id": "ART-1649_KNOWLEDGE_NODE-468", + "text": "associated with any of the provided Rev organizations.\\nticket.severity enum Optional\\nFilters for tickets with any of the provided severities.\\nAllowed values: blocker high low medium\\nticket.sla_summary.stage enum Optional\\nFilters for records with any of the provided SLA stages.\\nAllowed values: breached completed paused running warning\\nticket.source_channel string Optional\\nFilters for tickets with any of the provided source channels.\\nticket.subtype string Optional\\nFilters for tickets", + "title": "Create \u2014 DevRev | Docs" }, { - "id": "ART-1654_KNOWLEDGE_NODE-466", - "text": "the provided severities.\\nAllowed values: blocker high low medium\\nticket.sla_summary.stage enum Optional\\nFilters for records with any of the provided SLA stages.\\nAllowed values: breached completed paused running warning\\nticket.source_channel string Optional\\nFilters for tickets with any of the provided source channels.\\nticket.subtype string Optional\\nFilters for tickets with any of the provided subtypes.\\ntype enum Optional\\nFilters for work of the provided types.\\nAllowed values: issue", - "title": "List \u2014 DevRev | Docs" + "id": "ART-1509_KNOWLEDGE_NODE-446", + "text": "spam.\\nticket.needs_response boolean Optional\\nFilters for tickets that need response.\\nticket.rev_org string Optional\\nFilters for tickets that are associated with any of the provided Rev organizations.\\nticket.severity enum Optional\\nFilters for tickets with any of the provided severities.\\nAllowed values: blocker high low medium\\nticket.sla_summary.stage enum Optional\\nFilters for records with any of the provided SLA stages.\\nAllowed values: breached completed paused running", + "title": "Prepare \u2014 DevRev | Docs" }, { - "id": "ART-1651_KNOWLEDGE_NODE-468", - "text": "Optional\\nFilters for tickets with any of the provided severities.\\nAllowed values: blocker high low medium\\nticket.sla_summary.stage enum Optional\\nFilters for records with any of the provided SLA stages.\\nAllowed values: breached completed paused running warning\\nticket.source_channel string Optional\\nFilters for tickets with any of the provided source channels.\\nticket.subtype string Optional\\nFilters for tickets with any of the provided subtypes.\\ntype enum Optional\\nFilters for work of the", + "id": "ART-1822_KNOWLEDGE_NODE-447", + "text": "spam.\\nticket.needs_response boolean Optional\\nFilters for tickets that need response.\\nticket.rev_org string Optional\\nFilters for tickets that are associated with any of the provided Rev organizations.\\nticket.severity enum Optional\\nFilters for tickets with any of the provided severities.\\nAllowed values: blocker high low medium\\nticket.sla_summary.stage enum Optional\\nFilters for records with any of the provided SLA stages.\\nAllowed values: breached completed paused running", "title": "Create \u2014 DevRev | Docs" }, { - "id": "ART-1824_KNOWLEDGE_NODE-447", - "text": "the provided severities.\\nAllowed values: blocker high low medium\\nticket.sla_summary.stage enum Optional\\nFilters for records with any of the provided SLA stages.\\nAllowed values: breached completed paused running warning\\nticket.source_channel string Optional\\nFilters for tickets with any of the provided source channels.\\nticket.subtype string Optional\\nFilters for tickets with any of the provided subtypes.\\ntype enum Optional\\nFilters for work of the provided types.\\nAllowed values: issue", + "id": "ART-1834_KNOWLEDGE_NODE-460", + "text": "associated with any of the provided Rev organizations.\\nticket.severity enum Optional\\nFilters for tickets with any of the provided severities.\\nAllowed values: blocker high low medium\\nticket.sla_summary.stage enum Optional\\nFilters for records with any of the provided SLA stages.\\nAllowed values: breached completed paused running warning\\nticket.source_channel string Optional\\nFilters for tickets with any of the provided source channels.\\nticket.subtype string Optional\\nFilters for tickets", "title": "Delete \u2014 DevRev | Docs" }, { - "id": "ART-1829_KNOWLEDGE_NODE-463", - "text": "the provided severities.\\nAllowed values: blocker high low medium\\nticket.sla_summary.stage enum Optional\\nFilters for records with any of the provided SLA stages.\\nAllowed values: breached completed paused running warning\\nticket.source_channel string Optional\\nFilters for tickets with any of the provided source channels.\\nticket.subtype string Optional\\nFilters for tickets with any of the provided subtypes.\\ntype enum Optional\\nFilters for work of the provided types.\\nAllowed values: issue", - "title": "Delete \u2014 DevRev | Docs" + "id": "ART-1303_KNOWLEDGE_NODE-449", + "text": "spam.\\nticket.needs_response boolean Optional\\nFilters for tickets that need response.\\nticket.rev_org string Optional\\nFilters for tickets that are associated with any of the provided Rev organizations.\\nticket.severity enum Optional\\nFilters for tickets with any of the provided severities.\\nAllowed values: blocker high low medium\\nticket.sla_summary.stage enum Optional\\nFilters for records with any of the provided SLA stages.\\nAllowed values: breached completed paused running", + "title": "Export Post \u2014 DevRev | Docs" }, { - "id": "ART-1837_KNOWLEDGE_NODE-447", - "text": "associated with any of the provided Rev organizations.\\nticket.severity enum Optional\\nFilters for tickets with any of the provided severities.\\nAllowed values: blocker high low medium\\nticket.sla_summary.stage enum Optional\\nFilters for records with any of the provided SLA stages.\\nAllowed values: breached completed paused running warning\\nticket.source_channel string Optional\\nFilters for tickets with any of the provided source channels.\\nticket.subtype string Optional\\nFilters for tickets", - "title": "Update \u2014 DevRev | Docs" + "id": "ART-1639_KNOWLEDGE_NODE-444", + "text": "spam.\\nticket.needs_response boolean Optional\\nFilters for tickets that need response.\\nticket.rev_org string Optional\\nFilters for tickets that are associated with any of the provided Rev organizations.\\nticket.severity enum Optional\\nFilters for tickets with any of the provided severities.\\nAllowed values: blocker high low medium\\nticket.sla_summary.stage enum Optional\\nFilters for records with any of the provided SLA stages.\\nAllowed values: breached completed paused running", + "title": "Export Post \u2014 DevRev | Docs" + }, + { + "id": "ART-1959_KNOWLEDGE_NODE-29", + "text": "in:title crm |\\n| - | Acts as an exclusion in search results. \"-\" can be used for the same purpose. | type:issue -crm type:issue in:title -crm |\\n| state | Filters results based on the stage: open, closed, or in\\\\_progress. | state:open state:closed state:in\\\\_progress |\\n| severity | Filters out tickets with the desired severity level. Supports: blocker, high, medium, low. | severity:high type:ticket -severity:low (filters all tickets excluding the ones with low severity)", + "title": "Search | Computer by DevRev | DevRev" + }, + { + "id": "ART-1787_KNOWLEDGE_NODE-448", + "text": "spam.\\nticket.needs_response boolean Optional\\nFilters for tickets that need response.\\nticket.rev_org string Optional\\nFilters for tickets that are associated with any of the provided Rev organizations.\\nticket.severity enum Optional\\nFilters for tickets with any of the provided severities.\\nAllowed values: blocker high low medium\\nticket.sla_summary.stage enum Optional\\nFilters for records with any of the provided SLA stages.\\nAllowed values: breached completed paused running", + "title": "Get \u2014 DevRev | Docs" } ] }, @@ -1460,54 +1460,54 @@ "query": "support engineer typing indicator in ticket conversation", "retrievals": [ { - "id": "ART-6174_KNOWLEDGE_NODE-13", - "text": "creator](/docs/automations/smart-issue-creator)\\n - [Set user preference for group](/docs/automations/set-user-preference)\\n - [SLA status change Slack notifier](/docs/automations/sla-change-notifier)\\n - [Slash commands](/docs/automations/slash-commands)\\n - [Spam Shield](/docs/automations/spam-shield)\\n - [Subtype Migration](/docs/automations/subtype-migration)\\n - [Ticket age in engineering](/docs/automations/ticket-age-in-engineering)\\n - [Ticket issue field", - "title": "Conversation to ticket conversion | Conversations | Computer for Support Teams | DevRev" + "id": "ART-984_KNOWLEDGE_NODE-10", + "text": "indicator to the customer that the vendor obviously has some problems internally. Do you think the customer will be happy? Do you think the customer will trust what the sales rep says in the future? Simply put, no.\\n\\nNow, let\\xe2\\x80\\x99s handle this a little differently and look at the result\\xe2\\x80\\xa6\\n\\nIn this scenario, let\\xe2\\x80\\x99s say the customer files the same ticket and asks their sales rep for an update. The support engineer working on the ticket and the sales rep communicate", + "title": "Why you Should be Looking at Support Differently" }, { - "id": "ART-1960_KNOWLEDGE_NODE-41", - "text": "*[ticket](#ticket)*\\n: Read more about\\xc2\\xa0[*task*](https://docs.devrev.ai/product/core)\\n\\nticket\\n\\n: A record of a customer\\'s request for assistance or support.\\n: When a customer contacts a company with a problem or issue, the company creates a ticket to track the request and ensure that it is addressed in a timely and satisfactory manner. Also known as a \"customer ticket\" or \"support ticket\".\\n: Terms related to\\xc2\\xa0*ticket*:\\n\\n * *[conversation](#conversation)*\\n *", - "title": "Glossary | Computer by DevRev | DevRev" + "id": "ART-1947_KNOWLEDGE_NODE-32", + "text": "same conversation. This means you do not need to ask your external users to write in separately about each topic they\\'d like to discuss, while the workspace can still track each item separately.\\n\\nIn the DevRev app, a support engineer can create a ticket based on a conversation they had with someone using the Plug widget. This ticket and conversation are linked.\\n\\nA ticket should describe what the external user is experiencing in a language that\\'s familiar to them. Developer-specific", + "title": "Apps | Computer by DevRev | DevRev" }, { - "id": "ART-1979_KNOWLEDGE_NODE-42", - "text": "it's automatically put into the *queued* stage, which indicates that it needs to be picked up by a customer experience engineer.\\n\\n**In-progress**\\n\\n* *Work in progress* (WIP)\\n\\n Work on the concern reported by the user has begun. When a customer experience engineer starts work on a ticket, the ticket's stage changes to *work in progress*. When they require more information, they may ask the customer for additional detail (such as logs or context), in which case the stage would change to", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-15716_KNOWLEDGE_NODE-7", + "text": "Tickets from Chat ConversationsYes, you can create a ticket from a conversation without leaving the chat. Some fields may be prefilled from the conversation.\\n\\nDetails:\\xc2\\xa0[Conv \\xe2\\x86\\x92 Ticket Creation](https://devrev.ai/docs/product/conversation-ticket)\\n\\n5. Viewing Ticket Activity to Avoid Duplicate Responses\\n\\nCurrently, there\\xe2\\x80\\x99s no direct feature to see who is viewing a ticket in real time. But, we can see if someone is typing on a ticket.\\n\\n6. Generating AI Summaries", + "title": "Support queries related playbook" }, { - "id": "ART-1969_KNOWLEDGE_NODE-28", - "text": "engineers. To get a list of the available commands, type / in a conversation response text box.\\n\\n\\xf0\\x9f\\x8e\\xab Tickets\\n---------\\n\\nThe benefit of Computer by DevRev is that conversations can be linked to support [tickets](../product/tickets), and tickets can be linked to build issues. This [linkage](../product/apps) means that all work can be traced back to customer concerns or requests.\\n\\nSlash commands are available in tickets to provide AI assistance to customer experience engineers.", - "title": "Computer for Support Teams | DevRev" + "id": "ART-984_KNOWLEDGE_NODE-9", + "text": "support ticket to get an update on the status of this feature as well as asks their rep what is going on. In most cases the rep and support engineer don\\xe2\\x80\\x99t communicate or have the context of what the other is doing (let alone access to the other\\xe2\\x80\\x99s system). The support engineer may respond saying that feature is a long ways away, while the rep may say it\\xe2\\x80\\x99s \\xe2\\x80\\x9ccoming soon\\xe2\\x80\\x9d.\\n\\nThis lack of coordination leads to contradiction and a clear", + "title": "Why you Should be Looking at Support Differently" }, { - "id": "ART-1979_KNOWLEDGE_NODE-38", - "text": "the top-right corner of your screen.\\n3. Add a title and description for your new ticket. You can also attach files related to the ticket in the description.\\n4. Select which part of the company/product this ticket is related to.\\n\\n ![]()\\n5. Enter other attributes for the ticket: change the assignee or accept the default; enter the severity; add any relevant tags to help employees identify any relevant traits of the ticket; select the workspace that the ticket pertains to.\\n6. If there are", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-1981_KNOWLEDGE_NODE-30", + "text": "conversation of which you are not the owner, let the owner know to respond. It's beneficial to retain the same point of contact for the duration of the conversation unless the owner refers some another user.\\n* If the conversation has a customer org that's unidentified or is new, add yourself (the customer experience engineer) as the owner of the ticket. Try to find the appropriate owner for the customer org and update the customer record accordingly.\\n* Change the stage of the conversation to", + "title": "Support best practices | Computer for Support Teams | DevRev" }, { - "id": "ART-1977_KNOWLEDGE_NODE-13", - "text": "creator](/docs/automations/smart-issue-creator)\\n - [Set user preference for group](/docs/automations/set-user-preference)\\n - [SLA status change Slack notifier](/docs/automations/sla-change-notifier)\\n - [Slash commands](/docs/automations/slash-commands)\\n - [Spam Shield](/docs/automations/spam-shield)\\n - [Subtype Migration](/docs/automations/subtype-migration)\\n - [Ticket age in engineering](/docs/automations/ticket-age-in-engineering)\\n - [Ticket issue field", - "title": "Ticket-Team Performance | Support analytics | Computer for Support Teams | DevRev" + "id": "ART-1974_KNOWLEDGE_NODE-30", + "text": "stage.\\n* *Needs response* (NR)\\n\\n The customer has responded; the customer experience engineer needs to review the item and respond or resolve the issue if the user requests or validates the fix. When a customer experience engineer responds the stage transitions to *waiting on user*.\\n\\n In certain cases it may be necessary to escalate the item internally where the conversation may depend on tickets, issues, or a response from someone other than themselves. In this case the stage", + "title": "Conversations | Computer for Support Teams | DevRev" }, { - "id": "ART-6174_KNOWLEDGE_NODE-36", - "text": "Status](/status)\\n\\n\\xc2\\xa9 2025 DevRev Inc.\\n\\n![]()\\n\\n![]()\"", - "title": "Conversation to ticket conversion | Conversations | Computer for Support Teams | DevRev" + "id": "ART-4966_KNOWLEDGE_NODE-3", + "text": "[Support](/docs/product/support?)\\n\\n * [Inbox](/docs/product/inbox?)\\n * [Support analytics](/docs/product/support-analytics?)\\n\\n * [Conversation insights](/docs/dashboards/conversation-insights?)\\n * [Conversation-SLA Analytics](/docs/dashboards/conversation-sla-analytics?)\\n * [Conversation-Team Performance](/docs/dashboards/conversation-team-performance?)\\n * [Ticket insights](/docs/dashboards/ticket-insights?)\\n * [Ticket-SLA", + "title": "Zoho Projects Airdrop | Airdrop | Snap-ins | DevRev" }, { - "id": "ART-2019_KNOWLEDGE_NODE-3", - "text": "reminder\\nCSAT on conversation\\nCSAT on ticket\\nDescope identity validation\\nFollow-up ticket\\nHTTP archive file upload & sanitization\\nLink preview\\nOrg tags sync\\nSentiment evaluator\\nStageFlow automator\\nSmart issue creator\\nSet user preference for group\\nSmart import KBs\\nSLA status change Slack notifier\\nSlash commands\\nSmart sprint\\nSpam Shield\\nTicket age in engineering\\nTicket issue field migrator\\nTicket email notifier\\nTask tracker\\nTicket Tagger\\nWork duration\\nOperational SLA", - "title": "Smart sprint | Automate | Snap-ins | DevRev" + "id": "ART-1968_KNOWLEDGE_NODE-13", + "text": "creator](/docs/automations/smart-issue-creator)\\n - [Set user preference for group](/docs/automations/set-user-preference)\\n - [SLA status change Slack notifier](/docs/automations/sla-change-notifier)\\n - [Slash commands](/docs/automations/slash-commands)\\n - [Spam Shield](/docs/automations/spam-shield)\\n - [Subtype Migration](/docs/automations/subtype-migration)\\n - [Ticket age in engineering](/docs/automations/ticket-age-in-engineering)\\n - [Ticket issue field", + "title": "Conversation insights | Support analytics | Computer for Support Teams | DevRev" }, { - "id": "ART-1979_KNOWLEDGE_NODE-41", - "text": "progress\\n\\n\\n\\nOpen\\n\\n\\n\\nEscalate\\n\\n\\n\\nValidate the fix\\n\\n\\n\\nAdditional detail needed\\n\\n\\n\\nCustomer responds\\n\\n\\n\\nStart\\n\\n\\n\\nFeature request accepted\\n\\n\\n\\nResolved\\n\\n\\n\\nNot valid\\n\\n\\n\\nQueued\\n\\n\\n\\nWork in progress\\n\\n\\n\\nAwaiting product assist\\n\\n\\n\\nAwaiting development\\n\\n\\n\\nAwating customer response\\n\\n\\n\\nIn development\\n\\n\\n\\nAccepted\\n\\n\\n\\nResolved\\n\\n\\n\\nCanceled\\n```\\n\\n**Open**\\n\\n* *Queued* (Q)\\n The initial stage for all tickets. When a new ticket is created,", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-1989_KNOWLEDGE_NODE-4", + "text": "insights](/docs/dashboards/conversation-insights)\\n - [Conversation-SLA Analytics](/docs/dashboards/conversation-sla-analytics)\\n - [Conversation-Team Performance](/docs/dashboards/conversation-team-performance)\\n - [Ticket insights](/docs/dashboards/ticket-insights)\\n - [Ticket-SLA Analytics](/docs/dashboards/ticket-sla-analytics)\\n - [Ticket-Team Performance](/docs/dashboards/ticket-team-performance)\\n + [Conversations](/docs/product/conversation)\\n\\n - [Conversation to", + "title": "Commands | Computer for Support Teams | DevRev" }, { - "id": "ART-1979_KNOWLEDGE_NODE-45", - "text": "a user. In certain cases where the ticket depends on some fix (issues) the stage may go from *in development* to *awaiting customer response* when the corresponding issues have been resolved and the fix needs to be validated with the user.\\n\\n In certain cases, the customer experience engineer may be able to solve directly (without any required issues) which may change the stage from *work in progress* to *awaiting customer response* to validate they have solved the problem. If either has", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-4271_KNOWLEDGE_NODE-3", + "text": "[Support](/docs/product/support?)\\n\\n * [Inbox](/docs/product/inbox?)\\n * [Support analytics](/docs/product/support-analytics?)\\n\\n * [Conversation insights](/docs/dashboards/conversation-insights?)\\n * [Conversation-SLA Analytics](/docs/dashboards/conversation-sla-analytics?)\\n * [Conversation-Team Performance](/docs/dashboards/conversation-team-performance?)\\n * [Ticket insights](/docs/dashboards/ticket-insights?)\\n * [Ticket-SLA", + "title": "Convert Conversations to Tickets | Conversations | Support | DevRev" } ] }, @@ -1516,54 +1516,54 @@ "query": "update the name that a broadcast on an incident comes from when pushed to a ticket", "retrievals": [ { - "id": "ART-4133_KNOWLEDGE_NODE-18", - "text": "incident was mitigated.\\n\\nowned\\\\_byobjectOptional\\n\\nShow 1 properties\\n\\npiaobjectOptional\\n\\nShow 1 properties\\n\\nplaybooksobjectOptional\\n\\nShow 1 properties\\n\\nrelated\\\\_docsobjectOptional\\n\\nShow 1 properties\\n\\nreported\\\\_bylongOptional\\n\\nThe entity that first reported the incident.\\n\\nseveritylongOptional\\n\\nSeverity of the incident.\\n\\nstageobjectOptional\\n\\nUpdate object for Stage.\\n\\nShow 2 properties\\n\\nstage\\\\_validation\\\\_optionslist of enumsOptional\\n\\nThe type of stage", - "title": "Update Incident | DevRev | Docs" + "id": "ART-1275_KNOWLEDGE_NODE-9", + "text": "triggering every 10 minutes. |\\n| 9 | cron: \"*/10 * * * *\" |\\n| 10 | metadata: |\\n| 11 | event_key: ten_minute_event |\\n```\\n\\nFinally, update the `function` name to better reflect the behavior and\\n`automation`name to use the event type corresponding to the `timer-events` event\\nsource.\\n\\nmanifest.yaml\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | functions: |\\n| 2 | - name: ticket_creator |\\n| 3 | description: Function to create a new ticket when triggered. |\\n| 4 | |\\n| 5 | automations: |\\n| 6 | -", + "title": "Using a snap-in to perform a DevRev action | DevRev | Docs" }, { - "id": "ART-4133_KNOWLEDGE_NODE-1", - "text": "\" \\\\ |\\n| > | -H \"Content-Type: application/json\" \\\\ |\\n| > | -d \\'{ |\\n| > | \"id\": \"string\" |\\n| > | }\\' |\\n```\\n\\n[Try it](/beta/api-reference/incidents/update?explorer=true)\\n\\n200Successful\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | { |\\n| 2 | \"incident\": { |\\n| 3 | \"id\": \"string\", |\\n| 4 | \"title\": \"string\", |\\n| 5 | \"acknowledged_date\": \"2023-01-01T12:00:00.000Z\", |\\n| 6 | \"actual_close_date\": \"2023-01-01T12:00:00.000Z\", |\\n| 7 | \"applies_to_parts\": [ |\\n| 8 | { |\\n| 9 | \"display_id\":", - "title": "Update Incident | DevRev | Docs" + "id": "ART-1979_KNOWLEDGE_NODE-26", + "text": "associated with a part (product or service) and can come from both internal and external users. Tickets are also used to communicate progress to the user or other impacted party.\\n\\nThere may be cases where mass communications (broadcast) are necessary in the event of lots of impacted or related parties (such as service status updates). In this scenario, the ticket would be used to broadcast and handle communications among multiple parties, including across multiple workspaces. Broadcast can", + "title": "Tickets | Computer for Support Teams | DevRev" }, { - "id": "ART-4133_KNOWLEDGE_NODE-5", - "text": "|\\n| 67 | \"display_id\": \"string\", |\\n| 68 | \"identified_date\": \"2023-01-01T12:00:00.000Z\", |\\n| 69 | \"impact\": { |\\n| 70 | \"count\": { |\\n| 71 | \"id\": 1, |\\n| 72 | \"label\": \"string\", |\\n| 73 | \"ordinal\": 1, |\\n| 74 | \"value\": null |\\n| 75 | }, |\\n| 76 | \"customer_ids\": [ |\\n| 77 | { |\\n| 78 | \"id\": \"string\", |\\n| 79 | \"display_id\": \"string\", |\\n| 80 | \"display_name\": \"string\" |\\n| 81 | } |\\n| 82 | ] |\\n| 83 | }, |\\n| 84 | \"mitigated_date\": \"2023-01-01T12:00:00.000Z\", |\\n| 85 | \"modified_by\": {", - "title": "Update Incident | DevRev | Docs" + "id": "ART-1275_KNOWLEDGE_NODE-6", + "text": "snap-in is triggered.\\nHere, the snap-in should create a work-item of type ticket when triggered. To do\\nthat, use the\\n[DevRev TypeScript SDK](https://www.npmjs.com/package/@devrev/typescript-sdk) to\\nmake API calls for creating the ticket.\\n\\n[2](/snapin-development/tutorials/timer-ticket-creator#creating-the-snap-in)\\n\\n### Creating the snap-in\\n\\n#### Updating the manifest\\n\\nUpdate the manifest file to reflect the objective. Update the name, the\\ndescription, and the service", + "title": "Using a snap-in to perform a DevRev action | DevRev | Docs" }, { - "id": "ART-4133_KNOWLEDGE_NODE-15", - "text": "\"string\" |\\n| 258 | } |\\n| 259 | ], |\\n| 260 | \"target_close_date\": \"2023-01-01T12:00:00.000Z\" |\\n| 261 | } |\\n| 262 | } |\\n```\\n\\nUpdates an incident.\\n\\n### Headers\\n\\nAuthorizationstringRequired\\n\\nBearer authentication of the form `Bearer `, where token is your auth token.\\n\\n### Request\\n\\nThis endpoint expects an object.\\n\\nidstringRequired`format: \"id\"`\\n\\nThe ID of the incident to be updated.\\n\\nacknowledged\\\\_datestringOptional`format: \"date-time\"`\\n\\nTimestamp when the incident", + "id": "ART-4133_KNOWLEDGE_NODE-1", + "text": "\" \\\\ |\\n| > | -H \"Content-Type: application/json\" \\\\ |\\n| > | -d \\'{ |\\n| > | \"id\": \"string\" |\\n| > | }\\' |\\n```\\n\\n[Try it](/beta/api-reference/incidents/update?explorer=true)\\n\\n200Successful\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | { |\\n| 2 | \"incident\": { |\\n| 3 | \"id\": \"string\", |\\n| 4 | \"title\": \"string\", |\\n| 5 | \"acknowledged_date\": \"2023-01-01T12:00:00.000Z\", |\\n| 6 | \"actual_close_date\": \"2023-01-01T12:00:00.000Z\", |\\n| 7 | \"applies_to_parts\": [ |\\n| 8 | { |\\n| 9 | \"display_id\":", "title": "Update Incident | DevRev | Docs" }, { - "id": "ART-4127_KNOWLEDGE_NODE-5", - "text": "|\\n| 67 | \"display_id\": \"string\", |\\n| 68 | \"identified_date\": \"2023-01-01T12:00:00.000Z\", |\\n| 69 | \"impact\": { |\\n| 70 | \"count\": { |\\n| 71 | \"id\": 1, |\\n| 72 | \"label\": \"string\", |\\n| 73 | \"ordinal\": 1, |\\n| 74 | \"value\": null |\\n| 75 | }, |\\n| 76 | \"customer_ids\": [ |\\n| 77 | { |\\n| 78 | \"id\": \"string\", |\\n| 79 | \"display_id\": \"string\", |\\n| 80 | \"display_name\": \"string\" |\\n| 81 | } |\\n| 82 | ] |\\n| 83 | }, |\\n| 84 | \"mitigated_date\": \"2023-01-01T12:00:00.000Z\", |\\n| 85 | \"modified_by\": {", - "title": "Create Incident | DevRev | Docs" + "id": "ART-1483_KNOWLEDGE_NODE-8", + "text": "the snap-in should create a work-item of type ticket when triggered. To do that, use the [DevRev TypeScript SDK](https://www.npmjs.com/package/@devrev/typescript-sdk) to make API calls for creating the ticket.\\n\\n[2](/public/snapin-development/tutorials/timer-ticket-creator#creating-the-snap-in)\\n\\n### Creating the snap-in\\n\\n#### Updating the manifest\\n\\nUpdate the manifest file to reflect the objective. Update the name, the description, and the service account\\xe2\\x80\\x99s display name to", + "title": "Using a snap-in to perform a DevRev action \u2014 DevRev | Docs" }, { - "id": "ART-1551_KNOWLEDGE_NODE-275", - "text": "Optional\\n\\nTimestamp when the incident was mitigated.\\n\\nowned_by object Optional\\nShow property\\npia object Optional\\nShow property\\nplaybooks object Optional\\nShow property\\nrelated_docs object Optional\\nShow property\\nreported_by long Optional\\n\\nThe entity that first reported the incident.\\n\\nseverity long Optional\\n\\nSeverity of the incident.\\n\\nsource long Optional\\n\\nSource of where the incident was created. Only sys users and service accounts are supposed to set this field.\\n\\nstage", - "title": "Update (Beta) \u2014 DevRev | Docs" + "id": "ART-2046_KNOWLEDGE_NODE-30", + "text": "send.\\n\\n ![]()\\n\\n Current limitation: The username of the user whose PAT was used to install the app will be used to send the comments to DevRev. This feature of sending comments from the Jira issue to linked DevRev tickets can be disabled. Click on the **Broadcast to ticket** button if you want to send the same comment to all tickets linked to the issue. The broadcast ability can also be turned off from the app configuration.\\n\\nUsage\\n-----\\n\\n* Click on **Link Tickets** to search for", + "title": "DevRev for Jira app | Jira Software AirSync | AirSync | Snap-ins | DevRev" }, { - "id": "ART-4127_KNOWLEDGE_NODE-10", - "text": "\"string\" |\\n| 166 | }, |\\n| 167 | \"sync_metadata\": { |\\n| 168 | \"external_reference\": \"string\", |\\n| 169 | \"origin_system\": \"string\" |\\n| 170 | }, |\\n| 171 | \"title\": \"string\" |\\n| 172 | } |\\n| 173 | ], |\\n| 174 | \"reported_by\": { |\\n| 175 | \"id\": 1, |\\n| 176 | \"label\": \"string\", |\\n| 177 | \"ordinal\": 1, |\\n| 178 | \"value\": null |\\n| 179 | }, |\\n| 180 | \"severity\": { |\\n| 181 | \"id\": 1, |\\n| 182 | \"label\": \"string\", |\\n| 183 | \"ordinal\": 1, |\\n| 184 | \"value\": null |\\n| 185 | }, |\\n| 186 |", - "title": "Create Incident | DevRev | Docs" + "id": "ART-1979_KNOWLEDGE_NODE-27", + "text": "also be used to engage customers for feedback/ideas (such as new feature ideas). Scoping is important for broadcast tickets as there needs to be a differentiation between broadcast (all revs) vs. multicast (particular revs).\\n\\nViews of tickets can be found under **Support** in the DevRev app.\\n\\n![]()\\n\\nYou can export views to CSV or JSON by selecting **Actions** in the upper-right corner and choosing the format.\\n\\nAttributes\\n----------\\n\\nTickets have attributes that can be used to filter", + "title": "Tickets | Computer for Support Teams | DevRev" }, { - "id": "ART-4133_KNOWLEDGE_NODE-10", - "text": "\"string\" |\\n| 166 | }, |\\n| 167 | \"sync_metadata\": { |\\n| 168 | \"external_reference\": \"string\", |\\n| 169 | \"origin_system\": \"string\" |\\n| 170 | }, |\\n| 171 | \"title\": \"string\" |\\n| 172 | } |\\n| 173 | ], |\\n| 174 | \"reported_by\": { |\\n| 175 | \"id\": 1, |\\n| 176 | \"label\": \"string\", |\\n| 177 | \"ordinal\": 1, |\\n| 178 | \"value\": null |\\n| 179 | }, |\\n| 180 | \"severity\": { |\\n| 181 | \"id\": 1, |\\n| 182 | \"label\": \"string\", |\\n| 183 | \"ordinal\": 1, |\\n| 184 | \"value\": null |\\n| 185 | }, |\\n| 186 |", - "title": "Update Incident | DevRev | Docs" + "id": "ART-1308_KNOWLEDGE_NODE-193", + "text": "in accordance to the sort order. If not set, then no prior elements exist.\\nAPI Reference operate Incidents Update.\\n\\nPOST https:// api.devrev.ai / incidents.update\\nUpdates an incident.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the incident to be updated.\\nacknowledged_date datetime Optional\\nTimestamp when the incident was acknowledged.\\napplies_to_parts object Optional\\nShow property\\nartifacts object Optional\\nShow property\\nbody string Optional\\nBody of", + "title": "Update \u2014 DevRev | Docs" }, { - "id": "ART-4133_KNOWLEDGE_NODE-17", - "text": "included in the\\nspecifier, it remains unchanged. For surfaces with human interactors,\\nit is recommended to provide tenant\\\\_fragment: true and\\nvalidate\\\\_required\\\\_fields: true.\\n\\nShow 5 properties\\n\\nexternal\\\\_source\\\\_dataobjectOptional\\n\\nShow 3 properties\\n\\nidentified\\\\_datestringOptional`format: \"date-time\"`\\n\\nTime when the incident was identified/reported.\\n\\nimpactobjectOptional\\n\\nShow 2 properties\\n\\nmitigated\\\\_datestringOptional`format: \"date-time\"`\\n\\nTimestamp when the", - "title": "Update Incident | DevRev | Docs" + "id": "ART-1792_KNOWLEDGE_NODE-194", + "text": "in accordance to the sort order. If not set, then no prior elements exist.\\nAPI Reference operate Incidents Update.\\n\\nPOST https:// api.devrev.ai / incidents.update\\nUpdates an incident.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the incident to be updated.\\nacknowledged_date datetime Optional\\nTimestamp when the incident was acknowledged.\\napplies_to_parts object Optional\\nShow property\\nartifacts object Optional\\nShow property\\nbody string Optional\\nBody of", + "title": "Update \u2014 DevRev | Docs" }, { - "id": "ART-4133_KNOWLEDGE_NODE-19", - "text": "validations options when updating the stage or\\nthe stage diagram of an incident.\\n\\nAllowed values:allow\\\\_invalid\\\\_transition\\n\\nstaged\\\\_infoobjectOptional\\n\\nUpdate object for StagedInfo.\\n\\nShow 4 properties\\n\\nsync\\\\_metadataobjectOptional\\n\\nShow 4 properties\\n\\ntagsobjectOptional\\n\\nShow 1 properties\\n\\ntarget\\\\_close\\\\_datestringOptional`format: \"date-time\"`\\n\\nTimestamp when the incident is expected to be resolved.\\n\\ntitlestringOptional`format: \"text\"`\\n\\nTitle of the", - "title": "Update Incident | DevRev | Docs" + "id": "ART-1791_KNOWLEDGE_NODE-192", + "text": "Update.\\n\\nPOST https:// api.devrev.ai / incidents.update\\nUpdates an incident.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the incident to be updated.\\nacknowledged_date datetime Optional\\nTimestamp when the incident was acknowledged.\\napplies_to_parts object Optional\\nShow property\\nartifacts object Optional\\nShow property\\nbody string Optional\\nBody of the incident.\\ncustom_fields map from strings to any Optional\\nApplication-defined custom", + "title": "Self Delete \u2014 DevRev | Docs" } ] }, @@ -1572,54 +1572,54 @@ "query": "search functionality on tickets and issues deprecated", "retrievals": [ { - "id": "ART-1959_KNOWLEDGE_NODE-29", - "text": "in:title crm |\\n| - | Acts as an exclusion in search results. \"-\" can be used for the same purpose. | type:issue -crm type:issue in:title -crm |\\n| state | Filters results based on the stage: open, closed, or in\\\\_progress. | state:open state:closed state:in\\\\_progress |\\n| severity | Filters out tickets with the desired severity level. Supports: blocker, high, medium, low. | severity:high type:ticket -severity:low (filters all tickets excluding the ones with low severity)", - "title": "Search | Computer by DevRev | DevRev" + "id": "ART-2035_KNOWLEDGE_NODE-50", + "text": "is moved to a closed state. This is managed through the **Incident channel auto-archive interval** snap-in configuration.\\n\\nIf the /devrev view command is used in a dedicated incident channel, a pop-up modal opens with a pre-populated incident summary.\\n\\nShare and view record details\\n-----------------------------\\n\\nYou can share or view DevRev record details in Slack using the /devrev view command. This lets you search for tickets, issues, incidents, opportunities, and parts directly within", + "title": "Slack | Integrate | Snap-ins | DevRev" }, { - "id": "ART-1959_KNOWLEDGE_NODE-28", - "text": "of the ticket/issue/enhancement or title. | in:title crm in:title \"crm exp\" in:title crm exp in:body \"bot issues\" |\\n| type: | Enables users to filter by object type. Supported object types include: issue, enhancement, ticket, revu (for searching contacts), question\\\\_answer, conversation, article, devu (for searching internal contacts), account, feature, runnable. | type:issue type:enhancement in:title CRM type:revu type:enhancement, opportunity type:issue, enhancement", + "id": "ART-1959_KNOWLEDGE_NODE-24", + "text": "customization](#integrate-search-with-customization)\\n* [Search over custom fields](#search-over-custom-fields)\\n* [Search over custom objects](#search-over-custom-objects)\\n\\n1. [Documentation](/docs)\\n3. [Computer by DevRev](/docs/intro)\\n[Search](/docs/product/search)\\n\\nSearch\\n======\\n\\nSearch works across all DevRev apps, offering seamless navigation and access to issues, tickets, articles, customers, and more. It also allows you to search through timeline comments related to these items.", "title": "Search | Computer by DevRev | DevRev" }, - { - "id": "ART-1242_KNOWLEDGE_NODE-0", - "text": "b'Tickets and issues | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nPublic\\n\\nPublic\\n\\nSearch\\n\\n`/`\\n\\n[API Reference](/api-reference/getting-started)[works](/api-reference/works/tickets-and-issues)\\n\\nTickets and issues\\n==================\\n\\nCopy page\\n\\n`works` endpoint\\n\\n\\xe2\\x84\\xb9\\xef\\xb8\\x8f A work item is a record of some work that has to be done for a customer (ticket) or for another builder or maintainer of a part (issue).\\n\\n\\xf0\\x9f\\x93\\x8c For more information", - "title": "Tickets and issues | DevRev | Docs" - }, { "id": "ART-1959_KNOWLEDGE_NODE-34", "text": "subtype: :\\n```\\n```\\n\\n**Examples**\\n\\nSearch for tickets related to access issues with tenant field escalated:\\n\\n```\\n```\\n1 tnt__escalated:true access issues\\n```\\n```\\n\\nSearch for bugs related to access issues with subtype field customer\\\\_impact:\\n\\n```\\n```\\n1 subtype:Bug ctype__customer_impact:true access issues\\n```\\n```\\n\\nSearch across multiple subtypes for tickets related to access issues:\\n\\n```\\n```\\n1 subtype:Bug,Events access", "title": "Search | Computer by DevRev | DevRev" }, { - "id": "ART-1784_KNOWLEDGE_NODE-445", - "text": "issues synced from this specific origin system.\\ntags string Optional\\nFilters for work with any of the provided tags.\\nticket.channels enum Optional\\nFilters for tickets with any of the provided channels.\\nAllowed values: email plug slack twilio twilio_sms\\nticket.group string Optional\\nFilters for tickets belonging to specific groups.\\nticket.is_spam boolean Optional\\nFilters for tickets that are spam.\\nticket.needs_response boolean Optional\\nFilters for tickets that need", - "title": "Locate Post \u2014 DevRev | Docs" + "id": "ART-15664_KNOWLEDGE_NODE-16", + "text": "\\'https://api.devrev.ai/link-types.custom.update\\' \\\\ |\\n| > | --header \\'Content-Type: application/json\\' \\\\ |\\n| > | --header \\'Authorization: Bearer \\' \\\\ |\\n| > | --data \\'{ |\\n| > | \"id\": \"don:core:dvrv-us-1:devo/demo:custom_link_type/1\", |\\n| > | \"is_deprecated\": true |\\n| > | }\\' |\\n```\\n\\nQuick reference: links from tickets, and issues\\n-----------------------------------------------\\n\\n##### \\n\\nThis section lists common links you can create from tickets and issues. It is not an", + "title": "Links | DevRev | Docs" }, { - "id": "ART-1783_KNOWLEDGE_NODE-445", - "text": "issues synced from this specific origin system.\\ntags string Optional\\nFilters for work with any of the provided tags.\\nticket.channels enum Optional\\nFilters for tickets with any of the provided channels.\\nAllowed values: email plug slack twilio twilio_sms\\nticket.group string Optional\\nFilters for tickets belonging to specific groups.\\nticket.is_spam boolean Optional\\nFilters for tickets that are spam.\\nticket.needs_response boolean Optional\\nFilters for tickets that need", - "title": "Locate \u2014 DevRev | Docs" + "id": "ART-4184_KNOWLEDGE_NODE-0", + "text": "b\"Ticket linked issues comment sync | Automate | Snap-ins | DevRev\\n\\n* Computer\\n* Resources\\n* [Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nComputer\\n\\nResources\\n\\n[Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nSearch\\n\\n`CTRL`\\xc2\\xa0+\\xc2\\xa0`K`\\n\\n* [Introduction](/docs)\\n* [Computer by DevRev](/docs/intro)\\n\\n + [Core concepts](/docs/product/core)\\n +", + "title": "Ticket linked issues comment sync | Automate | Snap-ins | DevRev" }, { - "id": "ART-1447_KNOWLEDGE_NODE-1", - "text": "[Tickets](https://docs.devrev.ai/product/tickets) and [Issues](https://docs.devrev.ai/product/issues).\\n\\nWas this page helpful?YesNo\\n\\n[Create WorkUp Next](/public/api-reference/works/create)\\n\\n[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)\\n\\n[Enterprise grade security to protect customer dataLearn more about it.](https://devrev.ai/blog/soc-compliance)\\n\\nProduct\\n\\n * [Build](https://devrev.ai/build)\\n *", - "title": "Tickets and issues \u2014 DevRev | Docs" + "id": "ART-2065_KNOWLEDGE_NODE-28", + "text": "been added to **Explore**, enabling you to quickly pin and manage your own work items.\\n* Case sensitivity issues in trail searches have been fixed, ensuring relevant results appear without requiring an exact keyword match.\\n* Now, when fields like **Sprint** or **Target Close Date** are cleared (unset) on issues and tickets, these changes, along with their timestamps, are visible in the **Events** tab.\\n\\n![]()\\xc2\\xa0For more information about *Build App*, refer to the following articles:", + "title": "August 2025 | Changelog | DevRev" }, { - "id": "ART-1447_KNOWLEDGE_NODE-0", - "text": "b'[](/public/api-reference/works/tickets-and-issues)\\n\\nPublic\\n\\n[API Reference](/public/api-reference/getting-started)[Works](/public/api-reference/works/tickets-and-issues)\\n\\n#\\n\\nTickets and issues\\n\\n`works` endpoint\\n\\n\\xe2\\x84\\xb9\\xef\\xb8\\x8f A work item is a record of some work that has to be done for a customer (ticket) or for another builder or maintainer of a part (issue).\\n\\n\\xf0\\x9f\\x93\\x8c For more information about work items, refer to", + "id": "ART-1447_KNOWLEDGE_NODE-2", + "text": "[Support](https://devrev.ai/support)\\n * [Search](https://devrev.ai/search)\\n * [PLuG - User Engagement](https://devrev.ai/plug-user-engagement)\\n * [PLuG - User Observability](https://devrev.ai/plug-observability)\\n * [Marketplace](https://marketplace.devrev.ai/)\\n\\nPlatform\\n\\n * [Airdrop](https://devrev.ai/airdrop)\\n * [Analytics](https://devrev.ai/analytics)\\n * [Workflow Engine](https://devrev.ai/workflow-engine)\\n * [Turing AI](https://devrev.ai/turing-ai)\\n\\nResources\\n\\n *", "title": "Tickets and issues \u2014 DevRev | Docs" }, { - "id": "ART-2874_KNOWLEDGE_NODE-27", - "text": "updated, and not updated. If the fields specified in the configuration are not found, a notification will be provided in the **Discussion** tab.\\n\\n[PreviousTicket age in engineering](/docs/automations/ticket-age-in-engineering)[NextTicket Immutability](/docs/automations/ticket-immutability)\\n\\n#### On this page\\n\\n* [Ticket issue field migrator](#ticket-issue-field-migrator)\\n* [Installation](#installation)\\n* [Configuration](#configuration)\\n\\n[Enterprise grade security to protect customer", + "id": "ART-2874_KNOWLEDGE_NODE-0", + "text": "b'Ticket issue field migrator | Automate | Snap-ins | DevRev\\n\\n* Computer\\n* Resources\\n* [Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nComputer\\n\\nResources\\n\\n[Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nSearch\\n\\n`CMD`\\xc2\\xa0+\\xc2\\xa0`K`\\n\\n* [Introduction](/docs)\\n* [Computer by DevRev](/docs/intro)\\n\\n + [Core concepts](/docs/product/core)\\n + [Apps](/docs/product/apps)\\n +", "title": "Ticket issue field migrator | Automate | Snap-ins | DevRev" }, { - "id": "ART-1959_KNOWLEDGE_NODE-5", - "text": "ticket conversion](/docs/product/conversation-ticket)\\n + [Tickets](/docs/product/tickets)\\n + [Routing](/docs/product/routing)\\n + [Support best practices](/docs/product/support-bp)\\n + [Customer portal](/docs/product/support-portal)\\n + [Questions & answers](/docs/product/qa)\\n + [Knowledge Base](/docs/product/knowledge-base)\\n\\n - [Articles](/docs/product/articles)\\n - [Collections](/docs/product/collection)\\n + [Turing AI agent](/docs/product/conversational-bot)\\n\\n - [Best", - "title": "Search | Computer by DevRev | DevRev" + "id": "ART-17515_KNOWLEDGE_NODE-26", + "text": "and feature requests on tickets.\\n* Computer on Plug: Enhances the following functionalities:\\n\\n + Conversation: It deflects customer queries using your knowledge base, providing accurate and relevant responses.\\n + Search: It summarizes your search results, making information retrieval more efficient and user-friendly.\\n* Computer assist: Recommends relevant articles and similar work items.\\n* Slack tickets: Automatically generates titles and descriptions for tickets created from Slack", + "title": "AI use cases in DevRev | Computer by DevRev | DevRev" + }, + { + "id": "ART-3038_KNOWLEDGE_NODE-4", + "text": "self-service options led to a growing volume of support tickets, further straining their resources.\\n\\nTheir help-site search functionality was particularly problematic, requiring manual intervention and creating friction in merchant interactions. With their business expanding rapidly, Bolt needed a more robust, integrated solution that could scale with their growth while improving both the merchant and shopper experience.\\n\\nThe solution\\n------------\\n\\nIn early 2024, Bolt implemented DevRev", + "title": "Bolt unifies support and product to deliver seamless commerce" } ] }, @@ -1628,54 +1628,54 @@ "query": "how to use snap-ins in DevRev", "retrievals": [ { - "id": "ART-1274_KNOWLEDGE_NODE-1", - "text": "snap-in.\\n\\nSnap-ins are collections of objects that extend DevRev\\xe2\\x80\\x99s core platform value. These objects include automation, event sources, keyrings, custom types, and vistas. Snap-ins are packaged and installed separately from the DevRev core platform. To create your own snap-in, create a [dev org](https://app.devrev.ai/) where you will be installing your snap-in.\\n\\n[1](/snapin-development/tutorials/getting-started#before-you-begin)\\n\\n### Before you begin\\n\\n* Install [DevRev", - "title": "Getting started | DevRev | Docs" + "id": "ART-3960_KNOWLEDGE_NODE-28", + "text": "Download the latest version of the snap-in from the DevRev marketplace.\\n2. Upload the CSV file containing user details.\\n3. Run the snap-in to process the file and link accounts.\\n4. Verify the linked accounts in DevRev.\\n\\n### How to use the snap-in\\n\\n1. Use slash commands in the **Events** section.\\n2. In the **Discussion** tab, type the slash commands.\\n3. Run the snap-in using the /link\\\\_github\\\\_accounts\\\\_to\\\\_devrev command in the snap-in discussion thread.\\n4. The columns login and", + "title": "Auto-link DevRev GitHub accounts | Automate | Snap-ins | DevRev" }, { - "id": "ART-1275_KNOWLEDGE_NODE-0", - "text": "b'Using a snap-in to perform a DevRev action | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nPublic\\n\\nPublic\\n\\nSearch\\n\\n`/`\\n\\nOn this page\\n\\n* [Introduction](/snapin-development/tutorials/timer-ticket-creator#introduction)\\n* [Background context](/snapin-development/tutorials/timer-ticket-creator#background-context)\\n* [Resources](/snapin-development/tutorials/timer-ticket-creator#resources)\\n\\n[Snap-in", - "title": "Using a snap-in to perform a DevRev action | DevRev | Docs" + "id": "ART-2599_KNOWLEDGE_NODE-25", + "text": "DevRev,\\nDevRev webhook is triggered and corresponding changes are reflected in Datadog.\\nTimeline entries are synced one-way\\xe2\\x80\\x94from DevRev to Datadog.\\n\\nInstallation\\n------------\\n\\n1. Open the DevRev marketplace and install the **Datadog** snap-in.\\n2. Select the workspace where you want to install the snap-in, confirm your\\n selection, and click **Deploy snap-in**.\\n3. In DevRev app, setup the connection in **Settings** > **Snap-ins** >\\n **Connections** on top.\\n * Search", + "title": "Datadog | Integrate | Snap-ins | DevRev" }, { - "id": "ART-1483_KNOWLEDGE_NODE-31", - "text": "__\\n\\n[Pricing](https://devrev.ai/pricing)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n'", - "title": "Using a snap-in to perform a DevRev action \u2014 DevRev | Docs" + "id": "ART-1854_KNOWLEDGE_NODE-2", + "text": "snap-ins platform offers event reliability features to ensure smooth and resilient event processing. This document provides an overview of these features and how developers can leverage them to build reliable snap-ins.\\n\\n## Getting started\\n\\nTo start using the event reliability features in your snap-ins, follow these steps:\\n\\n 1. Update your DevRev SDK to the latest version.\\n 2. Define retryable errors using the `FunctionExecutionError` interface in your snap-in code.\\n 3. Configure the", + "title": "Event reliability in DevRev snap-ins \u2014 DevRev | Docs" }, { - "id": "ART-1485_KNOWLEDGE_NODE-5", - "text": "[Resources](/public/snapin-development/tutorials/triggered-event#resources)\\n\\n[Snap-in development](/public/snapin-development/concepts)[Tutorials](/public/snapin-development/tutorials/overview)\\n\\n#\\n\\nSnap-in triggered by a DevRev event\\n\\n## Introduction\\n\\nIn this tutorial, you\\xe2\\x80\\x99ll learn to create a dynamic snap-in that responds to both DevRev Webhook events triggered by the creation of a [work](https://docs.devrev.ai/product/core) and specialized", - "title": "Snap-in triggered by a DevRev event \u2014 DevRev | Docs" + "id": "ART-2033_KNOWLEDGE_NODE-25", + "text": "snap-in](/marketplace/instabug) on the DevRev\\nmarketplace.\\n\\nLet's set up Instabug for you\\n-----------------------------\\n\\n### Installation\\n\\n1. Go to the **Snap-ins** section within your DevRev workspace settings.\\n2. Click **Explore Marketplace**.\\n3. Search for **Instabug** and click **Install** next to the **Instabug**\\n snap-in.\\n4. In the DevRev app, configure the snap-in in **Settings** > **Snap-ins** >\\n **Instabug**.\\n\\n * Optionally select the default owner for Instabug", + "title": "Instabug | Integrate | Snap-ins | DevRev" }, { - "id": "ART-1483_KNOWLEDGE_NODE-27", - "text": "Program](https://devrev.ai/startups)\\n\\nCompany\\n\\n * [About](https://devrev.ai/about)\\n * [People](https://devrev.ai/people)\\n * [Careers](https://devrev.ai/careers)\\n * [Places](https://devrev.ai/places)\\n * [Invest](https://revd.devrev.ai/)\\n * [What Why How](https://devrev.ai/what-why-how)\\n\\nConnect\\n\\n * [Contact ](mailto:humansofdevrev@devrev.ai)\\n * [Instagram ](https://www.instagram.com/devrev)\\n * [Medium ](https://medium.com/devrev)\\n * [Linkedin", - "title": "Using a snap-in to perform a DevRev action \u2014 DevRev | Docs" + "id": "ART-2991_KNOWLEDGE_NODE-24", + "text": "[Snap-ins](/docs/snapins)\\n[Integrate](/docs/integrate)\\n[Snowflake](/docs/integrations/snowflake)\\n\\nSnowflake\\n=========\\n\\nThe [Snowflake](/marketplace/snowflake) allows you to import account, contact data, and opportunity data from Snowflake to DevRev.\\n\\nInstallation\\n------------\\n\\n1. In DevRev, go to **Settings** > **Snap-ins** and click **Explore Marketplace** in the top-right corner.\\n2. In the DevRev marketplace, find **Snowflake** and click **Install**.\\n3. Set-up the snap-in's", + "title": "Snowflake | Integrate | Snap-ins | DevRev" }, { - "id": "ART-2004_KNOWLEDGE_NODE-24", - "text": "the [Marketplace](/marketplace).\\n\\nSnap-ins are of the following types:\\n\\n* **Integrations** let you connect DevRev with existing systems such as Slack and Jira.\\n* **Automations** perform tasks within DevRev based on events, like responding to customer conversations and linking tickets and issues.\\n* **AirSync** helps you bring data from external sources to DevRev and keep them in sync.\\n\\nWhile numerous snap-ins are available and more are in development, you can create your own using", - "title": "Snap-ins | DevRev" + "id": "ART-10696_KNOWLEDGE_NODE-25", + "text": "Integration snap-in](https://marketplace.devrev.ai/tracxn-integration) on the DevRev marketplace.\\n\\n### Installation\\n\\n1. Go to the **Settings > Integrations > Snap-ins**.\\n2. Click **Explore Marketplace**.\\n3. Search for **Tracxn** and click **Install** next to the Tracxn Integration snap-in.\\n4. In DevRev app, setup the connection in **Settings** > **Snap-ins** > **Connections** on top.\\n a. Search and choose an existing connection or create a new one by clicking **+ Connection**.\\n b.", + "title": "Tracxn Integration | Integrate | Snap-ins | DevRev" }, { - "id": "ART-1277_KNOWLEDGE_NODE-1", - "text": "development](/snapin-development/concepts)[Tutorials](/snapin-development/tutorials/overview)\\n\\nSnap-in triggered by a DevRev event\\n===================================\\n\\nCopy page\\n\\nIntroduction\\n------------\\n\\nIn this tutorial, you\\xe2\\x80\\x99ll learn to create a dynamic snap-in that responds to both DevRev Webhook events triggered by the creation of a [work](https://docs.devrev.ai/product/core) and specialized [command](/snapin-development/references/commands) within DevRev.\\n\\nThe focus", - "title": "Snap-in triggered by a DevRev event | DevRev | Docs" + "id": "ART-2911_KNOWLEDGE_NODE-25", + "text": "to the [Account Deduplication snap-in](https://marketplace.devrev.ai/account-deduplication) on the DevRev marketplace.\\n\\nInstallation\\n------------\\n\\n1. Open the DevRev marketplace and install the **Account Deduplication** snap-in.\\n2. Select the workspace where you want to install the snap-in, confirm your selection, and click **Deploy snap-in**.\\n\\nConfigure\\n---------\\n\\n1. Go to **Snap-ins** > **Account Deduplication** > **Configure**.\\n2. Fill the configuration with the primary and", + "title": "Account deduplication | Automate | Snap-ins | DevRev" }, { - "id": "ART-1277_KNOWLEDGE_NODE-4", - "text": "[Using a snap-in to perform a DevRev action](/snapin-development/tutorials/timer-ticket-creator) tutorial.\\n\\n[1](/snapin-development/tutorials/triggered-event#installation-guide)\\n\\n### Installation guide\\n\\n* Install [DevRev CLI](/snapin-development/references/cli-install)\\n* Install [jq](https://stedolan.github.io/jq)\\n* Install [DevRev SDK](https://www.npmjs.com/package/@devrev/typescript-sdk?activeTab=readme)\\n\\n##### \\n\\nIf you did not follow the [getting", - "title": "Snap-in triggered by a DevRev event | DevRev | Docs" + "id": "ART-1853_KNOWLEDGE_NODE-2", + "text": "processing. This document provides an overview of these features and how developers can leverage them to build reliable snap-ins.\\n\\nGetting started\\n---------------\\n\\nTo start using the event reliability features in your snap-ins, follow these steps:\\n\\n1. Update your DevRev SDK to the latest version.\\n2. Define retryable errors using the `FunctionExecutionError` interface in your snap-in code.\\n3. Configure the retry behavior in your snap-in manifest.\\n4. Handle errors appropriately in your", + "title": "Handling errors and retrying | DevRev | Docs" }, { - "id": "ART-1483_KNOWLEDGE_NODE-30", - "text": "Status](https://devrev.ai/status)\\n\\n\\xc2\\xa9 2025 DevRev Inc.\\n\\n[](https://devrev.ai)\\n\\n * Product\\n * Platform\\n * Solutions\\n * Marketplace\\n * Company\\n * Resources\\n * [Pricing](https://devrev.ai/pricing)\\n\\n __\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[](https://devrev.ai)\\n\\n __\\n\\nProduct __\\n\\nPlatform __\\n\\nSolutions __\\n\\nMarketplace __\\n\\nCompany __\\n\\nResources", - "title": "Using a snap-in to perform a DevRev action \u2014 DevRev | Docs" + "id": "ART-3068_KNOWLEDGE_NODE-25", + "text": "customized\\nduring the installation of the Snap-in, allowing for tailored communication\\naccording to specific requirements.\\n\\n![]()\\n\\nFor more information, refer to the\\n[Conversation Reminder snap-in](https://marketplace.devrev.ai/conversation-reminder)\\non the DevRev marketplace.\\n\\nInstalling the auto parts to conversation snap-in\\n-------------------------------------------------\\n\\n1. In DevRev, go to **Settings** > **Snap-ins** and click **Explore\\n Marketplace** in the top-right", + "title": "Conversation reminder | Automate | Snap-ins | DevRev" }, { - "id": "ART-1277_KNOWLEDGE_NODE-0", - "text": "b'Snap-in triggered by a DevRev event | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nPublic\\n\\nPublic\\n\\nSearch\\n\\n`/`\\n\\nOn this page\\n\\n* [Introduction](/snapin-development/tutorials/triggered-event#introduction)\\n* [Background context](/snapin-development/tutorials/triggered-event#background-context)\\n* [Resources](/snapin-development/tutorials/triggered-event#resources)\\n\\n[Snap-in", - "title": "Snap-in triggered by a DevRev event | DevRev | Docs" + "id": "ART-2013_KNOWLEDGE_NODE-26", + "text": "conversation](https://marketplace.devrev.ai/csat_on_conversation_68rj7531) from the DevRev marketplace.\\n2. Select the workspace to install the snap-in, confirm installation, and click **Deploy snap-in**.\\n\\nConfiguration\\n-------------\\n\\n1. Go to **Snap-ins** > **CSAT on conversation** > **Configure**.\\n2. Select the channel you want to send the survey on in **Survey channel**.\\n3. Write introductory text for the survey in **Survey introductory text**.\\n\\n ![]()\\n\\n To include the", + "title": "CSAT on conversation | Automate | Snap-ins | DevRev" } ] }, @@ -1684,54 +1684,54 @@ "query": "generate support tickets from slack messages with questions", "retrievals": [ { - "id": "ART-1968_KNOWLEDGE_NODE-13", - "text": "creator](/docs/automations/smart-issue-creator)\\n - [Set user preference for group](/docs/automations/set-user-preference)\\n - [SLA status change Slack notifier](/docs/automations/sla-change-notifier)\\n - [Slash commands](/docs/automations/slash-commands)\\n - [Spam Shield](/docs/automations/spam-shield)\\n - [Subtype Migration](/docs/automations/subtype-migration)\\n - [Ticket age in engineering](/docs/automations/ticket-age-in-engineering)\\n - [Ticket issue field", - "title": "Conversation insights | Support analytics | Computer for Support Teams | DevRev" + "id": "ART-6174_KNOWLEDGE_NODE-25", + "text": "Teams](/docs/product/support)\\n[Conversations](/docs/product/conversation)\\n[Conversation to ticket conversion](/docs/product/conversation-ticket)\\n\\nConversation to ticket conversion\\n=================================\\n\\nYou can convert conversations from Plug and Slack directly into tickets. Previously, conversations were only linked to tickets. This update streamlines workflows and enhances the customer experience.\\n\\nFor conversations originating from Plug or Slack, the **Link to Ticket**", + "title": "Conversation to ticket conversion | Conversations | Computer for Support Teams | DevRev" }, { - "id": "ART-4199_KNOWLEDGE_NODE-5", - "text": "ticket conversion](/docs/product/conversation-ticket)\\n + [Tickets](/docs/product/tickets)\\n + [Routing](/docs/product/routing)\\n + [Support best practices](/docs/product/support-bp)\\n + [Customer portal](/docs/product/support-portal)\\n + [Questions & answers](/docs/product/qa)\\n + [Knowledge Base](/docs/product/knowledge-base)\\n\\n - [Articles](/docs/product/articles)\\n - [Collections](/docs/product/collection)\\n + [Turing AI agent](/docs/product/conversational-bot)\\n\\n - [Best", - "title": "Slack message agent | Automate | Snap-ins | DevRev" + "id": "ART-15716_KNOWLEDGE_NODE-5", + "text": "ticket, selecting the merge option, and choosing the duplicate tickets to merge. Only unclosed tickets with the same reporters can be merged. After merging, duplicate tickets are archived, and all future messages go to the primary ticket.\\n\\nStep-by-step guide:\\xc2\\xa0[How to merge tickets](https://devrev.ai/docs/product/tickets#merging-guidelines)\\n\\n2. Creating Tickets in DevRevYou can create tickets from the app, support portal, Slack, or via API. Fill in required fields (like title, part,", + "title": "Support queries related playbook" }, { - "id": "ART-15716_KNOWLEDGE_NODE-7", - "text": "Tickets from Chat ConversationsYes, you can create a ticket from a conversation without leaving the chat. Some fields may be prefilled from the conversation.\\n\\nDetails:\\xc2\\xa0[Conv \\xe2\\x86\\x92 Ticket Creation](https://devrev.ai/docs/product/conversation-ticket)\\n\\n5. Viewing Ticket Activity to Avoid Duplicate Responses\\n\\nCurrently, there\\xe2\\x80\\x99s no direct feature to see who is viewing a ticket in real time. But, we can see if someone is typing on a ticket.\\n\\n6. Generating AI Summaries", - "title": "Support queries related playbook" + "id": "ART-4271_KNOWLEDGE_NODE-24", + "text": "[Support](/docs/product/support?)\\n 4. [Conversations](/docs/product/conversation?)\\n 5. [Convert Conversations to Tickets](/docs/product/Conversation-Tickets?)\\n\\n# Convert Conversations to Tickets\\n\\nYou can now convert conversations from PLuG and Slack directly into tickets. Previously, conversations were only linked to tickets. This update streamlines workflows and enhances the customer experience.\\n\\nFor conversations originating from PLuG or Slack, the **Link to Ticket** functionality", + "title": "Convert Conversations to Tickets | Conversations | Support | DevRev" }, { - "id": "ART-1983_KNOWLEDGE_NODE-13", - "text": "group](/docs/automations/set-user-preference)\\n - [SLA status change Slack notifier](/docs/automations/sla-change-notifier)\\n - [Slash commands](/docs/automations/slash-commands)\\n - [Spam Shield](/docs/automations/spam-shield)\\n - [Subtype Migration](/docs/automations/subtype-migration)\\n - [Ticket age in engineering](/docs/automations/ticket-age-in-engineering)\\n - [Ticket issue field migrator](/docs/automations/ticket-issue-field-migrator)\\n - [Ticket", - "title": "Questions & answers | Computer for Support Teams | DevRev" + "id": "ART-17515_KNOWLEDGE_NODE-26", + "text": "and feature requests on tickets.\\n* Computer on Plug: Enhances the following functionalities:\\n\\n + Conversation: It deflects customer queries using your knowledge base, providing accurate and relevant responses.\\n + Search: It summarizes your search results, making information retrieval more efficient and user-friendly.\\n* Computer assist: Recommends relevant articles and similar work items.\\n* Slack tickets: Automatically generates titles and descriptions for tickets created from Slack", + "title": "AI use cases in DevRev | Computer by DevRev | DevRev" }, { - "id": "ART-1983_KNOWLEDGE_NODE-5", - "text": "ticket conversion](/docs/product/conversation-ticket)\\n + [Tickets](/docs/product/tickets)\\n + [Routing](/docs/product/routing)\\n + [Support best practices](/docs/product/support-bp)\\n + [Customer portal](/docs/product/support-portal)\\n + [Questions & answers](/docs/product/qa)\\n + [Knowledge Base](/docs/product/knowledge-base)\\n\\n - [Articles](/docs/product/articles)\\n - [Collections](/docs/product/collection)\\n + [Turing AI agent](/docs/product/conversational-bot)\\n\\n - [Best", - "title": "Questions & answers | Computer for Support Teams | DevRev" + "id": "ART-4271_KNOWLEDGE_NODE-28", + "text": "PLuG widget:\\n\\n * The ticket number and basic details appear in the same conversation pane.\\n * Users can click **Details** to view complete ticket information.\\n * If the **Tickets** tab is enabled in PLuG, users can track their ticket status there.\\n\\n### Slack experience\\n\\nWhen a conversation is converted to a ticket in Slack:\\n\\n * Ticket information is sent within the same thread.\\n * All subsequent messages sync with the newly created ticket.\\n * The transition is seamless for the", + "title": "Convert Conversations to Tickets | Conversations | Support | DevRev" }, { - "id": "ART-6174_KNOWLEDGE_NODE-30", - "text": "there.\\n\\n![]()\\n\\nSlack end-user experience\\n-------------------------\\n\\nWhen a conversation is converted to a ticket in Slack:\\n\\n* Ticket information appears within the same thread.\\n* All subsequent messages sync with the newly created ticket.\\n* The transition is seamless for the end user.\\n\\nConversation conversion scenarios\\n---------------------------------\\n\\nConsider converting a conversation to a ticket in these scenarios:\\n\\n* Complex issues requiring in-depth investigation\\n*", - "title": "Conversation to ticket conversion | Conversations | Computer for Support Teams | DevRev" + "id": "ART-4199_KNOWLEDGE_NODE-5", + "text": "ticket conversion](/docs/product/conversation-ticket)\\n + [Tickets](/docs/product/tickets)\\n + [Routing](/docs/product/routing)\\n + [Support best practices](/docs/product/support-bp)\\n + [Customer portal](/docs/product/support-portal)\\n + [Questions & answers](/docs/product/qa)\\n + [Knowledge Base](/docs/product/knowledge-base)\\n\\n - [Articles](/docs/product/articles)\\n - [Collections](/docs/product/collection)\\n + [Turing AI agent](/docs/product/conversational-bot)\\n\\n - [Best", + "title": "Slack message agent | Automate | Snap-ins | DevRev" }, { - "id": "ART-6174_KNOWLEDGE_NODE-13", - "text": "creator](/docs/automations/smart-issue-creator)\\n - [Set user preference for group](/docs/automations/set-user-preference)\\n - [SLA status change Slack notifier](/docs/automations/sla-change-notifier)\\n - [Slash commands](/docs/automations/slash-commands)\\n - [Spam Shield](/docs/automations/spam-shield)\\n - [Subtype Migration](/docs/automations/subtype-migration)\\n - [Ticket age in engineering](/docs/automations/ticket-age-in-engineering)\\n - [Ticket issue field", - "title": "Conversation to ticket conversion | Conversations | Computer for Support Teams | DevRev" + "id": "ART-2035_KNOWLEDGE_NODE-44", + "text": "directly from Slack:\\n\\n* Using the /devrev create-issue command.\\n* Using the **Create a new issue** message action.\\n\\nBoth the options open a new pop-up modal with a new issue form. Some of the fields are pre-populated based on the messages in the thread.\\n\\n* The **Share with everyone** functionality operates identically to ticket creation. Only shared issues are synchronized between the platforms.\\n* The messages are always synced in the **Internal Discussions** panel with Slack thread.\\n*", + "title": "Slack | Integrate | Snap-ins | DevRev" }, { - "id": "ART-4021_KNOWLEDGE_NODE-5", + "id": "ART-2035_KNOWLEDGE_NODE-5", "text": "ticket conversion](/docs/product/conversation-ticket)\\n + [Tickets](/docs/product/tickets)\\n + [Routing](/docs/product/routing)\\n + [Support best practices](/docs/product/support-bp)\\n + [Customer portal](/docs/product/support-portal)\\n + [Questions & answers](/docs/product/qa)\\n + [Knowledge Base](/docs/product/knowledge-base)\\n\\n - [Articles](/docs/product/articles)\\n - [Collections](/docs/product/collection)\\n + [Turing AI agent](/docs/product/conversational-bot)\\n\\n - [Best", - "title": "Slack scraper | Automate | Snap-ins | DevRev" + "title": "Slack | Integrate | Snap-ins | DevRev" }, { - "id": "ART-1991_KNOWLEDGE_NODE-5", - "text": "ticket conversion](/docs/product/conversation-ticket)\\n + [Tickets](/docs/product/tickets)\\n + [Routing](/docs/product/routing)\\n + [Support best practices](/docs/product/support-bp)\\n + [Customer portal](/docs/product/support-portal)\\n + [Questions & answers](/docs/product/qa)\\n + [Knowledge Base](/docs/product/knowledge-base)\\n\\n - [Articles](/docs/product/articles)\\n - [Collections](/docs/product/collection)\\n + [Turing AI agent](/docs/product/conversational-bot)\\n\\n - [Best", - "title": "Support snap-ins | Computer for Support Teams | DevRev" + "id": "ART-6174_KNOWLEDGE_NODE-16", + "text": "sync](/docs/automations/ticket-linked-issues-comment-sync)\\n - [Slack message agent](/docs/automations/slack-message-agent)\\n + [Integrate](/docs/integrate)\\n\\n - [Bitbucket](/docs/integrations/bitbucket)\\n - [Calendly](/docs/integrations/calendly)\\n - [Coralogix security integration](/docs/integrations/coralogix)\\n - [Datadog](/docs/integrations/datadog)\\n - [Google Calendar AirSync](/docs/integrations/google-calendar-airdrop)\\n - [Email](/docs/integrations/email)\\n\\n", + "title": "Conversation to ticket conversion | Conversations | Computer for Support Teams | DevRev" }, { - "id": "ART-1973_KNOWLEDGE_NODE-13", - "text": "creator](/docs/automations/smart-issue-creator)\\n - [Set user preference for group](/docs/automations/set-user-preference)\\n - [SLA status change Slack notifier](/docs/automations/sla-change-notifier)\\n - [Slash commands](/docs/automations/slash-commands)\\n - [Spam Shield](/docs/automations/spam-shield)\\n - [Subtype Migration](/docs/automations/subtype-migration)\\n - [Ticket age in engineering](/docs/automations/ticket-age-in-engineering)\\n - [Ticket issue field", - "title": "Conversation-SLA Analytics | Support analytics | Computer for Support Teams | DevRev" + "id": "ART-2035_KNOWLEDGE_NODE-41", + "text": "Slack threads, all the messages from both Slack threads reach only the primary ticket in DevRev, while messages from DevRev only sync to the primary ticket\\xe2\\x80\\x99s Slack thread.\\n* If only one ticket has a syncing Slack thread, that thread syncs with the primary ticket.\\n* No messages from the duplicate ticket sync to Slack.\\n* If a ticket is immutable but receives a new customer message in its Slack thread, a follow-up ticket is automatically created for future discussions.\\n\\n### New", + "title": "Slack | Integrate | Snap-ins | DevRev" } ] }, @@ -1739,55 +1739,55 @@ "query_id": "2e98cdf9-4951-4185-a63a-295def43b837", "query": "cron configuration for timer trigger schedule in DevRev", "retrievals": [ + { + "id": "ART-1483_KNOWLEDGE_NODE-11", + "text": "config: \\n 8| # CRON expression for triggering every 10 minutes. \\n 9| cron: \"*/10 * * * *\" \\n 10| metadata: \\n 11| event_key: ten_minute_event\\n[/code] \\n \\nFinally, update the `function` name to better reflect the behavior and `automation`name to use the event type corresponding to the `timer-events` event source.\\n\\nmanifest.yaml\\n\\n[code]\\n\\n 1| functions: \\n ---|--- \\n 2| - name: ticket_creator \\n 3|", + "title": "Using a snap-in to perform a DevRev action \u2014 DevRev | Docs" + }, { "id": "ART-1275_KNOWLEDGE_NODE-8", "text": "type `cron` or\\n`interval_seconds` as mentioned in the\\n[documentation](/snapin-development/references/event-sources#timer-based-event-sources).\\nThe `cron` config is used here.\\n\\nmanifest.yaml\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | event_sources: |\\n| 2 | organization: |\\n| 3 | - name: timer-event-source |\\n| 4 | description: Event source that sends events every 10 minutes. |\\n| 5 | display_name: Timer Event Source |\\n| 6 | type: timer-events |\\n| 7 | config: |\\n| 8 | # CRON expression for", "title": "Using a snap-in to perform a DevRev action | DevRev | Docs" }, { - "id": "ART-1483_KNOWLEDGE_NODE-11", - "text": "config: \\n 8| # CRON expression for triggering every 10 minutes. \\n 9| cron: \"*/10 * * * *\" \\n 10| metadata: \\n 11| event_key: ten_minute_event\\n[/code] \\n \\nFinally, update the `function` name to better reflect the behavior and `automation`name to use the event type corresponding to the `timer-events` event source.\\n\\nmanifest.yaml\\n\\n[code]\\n\\n 1| functions: \\n ---|--- \\n 2| - name: ticket_creator \\n 3|", - "title": "Using a snap-in to perform a DevRev action \u2014 DevRev | Docs" + "id": "ART-1478_KNOWLEDGE_NODE-42", + "text": "source configuration.\\n\\n[code]\\n\\n 1| event_sources: \\n ---|--- \\n 2| organization: \\n 3| - name: daily-timer-source \\n 4| description: Timer event source based on Cron expression \\n 5| display_name: Timer source \\n 6| type: timer-events \\n 7| config: \\n 8| cron: \"0 0 * * *\" \\n 9| metadata: \\n 10| event_key: daily_events \\n 11| \\n 12| - name: hourly-events \\n 13|", + "title": "Event sources \u2014 DevRev | Docs" }, { "id": "ART-1483_KNOWLEDGE_NODE-10", "text": "`interval_seconds` as mentioned in the [documentation](/public/snapin-development/references/event-sources#timer-based-event-sources). The `cron` config is used here.\\n\\nmanifest.yaml\\n\\n[code]\\n\\n 1| event_sources: \\n ---|--- \\n 2| organization: \\n 3| - name: timer-event-source \\n 4| description: Event source that sends events every 10 minutes. \\n 5| display_name: Timer Event Source \\n 6| type: timer-events \\n 7|", "title": "Using a snap-in to perform a DevRev action \u2014 DevRev | Docs" }, + { + "id": "ART-1284_KNOWLEDGE_NODE-37", + "text": "configuration.\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | event_sources: |\\n| 2 | organization: |\\n| 3 | - name: daily-timer-source |\\n| 4 | description: Timer event source based on Cron expression |\\n| 5 | display_name: Timer source |\\n| 6 | type: timer-events |\\n| 7 | config: |\\n| 8 | cron: \"0 0 * * *\" |\\n| 9 | metadata: |\\n| 10 | event_key: daily_events |\\n| 11 | |\\n| 12 | - name: hourly-events |\\n| 13 | description: Timer event source based on interval seconds |\\n| 14 | display_name: Timer", + "title": "Event sources | DevRev | Docs" + }, { "id": "ART-1275_KNOWLEDGE_NODE-9", "text": "triggering every 10 minutes. |\\n| 9 | cron: \"*/10 * * * *\" |\\n| 10 | metadata: |\\n| 11 | event_key: ten_minute_event |\\n```\\n\\nFinally, update the `function` name to better reflect the behavior and\\n`automation`name to use the event type corresponding to the `timer-events` event\\nsource.\\n\\nmanifest.yaml\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | functions: |\\n| 2 | - name: ticket_creator |\\n| 3 | description: Function to create a new ticket when triggered. |\\n| 4 | |\\n| 5 | automations: |\\n| 6 | -", "title": "Using a snap-in to perform a DevRev action | DevRev | Docs" }, - { - "id": "ART-4257_KNOWLEDGE_NODE-23", - "text": "the time spent on specific tasks, allowing you to track events such as response time, loading time, or any other duration-based metrics.\\n\\nThe mechanism utilizes balanced start and stop methods, both of which accept a timer name and an optional dictionary of properties.\\n\\nTo start a timer, use the following method:\\n\\n[code]\\n\\n 1| DevRev.startTimer(_:properties:) \\n ---|---\\n[/code] \\n \\nTo stop a timer, use the following method:\\n\\n[code]\\n\\n 1| DevRev.stopTimer(_:properties:)", - "title": "DevRev SDK for iOS \u2014 DevRev | Docs" - }, { "id": "ART-1483_KNOWLEDGE_NODE-9", "text": "better reflect the snap-in\\xe2\\x80\\x99s behavior.\\n\\nmanifest.yaml\\n\\n[code]\\n\\n 1| version: \"2\" \\n ---|--- \\n 2| \\n 3| name: \"Timely Ticketer\" \\n 4| description: \"Snap-in to create ticket every 10 minutes\" \\n 5| \\n 6| service_account: \\n 7| display_name: Automatic Ticket Creator Bot\\n[/code] \\n \\nNext, update the `event_sources` section to use the `timer-events` event source. The `timer-events` source type takes a `config` of type `cron` or", "title": "Using a snap-in to perform a DevRev action \u2014 DevRev | Docs" }, { - "id": "ART-15417_KNOWLEDGE_NODE-8", - "text": "with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", - "title": "Create Org Schedule | DevRev | Docs" - }, - { - "id": "ART-12456_KNOWLEDGE_NODE-19", - "text": "you can use the following method:\\n\\n[code]\\n\\n 1| DevRev.unmarkSensitiveViews(tags: any[]) \\n ---|---\\n[/code] \\n \\n### Timers\\n\\nThe DevRev SDK offers a timer mechanism to measure the time spent on specific tasks, allowing you to track events such as response time, loading time, or any other duration-based metrics.\\n\\nThe mechanism uses balanced start and stop methods, both of which accept a timer name and an optional dictionary of properties.\\n\\nTo start a timer, use the following", - "title": "Features \u2014 DevRev | Docs" + "id": "ART-1275_KNOWLEDGE_NODE-5", + "text": "devrev snap_in_version init |\\n```\\n\\n#### Trigger\\n\\nThe trigger condition for the snap-in is dictated by the\\n[Event Sources](/snapin-development/references/event-sources)\\nsection in the manifest. The [`timer-events`](/snapin-development/references/event-sources#timer-based-event-sources)\\nevent source is suitable for the use-case, since it allows trigger of snap-ins\\nusing [CRON expression](https://crontab.guru/).\\n\\n#### Action\\n\\nThe hello-world snap-in prints a log message whenever the", + "title": "Using a snap-in to perform a DevRev action | DevRev | Docs" }, { - "id": "ART-15434_KNOWLEDGE_NODE-8", - "text": "with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", - "title": "Update Org Schedule | DevRev | Docs" + "id": "ART-2695_KNOWLEDGE_NODE-31", + "text": "additional configuration; it automatically resumes when the issue stage updates to any stage not designated for stopping the timer.\\n5. Click **Save**.\\n\\nAssigning stage values for starting and stopping the timer is mandatory. Ensure that each stage value is unique across the start, pause, and stop options. Any configuration changes will only apply to issues created after the changes are made.\\n\\n![]()\\n\\nUninstalling the snap-in will remove the OLA metric from all active and new issues, which", + "title": "Operational-level agreement | Computer for Support Teams | DevRev" }, { - "id": "ART-4255_KNOWLEDGE_NODE-21", - "text": "to measure the time spent on specific tasks, allowing you to track events such as response time, loading time, or any other duration-based metrics.\\n\\nThe mechanism utilizes balanced start and stop methods, both of which accept a timer name and an optional hashmap of properties.\\n\\nTo start a timer, use the following method:\\n\\n###### Kotlin\\n\\n###### Java\\n\\n[code]\\n\\n 1| DevRev.startTimer(name: String, properties: HashMap) \\n ---|---\\n[/code] \\n \\nTo stop a timer, use", - "title": "DevRev SDK for Android \u2014 DevRev | Docs" + "id": "ART-1483_KNOWLEDGE_NODE-7", + "text": "\\n#### Trigger\\n\\nThe trigger condition for the snap-in is dictated by the [Event Sources](/public/snapin-development/references/event-sources) section in the manifest. The [`timer-events`](/public/snapin-development/references/event-sources#timer-based-event-sources) event source is suitable for the use-case, since it allows trigger of snap-ins using [CRON expression](https://crontab.guru/).\\n\\n#### Action\\n\\nThe hello-world snap-in prints a log message whenever the snap-in is triggered. Here,", + "title": "Using a snap-in to perform a DevRev action \u2014 DevRev | Docs" } ] }, @@ -1795,55 +1795,55 @@ "query_id": "015c89d4-6aa6-41f4-b9a4-6da7550e85eb", "query": "view all tickets raised to DevRev support team", "retrievals": [ + { + "id": "ART-1978_KNOWLEDGE_NODE-29", + "text": "Ticket tracking allows customers to monitor the progress of their requests and view updates in real-time.\\n* Customer admins can access all tickets created by their team members, facilitating collaboration and knowledge sharing.\\n\\n### Conversations and messaging\\n\\n* Customers can engage in threaded conversations with support representatives, providing additional information or seeking clarification regarding their tickets.\\n* Support teams can respond to customer inquiries, ensuring effective", + "title": "Customer portal | Computer for Support Teams | DevRev" + }, { "id": "ART-1979_KNOWLEDGE_NODE-27", "text": "also be used to engage customers for feedback/ideas (such as new feature ideas). Scoping is important for broadcast tickets as there needs to be a differentiation between broadcast (all revs) vs. multicast (particular revs).\\n\\nViews of tickets can be found under **Support** in the DevRev app.\\n\\n![]()\\n\\nYou can export views to CSV or JSON by selecting **Actions** in the upper-right corner and choosing the format.\\n\\nAttributes\\n----------\\n\\nTickets have attributes that can be used to filter", "title": "Tickets | Computer for Support Teams | DevRev" }, { - "id": "ART-1979_KNOWLEDGE_NODE-37", - "text": "filters and **Group** conditions across various vistas in DevRev to track specific work, capacity, and more.\\n\\nYou can add custom attributes to tickets to track additional information. For more information on custom attributes, see [object customization](./object-customization).\\n\\nIssues are attached to tickets in order to track efforts with product priorities.\\n\\nCreate a ticket\\n---------------\\n\\n1. Go to **Support** > **Tickets** from the sidebar on the left.\\n2. Click **New Ticket** on", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-1978_KNOWLEDGE_NODE-33", + "text": "tickets but also all the tickets raised by the other users from their organization. You can add multiple customer admins from the same customer organization.\\n\\nOnly verified users can login into the portal.\\n\\nTo create a verified user:\\n\\n1. Go to **Accounts** in the DevRev app and create an account.\\n2. Create a contact under **Contacts** and link it to the account.\\n\\n### Set up customer admins\\n\\nTo set up customer admins, follow these steps:\\n\\n1. Log in on your DevRev app with your", + "title": "Customer portal | Computer for Support Teams | DevRev" }, { - "id": "ART-1979_KNOWLEDGE_NODE-40", - "text": "a child issue or create a new one by clicking on **+ New issue**.\\nJust update the title of the child issue and click enter. All other fields will be populated automatically by DevRev. You can edit them later.\\n\\nTags\\n----\\n\\n* Stalled\\n* Priority/Escalated\\n* Fast/Slow Moving\\n* Blocked\\n* Resolution: [*value*]\\n* Impact: [*value*]\\n* Reason: [*value*]\\n\\nStages\\n------\\n\\nThe following figure shows the state machine for tickets.\\n\\n```\\nClosed\\n\\n\\n\\nIn", + "id": "ART-1979_KNOWLEDGE_NODE-50", + "text": "customization](./object-customization).\\n\\nViewing attachments on tickets\\n------------------------------\\n\\nYou can view all attachments sent via the ticket's description, internal discussion, or a customer message by going to the **Attachments** section on the ticket for easy access.\\n\\n![]()\\n\\nTuring suggests\\n---------------\\n\\nTuring suggests enables Computer to aid customer experience engineers in resolving current tickets more efficiently. Each time a ticket is viewed, Computer", "title": "Tickets | Computer for Support Teams | DevRev" }, { - "id": "ART-1979_KNOWLEDGE_NODE-35", - "text": "docs](https://docs.devrev.ai/import).\\n* **Close date**: The date the ticket was closed.\\n* **Source channel**: The channel through which the ticket was created. Customers can create tickets via email, the portal, and various other channels.\\n* **Channel**: Indicates the medium used for customer communication.\\n* **Subscribers**: Indicates the group of users who will receive updates about the tickets.External contacts cannot be added as subscribers, so a [DevRev", + "id": "ART-1979_KNOWLEDGE_NODE-28", + "text": "and group tickets in various views.\\nYou can find all the stock attributes listed in **Settings** > **Object customization** > **Ticket** > **Stock fields**.\\nThese are the stock attributes that come with DevRev:\\n\\n* **Owner**: The person responsible for the ticket. Tickets are assigned to an engineer, PM, designer, or any other team member through the **Owner** attribute.\\n* **Group**: The group to which the ticket belongs. For more information on groups, see [groups](./groups).\\n*", "title": "Tickets | Computer for Support Teams | DevRev" }, { - "id": "ART-1979_KNOWLEDGE_NODE-23", - "text": "2025](/docs/changelog/_2025-06-01)\\n + [May 2025](/docs/changelog/_2025-05-01)\\n + [March and April 2025](/docs/changelog/_2025-04-01)\\n + [February 2025](/docs/changelog/_2025-02-01)\\n* [Developer \\xe2\\x86\\x97\\xef\\xb8\\x8f](https://developer.devrev.ai/)\\n* [DevRevU \\xe2\\x86\\x97\\xef\\xb8\\x8f](/docs/DevRevU)\\n\\n + [Product demos](/docs/DevRevU/demos)\\n\\nOn this page\\n\\n* [Attributes](#attributes)\\n* [Create a ticket](#create-a-ticket)\\n* [Tags](#tags)\\n* [Stages](#stages)\\n*", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-1978_KNOWLEDGE_NODE-43", + "text": "with that email or not.\\n + This could also be because your customer hasn't logged in.\\n* Customer isn't able to view the tickets they have created.\\n\\n + Check if there are any reported tickets by that customer. You can do so by logging into your DevRev app and then going into the tickets section. Here you can filter based on **reported by** and see if any tickets have been reported by the customer who isn't able to view the tickets.\\n + Check if the customer has logged in on the correct", + "title": "Customer portal | Computer for Support Teams | DevRev" }, { - "id": "ART-1979_KNOWLEDGE_NODE-25", - "text": "Teams](/docs/product/support)\\n[Tickets](/docs/product/tickets)\\n\\nTickets\\n=======\\n\\nA *ticket* is a record of a customer's request for assistance or support. When a customer contacts a company with a problem or issue, the company creates a ticket to track the request and ensure that it's addressed in a timely and satisfactory manner. For example, if a user calls in and files a ticket for a problem they're facing any progress would be communicated to them through the ticket.\\n\\nTickets are", + "id": "ART-1979_KNOWLEDGE_NODE-54", + "text": "already raised in the primary ticket. Duplicate tickets often arise from customers submitting multiple requests through different channels (email, portal, Slack). All duplicate tickets become *immutable* after merging.\\n\\n**Primary ticket**\\n\\nA primary ticket is the main record that consolidates all relevant information from duplicate tickets. It serves as the primary source of communication for all merged duplicate tickets, ensuring that all customer interactions, updates, and resolutions are", "title": "Tickets | Computer for Support Teams | DevRev" }, { - "id": "ART-1242_KNOWLEDGE_NODE-1", - "text": "about work items, refer to [Tickets](https://docs.devrev.ai/product/tickets) and [Issues](https://docs.devrev.ai/product/issues).\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/api-reference/webhooks/update)[#### Create Work\\n\\nNext](/api-reference/works/create)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", - "title": "Tickets and issues | DevRev | Docs" - }, - { - "id": "ART-1447_KNOWLEDGE_NODE-1", - "text": "[Tickets](https://docs.devrev.ai/product/tickets) and [Issues](https://docs.devrev.ai/product/issues).\\n\\nWas this page helpful?YesNo\\n\\n[Create WorkUp Next](/public/api-reference/works/create)\\n\\n[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)\\n\\n[Enterprise grade security to protect customer dataLearn more about it.](https://devrev.ai/blog/soc-compliance)\\n\\nProduct\\n\\n * [Build](https://devrev.ai/build)\\n *", - "title": "Tickets and issues \u2014 DevRev | Docs" + "id": "ART-2046_KNOWLEDGE_NODE-29", + "text": "Ticket** button to create a ticket in DevRev by filling necessary attributes. You can turn this feature off in the app configuration if you want.\\n* To view comments on the tickets linked to the discussions that support teams had with customers or internally on DevRev, head over to the DevRev activity tab which is present in the same line as the **Comments** tab of Jira.\\n* To send comments from the Jira issue to the DevRev ticket, select the ticket from the dropdown, type in the comment, and", + "title": "DevRev for Jira app | Jira Software AirSync | AirSync | Snap-ins | DevRev" }, { - "id": "ART-1979_KNOWLEDGE_NODE-41", - "text": "progress\\n\\n\\n\\nOpen\\n\\n\\n\\nEscalate\\n\\n\\n\\nValidate the fix\\n\\n\\n\\nAdditional detail needed\\n\\n\\n\\nCustomer responds\\n\\n\\n\\nStart\\n\\n\\n\\nFeature request accepted\\n\\n\\n\\nResolved\\n\\n\\n\\nNot valid\\n\\n\\n\\nQueued\\n\\n\\n\\nWork in progress\\n\\n\\n\\nAwaiting product assist\\n\\n\\n\\nAwaiting development\\n\\n\\n\\nAwating customer response\\n\\n\\n\\nIn development\\n\\n\\n\\nAccepted\\n\\n\\n\\nResolved\\n\\n\\n\\nCanceled\\n```\\n\\n**Open**\\n\\n* *Queued* (Q)\\n The initial stage for all tickets. When a new ticket is created,", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-6174_KNOWLEDGE_NODE-29", + "text": "rules\\n\\nWorkflows enable seamless handovers from automated conversations to your support teams when necessary.\\n\\nPlug widget end-user experience\\n-------------------------------\\n\\nWhen a conversation is converted to a ticket in the Plug widget:\\n\\n* The ticket number and basic details appear in the same conversation pane.\\n* Users can click **Details** to view complete ticket information.\\n* If the **Tickets** tab is enabled in Plug, users can track their ticket status", + "title": "Conversation to ticket conversion | Conversations | Computer for Support Teams | DevRev" }, { - "id": "ART-1963_KNOWLEDGE_NODE-5", - "text": "ticket conversion](/docs/product/conversation-ticket)\\n + [Tickets](/docs/product/tickets)\\n + [Routing](/docs/product/routing)\\n + [Support best practices](/docs/product/support-bp)\\n + [Customer portal](/docs/product/support-portal)\\n + [Questions & answers](/docs/product/qa)\\n + [Knowledge Base](/docs/product/knowledge-base)\\n\\n - [Articles](/docs/product/articles)\\n - [Collections](/docs/product/collection)\\n + [Turing AI agent](/docs/product/conversational-bot)\\n\\n - [Best", - "title": "Accessing DevRev | Computer by DevRev | DevRev" + "id": "ART-1986_KNOWLEDGE_NODE-41", + "text": "resolution is due in one day, the vista displays five minutes. In the case where the first response isn't provided within five minutes, the timer displays negative values (such as -10m), which indicates that it's been 10 minutes since the first response was due. Conversations or tickets can also be grouped by SLA stages.\\n\\nIn the **Detailed View**, all metrics applied to the ticket or conversation can be viewed along with their current stage.\\n\\nFiltering tickets by Next SLA", + "title": "Service-level agreement | Computer for Support Teams | DevRev" } ] }, @@ -1856,50 +1856,50 @@ "text": "conversations on the portal.\\n3. Under **Styling**, upload a banner image which should be in the ratio of 6:1. You can also set light/dark mode for appearance and select your accent color.\\n4. If you want to enable customers to create tickets from the portal, under **Tabs** turn on **Enable ticket creation**. Assign default owner and part.\\n5. If you want to enable public ticket creation wherein unauthenticated users can create tickets, contact DevRev support.\\n6. Turn on the **Enable banner**", "title": "Customer portal | Computer for Support Teams | DevRev" }, - { - "id": "ART-1978_KNOWLEDGE_NODE-39", - "text": "toggle and craft your own title and description.\\n7. Enable **Public portal** to allow unauthenticated users to view/search public articles.\\n8. Click **Save & publish** to make the changes visible on your portal.\\n\\nIf you want to customize the font color and favicon, contact DevRev support. For favicon customization, an icon in .ico format is needed.\\n\\nCustomize portal URL\\n--------------------\\n\\nBy default, your customer portal is hosted at support.devrev.ai/. The", - "title": "Customer portal | Computer for Support Teams | DevRev" - }, { "id": "ART-1978_KNOWLEDGE_NODE-37", "text": "portal\\n-----------------------------\\n\\nYou can customize the look of your support portal to match your branding goals.\\n\\n1. Go to **Settings** > **Plug & Portal** > **Portal Settings**.\\n2. Under **Configuration**, enter your site name and upload your company logo.\\n * (Optional) Enable the footer and add your social media and text links in their respective fields.\\n * (Optional) Enable **Search** to get answers in search results.\\n * (Optional) Enable Plug widget to facilitate", "title": "Customer portal | Computer for Support Teams | DevRev" }, { - "id": "ART-2063_KNOWLEDGE_NODE-28", - "text": "**Plug Nudges**.\\n2. Click **+ Nudge**.\\n3. In the **Create new nudge** window, select **Banner** and click **Create**.\\n4. In the **Nudge Title** field, enter the nudge name.\\n5. In the **Content** field, enter the nudge title.\\n6. To enable the nudge close button, turn on the **Show a close button** toggle.\\n7. Select the banner color by clicking the color icon.\\n8. Use the **Action** drop-down menu to select the type of engagement you want your users to have when they click the nudge. The", - "title": "Nudges | Computer for Your Customers | DevRev" + "id": "ART-10697_KNOWLEDGE_NODE-31", + "text": "boosting engagement and reducing repetitive inquiries. To enable Plug, go to **Settings > Portal Settings**, activate Plug widget, and **Save** and **Publish**.\\n\\n![]()\\xc2\\xa0For more information about *Support App*, refer to the following articles: \\xe2\\x80\\xa3 [Support snap-ins | Support](/docs/product/snapins-support) \\xe2\\x80\\xa3 [Support best practices | Support](/docs/product/support-bp) \\xe2\\x80\\xa3 [Support](/docs/product/support) \\xe2\\x80\\xa3", + "title": "February 2025 | Changelog | DevRev" }, { - "id": "ART-1471_KNOWLEDGE_NODE-16", - "text": "__\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[](https://devrev.ai)\\n\\n __\\n\\nProduct __\\n\\nPlatform __\\n\\nSolutions __\\n\\nMarketplace __\\n\\nCompany __\\n\\nResources __\\n\\n[Pricing](https://devrev.ai/pricing)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n'", - "title": "Restricted messages on a timeline \u2014 DevRev | Docs" + "id": "ART-1978_KNOWLEDGE_NODE-39", + "text": "toggle and craft your own title and description.\\n7. Enable **Public portal** to allow unauthenticated users to view/search public articles.\\n8. Click **Save & publish** to make the changes visible on your portal.\\n\\nIf you want to customize the font color and favicon, contact DevRev support. For favicon customization, an icon in .ico format is needed.\\n\\nCustomize portal URL\\n--------------------\\n\\nBy default, your customer portal is hosted at support.devrev.ai/. The", + "title": "Customer portal | Computer for Support Teams | DevRev" }, { - "id": "ART-982_KNOWLEDGE_NODE-3", - "text": "to show our offer, the image, and action (e.g. launch URL).\\n\\nI\\xe2\\x80\\x99ve configured this and you can check it out HERE!\\n\\nTypes of Nudges\\n\\nDevRev Nudges currently supports two core types of nudges:\\n\\n\\n Banner\\n \\n A banner at the top of the webpage\\n Can only be text\\n Can contain an action on click\\n \\n \\n Spotlight\\n \\n A card located by the PLuG widget\\n Can contain an image\\n Can contain an action on click\\n \\n \\n\\n\\nSee It In", - "title": "DevRev Nudges - Driving Customer Engagement" + "id": "ART-1978_KNOWLEDGE_NODE-44", + "text": "URL and not on the support portal of some other customer.\\n* Customer admin isn't able to see all the tickets of the organization.\\n\\n + This could happen if the customer isn't logged in on the correct URL. If the customer is logged in on the correct URL, then check if there are any tickets that are reported by the other customers in that organization or not. Check if the customer is added as a customer admin or not by logging in to your DevRev application.\\n* You are not able to add customer", + "title": "Customer portal | Computer for Support Teams | DevRev" }, { - "id": "ART-10697_KNOWLEDGE_NODE-31", - "text": "boosting engagement and reducing repetitive inquiries. To enable Plug, go to **Settings > Portal Settings**, activate Plug widget, and **Save** and **Publish**.\\n\\n![]()\\xc2\\xa0For more information about *Support App*, refer to the following articles: \\xe2\\x80\\xa3 [Support snap-ins | Support](/docs/product/snapins-support) \\xe2\\x80\\xa3 [Support best practices | Support](/docs/product/support-bp) \\xe2\\x80\\xa3 [Support](/docs/product/support) \\xe2\\x80\\xa3", - "title": "February 2025 | Changelog | DevRev" + "id": "ART-12456_KNOWLEDGE_NODE-16", + "text": "Action \\n---|--- \\n`DevRev.startRecording()`| Starts the session recording. \\n`DevRev.stopRecording()`| Stops the session recording and uploads it to the portal. \\n`DevRev.pauseRecording()`| Pauses the ongoing session recording. \\n`DevRev.resumeRecording()`| Resumes a paused session recording. \\n`DevRev.processAllOnDemandSessions()`| Stops the ongoing session recording and uploads all offline sessions on demand, including the current one. \\n \\n### Session properties\\n\\nYou can add", + "title": "Features \u2014 DevRev | Docs" }, { - "id": "ART-886_KNOWLEDGE_NODE-3", - "text": "to show our offer, the image, and action (e.g. launch URL).\\n\\nI\\xe2\\x80\\x99ve configured this and you can check it out HERE!\\n\\nTypes of Nudges\\n\\nDevRev Nudges currently supports two core types of nudges:\\n\\n\\n Banner\\n \\n A banner at the top of the webpage\\n Can only be text\\n Can contain an action on click\\n \\n \\n Spotlight\\n \\n A card located by the PLuG widget\\n Can contain an image\\n Can contain an action on click\\n \\n \\n\\n\\nSee It In", - "title": "Nudges | The Book of DevRev" + "id": "ART-2063_KNOWLEDGE_NODE-23", + "text": "2025](/docs/changelog/_2025-06-01)\\n + [May 2025](/docs/changelog/_2025-05-01)\\n + [March and April 2025](/docs/changelog/_2025-04-01)\\n + [February 2025](/docs/changelog/_2025-02-01)\\n* [Developer \\xe2\\x86\\x97\\xef\\xb8\\x8f](https://developer.devrev.ai/)\\n* [DevRevU \\xe2\\x86\\x97\\xef\\xb8\\x8f](/docs/DevRevU)\\n\\n + [Product demos](/docs/DevRevU/demos)\\n\\nOn this page\\n\\n* [Create a spotlight nudge](#create-a-spotlight-nudge)\\n* [Create a banner](#create-a-banner)\\n* [Create", + "title": "Nudges | Computer for Your Customers | DevRev" }, { - "id": "ART-2059_KNOWLEDGE_NODE-12", - "text": "width=\"0\" style=\"display:none;visibility:hidden\">'", - "title": "Install PLuG chat on your website" + "id": "ART-4255_KNOWLEDGE_NODE-19", + "text": "recording.| startRecording()| startRecording(DevRev.INSTANCE, context); \\nEnds the session recording and uploads it to the portal.| stopRecording()| stopRecording(DevRev.INSTANCE); \\nPauses the ongoing session recording.| pauseRecording()| pauseRecording(DevRev.INSTANCE); \\nResumes a paused session recording.| resumeRecording()| resumeRecording(DevRev.INSTANCE); \\n \\n### Session properties\\n\\nYou can add custom properties to the session recording to help you understand the context of the", + "title": "DevRev SDK for Android \u2014 DevRev | Docs" }, { - "id": "ART-1265_KNOWLEDGE_NODE-0", - "text": "b'Restricted messages on a timeline | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nPublic\\n\\nPublic\\n\\nSearch\\n\\n`/`\\n\\nOn this page\\n\\n* [Introduction](/guides/timeline-entries#introduction)\\n* [Send a restricted visibility message](/guides/timeline-entries#send-a-restricted-visibility-message)\\n* [Summary](/guides/timeline-entries#summary)\\n\\n[Guides](/guides/webhooks)\\n\\nRestricted messages on a timeline\\n=================================\\n\\nCopy", - "title": "Restricted messages on a timeline | DevRev | Docs" + "id": "ART-15510_KNOWLEDGE_NODE-15", + "text": "`DevRev.stopRecording(successCallback, errorCallback)` | Ends the session recording and uploads it to the portal. |\\n| `DevRev.pauseRecording(successCallback, errorCallback)` | Pauses the ongoing session recording. |\\n| `DevRev.resumeRecording(successCallback, errorCallback)` | Resumes a paused session recording. |\\n\\n### Session properties\\n\\nYou can add custom properties to the session recording to help you understand the context of the session. The properties are defined as a map of string", + "title": "Features | DevRev | Docs" + }, + { + "id": "ART-2041_KNOWLEDGE_NODE-26", + "text": "marketplace, find **Qase** and click **Install**.\\n\\nConfiguration\\n-------------\\n\\n### Create a connection\\n\\n1. Create a connection by going to **Settings** > **Snap-ins** > **Connections** > **+ Connection**.\\n2. Choose **Snap-in Secret**, add connection name, Qase API key and click **Next**.\\n\\n### Add the connection and part\\n\\n1. Add the created connection in **Connect your snap-in secret workspace**.\\n2. In **Configuration**, add **Project code** and **The part to which Qase defect is", + "title": "Qase | Integrate | Snap-ins | DevRev" } ] }, @@ -1908,29 +1908,29 @@ "query": "sync contacts and accounts from DevRev to Salesforce", "retrievals": [ { - "id": "ART-2047_KNOWLEDGE_NODE-35", - "text": "longer available.\\n\\n### Sync to DevRev\\n\\nAfter a successful import from a Salesforce account, you can choose to sync the imported data with DevRev. This feature airdrops any new items and any changes made to previously imported items from Salesforce.\\n\\nTo perform a one-time sync to DevRev, follow these steps:\\n\\n1. Go to **Settings** > **Integrations** > **AirSyncs**.\\n2. Locate the previously imported project.\\n3. Select **\\xe2\\x8b\\xae** > **Sync Salesforce Service to", - "title": "Salesforce AirSync | AirSync | Snap-ins | DevRev" + "id": "ART-15716_KNOWLEDGE_NODE-2", + "text": "details](https://devrev.ai/docs/integrations/jira)\\n\\n4. Integration with Salesforce\\n\\nYes, DevRev offers a Salesforce integration. You can sync accounts, contacts, opportunities, and more between DevRev and Salesforce.\\n\\n[Salesforce integration overview](https://devrev.ai/docs/integrations/salesforce)\\n\\n5. Configuring Email Integration Snap-In\\n\\nGo to Settings \\xe2\\x86\\x92 Integrations \\xe2\\x86\\x92 Email, then follow the prompts to connect your email provider (Gmail, Outlook, or custom", + "title": "Support queries related playbook" }, { - "id": "ART-2047_KNOWLEDGE_NODE-36", - "text": "DevRev**.\\n\\n![]()\\n\\nThis may override fields in previously imported items, even if they were modified in DevRev.\\n\\n### Sync to Salesforce\\n\\nAfter a successful import from a Salesforce account, you can sync changes made in DevRev to the previously imported cases back to Salesforce. Additionally, any new [DevRev tickets marked for sync](#mark-a-devrev-ticket-for-syncing) is created as new Salesforce items.\\n\\nTo perform a one-time sync to Salesforce, follow these steps:\\n\\n1. Go to", + "id": "ART-2047_KNOWLEDGE_NODE-37", + "text": "**Settings** > **Integrations** > **AirSyncs**.\\n2. Locate the previously imported project.\\n3. Select **\\xe2\\x8b\\xae** > **Sync DevRev to Salesforce Service**.\\n\\n![]()\\n\\nThis may override fields in Salesforce of previously imported items, even if they were modified in Salesforce.\\n\\n#### Mark a DevRev ticket for syncing\\n\\nUsing the [Sync to Salesforce](#sync-to-salesforce) feature, it\\'s possible to sync DevRev tickets to Salesforce. In order to sync a DevRev ticket to a specific Salesforce", "title": "Salesforce AirSync | AirSync | Snap-ins | DevRev" }, { - "id": "ART-2047_KNOWLEDGE_NODE-30", - "text": "it\\'s your first).\\n2. Create a new connection to your Salesforce account, or use an existing connection if you already have one.\\n3. Once the connection is established, select the Salesforce account you want to import and specify the DevRev part that should be used for any imported cases without a product. This initiates a bulk import of the selected account.\\n4. DevRev makes an effort to automatically map the fields from Salesforce to corresponding fields in DevRev. However, you may be", + "id": "ART-2047_KNOWLEDGE_NODE-35", + "text": "longer available.\\n\\n### Sync to DevRev\\n\\nAfter a successful import from a Salesforce account, you can choose to sync the imported data with DevRev. This feature airdrops any new items and any changes made to previously imported items from Salesforce.\\n\\nTo perform a one-time sync to DevRev, follow these steps:\\n\\n1. Go to **Settings** > **Integrations** > **AirSyncs**.\\n2. Locate the previously imported project.\\n3. Select **\\xe2\\x8b\\xae** > **Sync Salesforce Service to", "title": "Salesforce AirSync | AirSync | Snap-ins | DevRev" }, { - "id": "ART-2047_KNOWLEDGE_NODE-32", - "text": "automatically.\\n\\nPost import options\\n-------------------\\n\\nAfter a successful import, you have the following options available for the imported account:\\n\\n* [Sync to DevRev](#sync-to-devrev):\\n + This option allows you to synchronize any modifications made in Salesforce with the corresponding items previously imported into DevRev. It also creates new items in DevRev for any new items created in Salesforce after the last sync or import. This is a one-time operation.\\n* [Sync to", + "id": "ART-2047_KNOWLEDGE_NODE-36", + "text": "DevRev**.\\n\\n![]()\\n\\nThis may override fields in previously imported items, even if they were modified in DevRev.\\n\\n### Sync to Salesforce\\n\\nAfter a successful import from a Salesforce account, you can sync changes made in DevRev to the previously imported cases back to Salesforce. Additionally, any new [DevRev tickets marked for sync](#mark-a-devrev-ticket-for-syncing) is created as new Salesforce items.\\n\\nTo perform a one-time sync to Salesforce, follow these steps:\\n\\n1. Go to", "title": "Salesforce AirSync | AirSync | Snap-ins | DevRev" }, { - "id": "ART-2047_KNOWLEDGE_NODE-26", - "text": "corresponding DevRev equivalent. Those marked as **Sync to DevRev** are eligible for import/sync to DevRev from Salesforce. Those marked as **Sync to Salesforce** are eligible to be synced to Salesforce from DevRev.\\n\\n| Salesforce Object | DevRev Object | Sync to DevRev | Sync to Salesforce |\\n| --- | --- | --- | --- |\\n| Case | Ticket | \\xe2\\x9c\\x85 | \\xe2\\x9c\\x85 |\\n| Task | Ticket | \\xe2\\x9c\\x85 | \\xe2\\x9c\\x85 |\\n| Problem | Ticket | \\xe2\\x9c\\x85 | \\xe2\\x9c\\x85 |\\n| Incident | Ticket |", - "title": "Salesforce AirSync | AirSync | Snap-ins | DevRev" + "id": "ART-15716_KNOWLEDGE_NODE-3", + "text": "SMTP/IMAP). You\\xe2\\x80\\x99ll need admin access to complete the setup.\\n\\n[Email integration setup instructions](https://devrev.ai/docs/integrations/email)\\n\\n6. Syncing Cases Between DevRev and Salesforce\\n\\nYes, you can sync cases (tickets) from DevRev to Salesforce using the Salesforce integration. Mapping and sync options are available during setup.\\n\\n[Syncing cases with Salesforce](https://devrev.ai/docs/integrations/salesforce#sync-cases)\\n\\n7. Supported Airdrop Sources\\n\\nDevRev Airdrop", + "title": "Support queries related playbook" }, { "id": "ART-2047_KNOWLEDGE_NODE-33", @@ -1938,24 +1938,24 @@ "title": "Salesforce AirSync | AirSync | Snap-ins | DevRev" }, { - "id": "ART-2047_KNOWLEDGE_NODE-37", - "text": "**Settings** > **Integrations** > **AirSyncs**.\\n2. Locate the previously imported project.\\n3. Select **\\xe2\\x8b\\xae** > **Sync DevRev to Salesforce Service**.\\n\\n![]()\\n\\nThis may override fields in Salesforce of previously imported items, even if they were modified in Salesforce.\\n\\n#### Mark a DevRev ticket for syncing\\n\\nUsing the [Sync to Salesforce](#sync-to-salesforce) feature, it\\'s possible to sync DevRev tickets to Salesforce. In order to sync a DevRev ticket to a specific Salesforce", + "id": "ART-2047_KNOWLEDGE_NODE-32", + "text": "automatically.\\n\\nPost import options\\n-------------------\\n\\nAfter a successful import, you have the following options available for the imported account:\\n\\n* [Sync to DevRev](#sync-to-devrev):\\n + This option allows you to synchronize any modifications made in Salesforce with the corresponding items previously imported into DevRev. It also creates new items in DevRev for any new items created in Salesforce after the last sync or import. This is a one-time operation.\\n* [Sync to", "title": "Salesforce AirSync | AirSync | Snap-ins | DevRev" }, { - "id": "ART-2047_KNOWLEDGE_NODE-25", - "text": "AirSync](/docs/integrations/salesforce)\\n\\nSalesforce AirSync\\n==================\\n\\nDevRev\\'s Salesforce AirSync allows you to perform a bulk migration, ongoing 1-way sync, or ongoing 2-way syncs. A bulk import is a prerequisite to setting up a sync.\\n\\n![]()\\n\\nFor more information, refer to the [Salesforce AirSync snap-in](https://marketplace.devrev.ai/salesforce) on the DevRev marketplace.\\n\\nSupported objects\\n-----------------\\n\\nThe following is a list of Salesforce objects and their", + "id": "ART-2047_KNOWLEDGE_NODE-39", + "text": "created in the specified Salesforce account the next time the Sync from [DevRev to Salesforce](#sync-to-salesforce) runs. This can be triggered manually or automatically through a Periodic Sync. Future syncs keeps this item updated on both sides after it has been created in Salesforce.\\n\\n### Historical AirSyncs\\n\\nTo view currently running and previous AirSyncs from various sources, do the following:\\n\\n1. Go to **Settings** > **Integrations** > **AirSyncs**.\\n2. Select the import you want to", "title": "Salesforce AirSync | AirSync | Snap-ins | DevRev" }, { - "id": "ART-2045_KNOWLEDGE_NODE-49", - "text": "associated with the account you want to merge from will be associated with the account to be merged with.\\n4. Click **Merge**.\\n\\nContact deduplication\\n---------------------\\n\\nDevRev contacts help you keep track of your [customers](https://docs.devrev.ai/product/customers). Contacts are the individual users, which may or may not be associated with an account. DevRev contacts aren\\'t globally unique. The same user may have multiple contact records.\\n\\nAirSync imported contacts are deduplicated", - "title": "AirSync | Snap-ins | DevRev" + "id": "ART-2047_KNOWLEDGE_NODE-26", + "text": "corresponding DevRev equivalent. Those marked as **Sync to DevRev** are eligible for import/sync to DevRev from Salesforce. Those marked as **Sync to Salesforce** are eligible to be synced to Salesforce from DevRev.\\n\\n| Salesforce Object | DevRev Object | Sync to DevRev | Sync to Salesforce |\\n| --- | --- | --- | --- |\\n| Case | Ticket | \\xe2\\x9c\\x85 | \\xe2\\x9c\\x85 |\\n| Task | Ticket | \\xe2\\x9c\\x85 | \\xe2\\x9c\\x85 |\\n| Problem | Ticket | \\xe2\\x9c\\x85 | \\xe2\\x9c\\x85 |\\n| Incident | Ticket |", + "title": "Salesforce AirSync | AirSync | Snap-ins | DevRev" }, { - "id": "ART-2045_KNOWLEDGE_NODE-46", - "text": "organizations in Zendesk, or accounts in Salesforce.\\n\\nAn AirSync doesn\\'t deduplicate imported accounts; rather, it modifies them so that new accounts don\\'t violate DevRev constraints. These accounts can be merged after the import has been completed. Since DevRev has several constraints on the uniqueness of different DevRev account fields, AirSync avoids breaking these constraints by following these rules when another account is already using the unique value:\\n\\n| Account Field | Rule |\\n|", - "title": "AirSync | Snap-ins | DevRev" + "id": "ART-2575_KNOWLEDGE_NODE-19", + "text": "AirSync](/docs/integrations/dropbox)\\n - [Hubspot AirSync](/docs/integrations/hubspot)\\n - [Salesforce AirSync](/docs/integrations/salesforce)\\n - [Zendesk AirSync](/docs/integrations/zendesk)\\n - [Freshdesk AirSync](/docs/integrations/freshdesk)\\n - [Freshdesk historical ticket import](/docs/integrations/freshdesk-historical-tickets)\\n - [Rocketlane AirSync](/docs/integrations/rocketlane)\\n - [Confluence AirSync](/docs/integrations/confluence-import)\\n - [Confluence", + "title": "Account and contact import | Computer for Growth Teams | DevRev" } ] }, @@ -1964,54 +1964,54 @@ "query": "best way to export accounts in bulk", "retrievals": [ { - "id": "ART-1254_KNOWLEDGE_NODE-9", - "text": "Export Accounts (POST)\\n\\nNext](/api-reference/accounts/export-post)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", - "title": "Export Accounts | DevRev | Docs" + "id": "ART-2000_KNOWLEDGE_NODE-26", + "text": "description, websites, domains, type, annual revenue, forecast category, tags, tier, etc.\\n3. Fill in the required fields like external references and owner of the account.\\n4. Click **Create**.\\n\\n### Bulk import accounts\\n\\nTo bulk import accounts, see [Account and contact import](/docs/product/account-contact-import).\\n\\nYou can also use [AirSync](https://docs.devrev.ai/import) to migrate your accounts from various platforms such as Hubspot, Salesforce, Zendesk, Jira, Linear, ServiceNow and", + "title": "Accounts | Computer for Growth Teams | DevRev" }, { - "id": "ART-1254_KNOWLEDGE_NODE-1", - "text": "it](/api-reference/accounts/export?explorer=true)\\n\\n200Retrieved\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | { |\\n| 2 | \"accounts\": [ |\\n| 3 | { |\\n| 4 | \"id\": \"string\", |\\n| 5 | \"owned_by\": [ |\\n| 6 | { |\\n| 7 | \"display_id\": \"string\", |\\n| 8 | \"id\": \"string\", |\\n| 9 | \"display_name\": \"string\", |\\n| 10 | \"display_picture\": { |\\n| 11 | \"display_id\": \"string\", |\\n| 12 | \"id\": \"string\", |\\n| 13 | \"file\": { |\\n| 14 | \"type\": \"string\", |\\n| 15 | \"name\": \"string\", |\\n| 16 | \"size\": 1 |\\n| 17 | } |\\n| 18", + "id": "ART-1254_KNOWLEDGE_NODE-5", + "text": "\"string\", |\\n| 75 | \"websites\": [ |\\n| 76 | \"string\" |\\n| 77 | ] |\\n| 78 | } |\\n| 79 | ] |\\n| 80 | } |\\n```\\n\\nExports a collection of accounts.\\n\\n### Headers\\n\\nAuthorizationstringRequired\\n\\nBearer authentication of the form `Bearer `, where token is your auth token.\\n\\n### Query parameters\\n\\ncreated\\\\_bylist of stringsOptional\\n\\nFilters for accounts created by the specified user(s).\\n\\ncreated\\\\_date.afterstringOptional`format: \"date-time\"`\\n\\nFilters for objects created after the", "title": "Export Accounts | DevRev | Docs" }, { - "id": "ART-1254_KNOWLEDGE_NODE-0", - "text": "b'Export Accounts | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nPublic\\n\\nPublic\\n\\nSearch\\n\\n`/`\\n\\n[API Reference](/api-reference/getting-started)[accounts](/api-reference/accounts/accounts)\\n\\nExport Accounts\\n===============\\n\\nCopy page\\n\\nGET\\n\\nhttps://api.devrev.ai/accounts.export\\n\\nGET\\n\\n/accounts.export\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl https://api.devrev.ai/accounts.export \\\\ |\\n| > | -H \"Authorization: Bearer \" |\\n```\\n\\n[Try", - "title": "Export Accounts | DevRev | Docs" + "id": "ART-1652_KNOWLEDGE_NODE-3", + "text": "delete.\\nResponse.\\n\\nThis endpoint returns a map from strings to any.\\nAPI Reference accounts Export.\\n\\nGET https:// api.devrev.ai / accounts.export\\nExports a collection of accounts.\\nQuery parameters.\\n\\ncreated_by string Optional\\nFilters for accounts created by the specified user(s).\\ncreated_date.after datetime Optional\\nFilters for objects created after the provided timestamp (inclusive).\\ncreated_date.before datetime Optional\\nFilters for objects created before the provided timestamp", + "title": "Export \u2014 DevRev | Docs" }, { - "id": "ART-1449_KNOWLEDGE_NODE-1", - "text": "__\\n\\n[Pricing](https://devrev.ai/pricing)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[API Reference](/public/api-reference/getting-started)[Accounts](/public/api-reference/accounts/accounts)\\n\\n# Export Accounts\\n\\nGET\\n\\nhttps://api.devrev.ai/accounts.export\\n\\nTry it\\n\\nExports a collection of accounts.\\n\\n### Query parameters\\n\\ncreated_bylist of stringsOptional\\n\\nFilters for accounts created by the specified", - "title": "Export Accounts \u2014 DevRev | Docs" + "id": "ART-1302_KNOWLEDGE_NODE-8", + "text": "\" : \" value \" 3 }\\nAPI Reference accounts Export.\\n\\nGET https:// api.devrev.ai / accounts.export\\nExports a collection of accounts.\\nQuery parameters.\\n\\ncreated_by string Optional\\nFilters for accounts created by the specified user(s).\\ncreated_date.after datetime Optional\\nFilters for objects created after the provided timestamp (inclusive).\\ncreated_date.before datetime Optional\\nFilters for objects created before the provided timestamp (inclusive).\\ncustom_fields map from strings to any", + "title": "Export \u2014 DevRev | Docs" }, { - "id": "ART-1255_KNOWLEDGE_NODE-1", - "text": "|\\n| > | -H \"Content-Type: application/json\" \\\\ |\\n| > | -d \\'{}\\' |\\n```\\n\\n[Try it](/api-reference/accounts/export-post?explorer=true)\\n\\n200Successful\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | { |\\n| 2 | \"accounts\": [ |\\n| 3 | { |\\n| 4 | \"id\": \"string\", |\\n| 5 | \"owned_by\": [ |\\n| 6 | { |\\n| 7 | \"display_id\": \"string\", |\\n| 8 | \"id\": \"string\", |\\n| 9 | \"display_name\": \"string\", |\\n| 10 | \"display_picture\": { |\\n| 11 | \"display_id\": \"string\", |\\n| 12 | \"id\": \"string\", |\\n| 13 | \"file\": { |\\n| 14", - "title": "Export Accounts (POST) | DevRev | Docs" + "id": "ART-1639_KNOWLEDGE_NODE-3", + "text": "delete.\\nResponse.\\n\\nThis endpoint returns a map from strings to any.\\nAPI Reference accounts Export.\\n\\nGET https:// api.devrev.ai / accounts.export\\nExports a collection of accounts.\\nQuery parameters.\\n\\ncreated_by string Optional\\nFilters for accounts created by the specified user(s).\\ncreated_date.after datetime Optional\\nFilters for objects created after the provided timestamp (inclusive).\\ncreated_date.before datetime Optional\\nFilters for objects created before the provided timestamp", + "title": "Export Post \u2014 DevRev | Docs" }, { - "id": "ART-1255_KNOWLEDGE_NODE-0", - "text": "b'Export Accounts (POST) | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nPublic\\n\\nPublic\\n\\nSearch\\n\\n`/`\\n\\n[API Reference](/api-reference/getting-started)[accounts](/api-reference/accounts/accounts)\\n\\nExport Accounts (POST)\\n======================\\n\\nCopy page\\n\\nPOST\\n\\nhttps://api.devrev.ai/accounts.export\\n\\nPOST\\n\\n/accounts.export\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl -X POST https://api.devrev.ai/accounts.export \\\\ |\\n| > | -H \"Authorization: Bearer \" \\\\", - "title": "Export Accounts (POST) | DevRev | Docs" + "id": "ART-1303_KNOWLEDGE_NODE-3", + "text": "delete.\\nResponse.\\n\\nThis endpoint returns a map from strings to any.\\nAPI Reference accounts Export.\\n\\nGET https:// api.devrev.ai / accounts.export\\nExports a collection of accounts.\\nQuery parameters.\\n\\ncreated_by string Optional\\nFilters for accounts created by the specified user(s).\\ncreated_date.after datetime Optional\\nFilters for objects created after the provided timestamp (inclusive).\\ncreated_date.before datetime Optional\\nFilters for objects created before the provided timestamp", + "title": "Export Post \u2014 DevRev | Docs" }, { - "id": "ART-1449_KNOWLEDGE_NODE-10", - "text": "\"modified_date\": \"2023-01-01T12:00:00.000Z\", \\n 69| \"primary_account\": { \\n 70| \"id\": \"foo\", \\n 71| \"display_id\": \"foo\", \\n 72| \"display_name\": \"foo\" \\n 73| }, \\n 74| \"tier\": \"foo\", \\n 75| \"websites\": [ \\n 76| \"foo\" \\n 77| ] \\n 78| } \\n 79| ] \\n 80| }\\n[/code] \\n \\n[Export Accounts (POST)Up Next](/public/api-reference/accounts/export-post)\\n\\n[Built", + "id": "ART-1449_KNOWLEDGE_NODE-1", + "text": "__\\n\\n[Pricing](https://devrev.ai/pricing)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[API Reference](/public/api-reference/getting-started)[Accounts](/public/api-reference/accounts/accounts)\\n\\n# Export Accounts\\n\\nGET\\n\\nhttps://api.devrev.ai/accounts.export\\n\\nTry it\\n\\nExports a collection of accounts.\\n\\n### Query parameters\\n\\ncreated_bylist of stringsOptional\\n\\nFilters for accounts created by the specified", "title": "Export Accounts \u2014 DevRev | Docs" }, { - "id": "ART-1462_KNOWLEDGE_NODE-0", - "text": "b'[](/public/api-reference/accounts/export-post)\\n\\nPublic\\n\\n[API Reference](/public/api-reference/getting-started)[Accounts](/public/api-reference/accounts/accounts)\\n\\n# Export Accounts (POST)\\n\\nPOST\\n\\nhttps://api.devrev.ai/accounts.export\\n\\nTry it\\n\\nExports a collection of accounts.\\n\\n### Request\\n\\nThis endpoint expects an object.\\n\\ncreated_bylist of stringsOptional\\n\\nFilters for accounts created by the specified user(s).\\n\\ncreated_dateobjectOptional\\n\\nShow 2", - "title": "Export Accounts (POST) \u2014 DevRev | Docs" + "id": "ART-1652_KNOWLEDGE_NODE-6", + "text": "exported accounts.\\nShow 18 properties\\nAPI Reference accounts Export Post.\\n\\nPOST https:// api.devrev.ai / accounts.export\\nExports a collection of accounts.\\nRequest.\\n\\nThis endpoint expects an object.\\ncreated_by list of strings Optional\\nFilters for accounts created by the specified user(s).\\ncreated_date object Optional\\nShow 2 properties\\ncustom_fields map from strings to any Optional\\nFilters for custom fields.\\ndisplay_name list of strings Optional\\nArray of display names of accounts", + "title": "Export \u2014 DevRev | Docs" }, { - "id": "ART-1449_KNOWLEDGE_NODE-0", - "text": "b'[](/public/api-reference/accounts/export)\\n\\nPublic\\n\\n[](https://devrev.ai)\\n\\n * Product\\n * Platform\\n * Solutions\\n * Marketplace\\n * Company\\n * Resources\\n * [Pricing](https://devrev.ai/pricing)\\n\\n __\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[](https://devrev.ai)\\n\\n __\\n\\nProduct __\\n\\nPlatform __\\n\\nSolutions __\\n\\nMarketplace __\\n\\nCompany __\\n\\nResources", - "title": "Export Accounts \u2014 DevRev | Docs" + "id": "ART-1509_KNOWLEDGE_NODE-6", + "text": "exported accounts.\\nShow 18 properties\\nAPI Reference accounts Export Post.\\n\\nPOST https:// api.devrev.ai / accounts.export\\nExports a collection of accounts.\\nRequest.\\n\\nThis endpoint expects an object.\\ncreated_by list of strings Optional\\nFilters for accounts created by the specified user(s).\\ncreated_date object Optional\\nShow 2 properties\\ncustom_fields map from strings to any Optional\\nFilters for custom fields.\\ndisplay_name list of strings Optional\\nArray of display names of accounts", + "title": "Prepare \u2014 DevRev | Docs" }, { - "id": "ART-1449_KNOWLEDGE_NODE-5", - "text": "Unavailable Error\\n\\nGET\\n\\n/accounts.export\\n\\n[code]\\n\\n $| curl https://api.devrev.ai/accounts.export \\\\ \\n ---|--- \\n >| -H \"Authorization: Bearer \"\\n[/code] \\n \\nTry it\\n\\n200exportExample\\n\\n[code]\\n\\n 1| { \\n ---|--- \\n 2| \"accounts\": [ \\n 3| { \\n 4| \"id\": \"foo\", \\n 5| \"owned_by\": [ \\n 6| { \\n 7| \"display_id\": \"foo\", \\n 8| \"id\": \"foo\", \\n 9| \"display_name\": \"foo\", \\n", - "title": "Export Accounts \u2014 DevRev | Docs" + "id": "ART-1639_KNOWLEDGE_NODE-6", + "text": "exported accounts.\\nShow 18 properties\\nAPI Reference accounts Export Post.\\n\\nPOST https:// api.devrev.ai / accounts.export\\nExports a collection of accounts.\\nRequest.\\n\\nThis endpoint expects an object.\\ncreated_by list of strings Optional\\nFilters for accounts created by the specified user(s).\\ncreated_date object Optional\\nShow 2 properties\\ncustom_fields map from strings to any Optional\\nFilters for custom fields.\\ndisplay_name list of strings Optional\\nArray of display names of accounts", + "title": "Export Post \u2014 DevRev | Docs" } ] }, @@ -2020,54 +2020,54 @@ "query": "copy schema subtype deal registration leaf type of account", "retrievals": [ { - "id": "ART-4116_KNOWLEDGE_NODE-0", - "text": "b'[](/beta/api-reference/customization/schemas-subtype-prepare-update-get)\\n\\nBeta\\n\\n[API Reference](/beta/api-reference/accounts/create)[Customization](/beta/api-reference/customization/custom-objects-count)\\n\\n# Prepare-Update Schemas Subtypes\\n\\nPOST\\n\\nhttps://api.devrev.ai/schemas.subtypes.prepare-update\\n\\nTry it\\n\\nGets the new fragment IDs and fields resulting from changing a subtype.\\n\\n### Request\\n\\nThis endpoint expects an object.\\n\\nleaf_typestringRequired`format: \"text\"`\\n\\nLeaf", - "title": "Prepare-Update Schemas Subtypes (Beta) \u2014 DevRev | Docs" + "id": "ART-1652_KNOWLEDGE_NODE-224", + "text": "schemas.subtypes.list\\nLists subtypes.\\nRequest.\\n\\nThis endpoint expects an object.\\nleaf_type string Optional\\nLeaf type for which subtypes are required.\\nleaf_types list of strings Optional\\nList of leaf types for which subtypes are required.\\nResponse.\\n\\nThis endpoint returns an object.\\nsubtypes list of objects\\nList of subtypes.\\nShow 4 properties\\nAPI Reference customization Custom Stages Create.\\n\\nPOST https:// api.devrev.ai / stages.custom.create\\nCreates a custom", + "title": "Export \u2014 DevRev | Docs" }, { - "id": "ART-15342_KNOWLEDGE_NODE-3", - "text": "token.\\n\\n### Request\\n\\nThis endpoint expects an object.\\n\\nleaf\\\\_typestringRequired`format: \"text\"`\\n\\nLeaf type of the object.\\n\\nis\\\\_custom\\\\_leaf\\\\_typebooleanOptional\\n\\nWhether the leaf type corresponds to a custom object.\\n\\nnew\\\\_subtypestringOptional`format: \"text\"`\\n\\nName of the new subtype for the object.\\n\\nobjectstringOptional`format: \"id\"`\\n\\nID of the object of which subtype is to be changed. Used to fetch\\nthe object\\'s custom schema fragments and custom fields\\n\\n###", - "title": "Prepare-Update Schemas Subtypes | DevRev | Docs" + "id": "ART-1588_KNOWLEDGE_NODE-224", + "text": "schemas.subtypes.list\\nLists subtypes.\\nRequest.\\n\\nThis endpoint expects an object.\\nleaf_type string Optional\\nLeaf type for which subtypes are required.\\nleaf_types list of strings Optional\\nList of leaf types for which subtypes are required.\\nResponse.\\n\\nThis endpoint returns an object.\\nsubtypes list of objects\\nList of subtypes.\\nShow 4 properties\\nAPI Reference customization Custom Stages Create.\\n\\nPOST https:// api.devrev.ai / stages.custom.create\\nCreates a custom", + "title": "Get \u2014 DevRev | Docs" }, { - "id": "ART-15337_KNOWLEDGE_NODE-19", - "text": "subtype.\\n\\nis\\\\_custom\\\\_leaf\\\\_typebooleanOptional\\n\\nWhether the leaf type corresponds to a custom object.\\n\\nleaf\\\\_typestringOptional`format: \"text\"`\\n\\nThe leaf type. Used for inferring the default stage diagram and\\ntenant fragment ID.\\n\\nstock\\\\_schema\\\\_fragmentstringOptional`format: \"id\"`\\n\\nThe stock schema fragment which is to be aggregated.\\n\\n### Response\\n\\nSuccess.\\n\\nschemaobject\\n\\nList of custom fields from multiple source fragments.\\n\\nShow 13 properties\\n\\n###", - "title": "Get Schemas Aggregated | DevRev | Docs" + "id": "ART-1593_KNOWLEDGE_NODE-224", + "text": "schemas.subtypes.list\\nLists subtypes.\\nRequest.\\n\\nThis endpoint expects an object.\\nleaf_type string Optional\\nLeaf type for which subtypes are required.\\nleaf_types list of strings Optional\\nList of leaf types for which subtypes are required.\\nResponse.\\n\\nThis endpoint returns an object.\\nsubtypes list of objects\\nList of subtypes.\\nShow 4 properties\\nAPI Reference customization Custom Stages Create.\\n\\nPOST https:// api.devrev.ai / stages.custom.create\\nCreates a custom", + "title": "Get \u2014 DevRev | Docs" }, { - "id": "ART-4116_KNOWLEDGE_NODE-1", - "text": "type of the object.\\n\\nis_custom_leaf_typebooleanOptional\\n\\nWhether the leaf type corresponds to a custom object.\\n\\nnew_subtypestringOptional`format: \"text\"`\\n\\nName of the new subtype for the object.\\n\\nobjectstringOptional`format: \"id\"`\\n\\nID of the object of which subtype is to be changed. Used to fetch the object\\xe2\\x80\\x99s custom schema fragments and custom fields\\n\\n### Response\\n\\nSuccess.\\n\\nadded_fieldslist of objectsOptional\\n\\nList of fields that have a default value and need to", - "title": "Prepare-Update Schemas Subtypes (Beta) \u2014 DevRev | Docs" + "id": "ART-1653_KNOWLEDGE_NODE-224", + "text": "schemas.subtypes.list\\nLists subtypes.\\nRequest.\\n\\nThis endpoint expects an object.\\nleaf_type string Optional\\nLeaf type for which subtypes are required.\\nleaf_types list of strings Optional\\nList of leaf types for which subtypes are required.\\nResponse.\\n\\nThis endpoint returns an object.\\nsubtypes list of objects\\nList of subtypes.\\nShow 4 properties\\nAPI Reference customization Custom Stages Create.\\n\\nPOST https:// api.devrev.ai / stages.custom.create\\nCreates a custom", + "title": "Get \u2014 DevRev | Docs" }, { - "id": "ART-16108_KNOWLEDGE_NODE-0", - "text": "b'Airdrop does not allow changing which subtype it syncs work items to. The subtypes that Airdrop creates, are maintained by Airdrop, because they have to reflect the schema they the customer has in the external system (custom fields, field values, stages etc. all have to exactly match the external system schema). To modify the subtype, one should modify the schema in the external system.'", - "title": "Airdrop Work Subtype Schema" + "id": "ART-1787_KNOWLEDGE_NODE-228", + "text": "schemas.subtypes.list\\nLists subtypes.\\nRequest.\\n\\nThis endpoint expects an object.\\nleaf_type string Optional\\nLeaf type for which subtypes are required.\\nleaf_types list of strings Optional\\nList of leaf types for which subtypes are required.\\nResponse.\\n\\nThis endpoint returns an object.\\nsubtypes list of objects\\nList of subtypes.\\nShow 4 properties\\nAPI Reference customization Custom Stages Create.\\n\\nPOST https:// api.devrev.ai / stages.custom.create\\nCreates a custom", + "title": "Get \u2014 DevRev | Docs" }, { - "id": "ART-1614_KNOWLEDGE_NODE-4", - "text": "with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", - "title": "List Schemas Subtypes (POST) | DevRev | Docs" + "id": "ART-1823_KNOWLEDGE_NODE-224", + "text": "schemas.subtypes.list\\nLists subtypes.\\nRequest.\\n\\nThis endpoint expects an object.\\nleaf_type string Optional\\nLeaf type for which subtypes are required.\\nleaf_types list of strings Optional\\nList of leaf types for which subtypes are required.\\nResponse.\\n\\nThis endpoint returns an object.\\nsubtypes list of objects\\nList of subtypes.\\nShow 4 properties\\nAPI Reference customization Custom Stages Create.\\n\\nPOST https:// api.devrev.ai / stages.custom.create\\nCreates a custom", + "title": "Get \u2014 DevRev | Docs" }, { - "id": "ART-1632_KNOWLEDGE_NODE-0", - "text": "b'List Schemas Subtypes | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nBeta\\n\\nBeta\\n\\nBeta\\n\\nSearch\\n\\n`/`\\n\\n[API Reference](/beta/api-reference/accounts/create)[customization](/beta/api-reference/customization/custom-objects-count)\\n\\nList Schemas Subtypes\\n=====================\\n\\nBeta\\n\\nCopy page\\n\\nGET\\n\\nhttps://api.devrev.ai/schemas.subtypes.list\\n\\nGET\\n\\n/schemas.subtypes.list\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl https://api.devrev.ai/schemas.subtypes.list \\\\", - "title": "List Schemas Subtypes | DevRev | Docs" + "id": "ART-1831_KNOWLEDGE_NODE-224", + "text": "schemas.subtypes.list\\nLists subtypes.\\nRequest.\\n\\nThis endpoint expects an object.\\nleaf_type string Optional\\nLeaf type for which subtypes are required.\\nleaf_types list of strings Optional\\nList of leaf types for which subtypes are required.\\nResponse.\\n\\nThis endpoint returns an object.\\nsubtypes list of objects\\nList of subtypes.\\nShow 4 properties\\nAPI Reference customization Custom Stages Create.\\n\\nPOST https:// api.devrev.ai / stages.custom.create\\nCreates a custom", + "title": "Get \u2014 DevRev | Docs" }, { - "id": "ART-15340_KNOWLEDGE_NODE-8", - "text": "\"id\": \"string\", |\\n| 124 | \"file\": { |\\n| 125 | \"type\": \"string\", |\\n| 126 | \"name\": \"string\", |\\n| 127 | \"size\": 1 |\\n| 128 | } |\\n| 129 | }, |\\n| 130 | \"email\": \"string\", |\\n| 131 | \"full_name\": \"string\", |\\n| 132 | \"state\": \"active\" |\\n| 133 | }, |\\n| 134 | \"created_date\": \"2023-01-01T12:00:00.000Z\", |\\n| 135 | \"description\": \"string\", |\\n| 136 | \"display_id\": \"string\", |\\n| 137 | \"leaf_type\": \"string\", |\\n| 138 | \"modified_by\": { |\\n| 139 | \"display_id\": \"string\", |\\n| 140 | \"id\": \"string\",", - "title": "List Schemas Stock | DevRev | Docs" + "id": "ART-1833_KNOWLEDGE_NODE-224", + "text": "schemas.subtypes.list\\nLists subtypes.\\nRequest.\\n\\nThis endpoint expects an object.\\nleaf_type string Optional\\nLeaf type for which subtypes are required.\\nleaf_types list of strings Optional\\nList of leaf types for which subtypes are required.\\nResponse.\\n\\nThis endpoint returns an object.\\nsubtypes list of objects\\nList of subtypes.\\nShow 4 properties\\nAPI Reference customization Custom Stages Create.\\n\\nPOST https:// api.devrev.ai / stages.custom.create\\nCreates a custom", + "title": "Get \u2014 DevRev | Docs" }, { - "id": "ART-1560_KNOWLEDGE_NODE-153", - "text": "List Post.\\n\\nPOST https://api.devrev.ai / schemas.subtypes.list\\n\\nLists subtypes.\\n\\nRequest.\\n\\nThis endpoint expects an object.\\nleaf_type string Optional\\n\\nLeaf type for which subtypes are required.\\n\\nleaf_types list of strings Optional\\n\\nList of leaf types for which subtypes are required.\\n\\nResponse.\\n\\nThis endpoint returns an object.\\nsubtypes list of objects\\n\\nList of subtypes.\\n\\nShow 4 properties\\nAPI Reference customization Custom Stages Create.\\n\\nPOST https://api.devrev.ai /", - "title": "Assign (Beta) \u2014 DevRev | Docs" + "id": "ART-1509_KNOWLEDGE_NODE-226", + "text": "schemas.subtypes.list\\nLists subtypes.\\nRequest.\\n\\nThis endpoint expects an object.\\nleaf_type string Optional\\nLeaf type for which subtypes are required.\\nleaf_types list of strings Optional\\nList of leaf types for which subtypes are required.\\nResponse.\\n\\nThis endpoint returns an object.\\nsubtypes list of objects\\nList of subtypes.\\nShow 4 properties\\nAPI Reference customization Custom Stages Create.\\n\\nPOST https:// api.devrev.ai / stages.custom.create\\nCreates a custom", + "title": "Prepare \u2014 DevRev | Docs" }, { - "id": "ART-1632_KNOWLEDGE_NODE-2", - "text": "`, where token is your auth token.\\n\\n### Query parameters\\n\\nleaf\\\\_typestringOptional`format: \"text\"`Deprecated\\n\\nLeaf type for which subtypes are required.\\n\\nleaf\\\\_typeslist of stringsOptional\\n\\nList of leaf types for which subtypes are required.\\n\\n### Response\\n\\nSuccess.\\n\\nsubtypeslist of objects\\n\\nList of subtypes.\\n\\nShow 4 properties\\n\\n### Errors\\n\\n400\\n\\nBad Request Error\\n\\n401\\n\\nUnauthorized Error\\n\\n403\\n\\nForbidden Error\\n\\n429\\n\\nToo Many Requests", - "title": "List Schemas Subtypes | DevRev | Docs" + "id": "ART-1306_KNOWLEDGE_NODE-229", + "text": "schemas.subtypes.list\\nLists subtypes.\\nRequest.\\n\\nThis endpoint expects an object.\\nleaf_type string Optional\\nLeaf type for which subtypes are required.\\nleaf_types list of strings Optional\\nList of leaf types for which subtypes are required.\\nResponse.\\n\\nThis endpoint returns an object.\\nsubtypes list of objects\\nList of subtypes.\\nShow 4 properties\\nAPI Reference customization Custom Stages Create.\\n\\nPOST https:// api.devrev.ai / stages.custom.create\\nCreates a custom", + "title": "List \u2014 DevRev | Docs" } ] }, @@ -2076,54 +2076,54 @@ "query": "Automatic case classification by product, severity, and category", "retrievals": [ { - "id": "ART-17515_KNOWLEDGE_NODE-25", - "text": "summary: Provides a summary of initial customer emails on tickets.\\n* Spacebar summaries: Offers quick summaries of the **Updates** page, account records, and conversations.\\n* Ticket and issue clustering: Groups similar tickets and issues together for easier management.\\n* AI-generated enhancement descriptions: Creates detailed descriptions for enhancements based on the titles and descriptions of the enhancements and the linked objects.\\n* Request classification: Differentiates between bugs", - "title": "AI use cases in DevRev | Computer by DevRev | DevRev" + "id": "ART-4181_KNOWLEDGE_NODE-4", + "text": "tailor metrics to your requirements\\n\\n![]()\\n\\nTrigger SLAs at the right moment, every time\\n\\nMap conditions to parts of your product, tags, severity levels, or any other relevant criteria on our simple UI\\n\\n![]()\\n\\nTrigger SLAs at the right moment, every time\\n\\nMap conditions to parts of your product, tags, severity levels, or any other relevant criteria on our simple UI\\n\\n![]()\\n\\nSLAs in sync with your business\\n\\nAccount for calendar and business hours, ensuring that your SLAs", + "title": "Support like a lightning fast pit-crew" }, { - "id": "ART-17515_KNOWLEDGE_NODE-12", - "text": "sync](/docs/automations/org-tags-sync)\\n - [Search Node](/docs/automations/search-node)\\n - [Sentiment evaluator](/docs/automations/sentiment-evaluator)\\n - [Subtype Migration](/docs/automations/subtype-migration)\\n - [Real-time sentiment evaluator](/docs/automations/realtime-sentiment-evaluator)\\n - [Send customized emails](/docs/automations/send-emails)\\n - [StageFlow automator](/docs/automations/stageflow-automator)\\n - [Smart issue", - "title": "AI use cases in DevRev | Computer by DevRev | DevRev" + "id": "ART-4181_KNOWLEDGE_NODE-6", + "text": "time and resolution time, or tailor metrics to your requirements\\n\\n![]()\\n\\nTrigger SLAs at the right moment, every time\\n\\nMap conditions to parts of your product, tags, severity levels, or any other relevant criteria on our simple UI\\n\\n![]()\\n\\nTrigger SLAs at the right moment, every time\\n\\nMap conditions to parts of your product, tags, severity levels, or any other relevant criteria on our simple UI\\n\\n![]()\\n\\nSLAs in sync with your business\\n\\nAccount for calendar and business hours,", + "title": "Support like a lightning fast pit-crew" }, { - "id": "ART-17515_KNOWLEDGE_NODE-9", - "text": "[Automate](/docs/automate)\\n\\n - [Account deduplication](/docs/automations/account-deduplication)\\n - [Airtable](/docs/automations/airtable)\\n - [Auto-link DevRev GitHub accounts](/docs/automations/auto-link-github-devrev)\\n - [Automatic customer reply](/docs/automations/auto-reply)\\n - [Auto parts to conversation](/docs/automations/auto-parts)\\n - [Automated part update](/docs/automations/automated-part-update)\\n - [Automate opportunities](/docs/automations/opportunity)\\n", - "title": "AI use cases in DevRev | Computer by DevRev | DevRev" + "id": "ART-4181_KNOWLEDGE_NODE-8", + "text": "metrics such as response time and resolution time, or tailor metrics to your requirements\\n\\n![]()\\n\\nTrigger SLAs at the right moment, every time\\n\\nMap conditions to parts of your product, tags, severity levels, or any other relevant criteria on our simple UI\\n\\n![]()\\n\\nTrigger SLAs at the right moment, every time\\n\\nMap conditions to parts of your product, tags, severity levels, or any other relevant criteria on our simple UI\\n\\n![]()\\n\\nSLAs in sync with your business\\n\\nAccount for", + "title": "Support like a lightning fast pit-crew" }, { - "id": "ART-17515_KNOWLEDGE_NODE-1", - "text": "[Groups](/docs/product/groups)\\n + [Parts & trails](/docs/product/parts)\\n + [Vistas](/docs/product/vistas)\\n\\n - [Vista Reports](/docs/product/vista-reports)\\n - [Board view](/docs/product/board-view)\\n + [Tasks](/docs/product/tasks)\\n + [Updates](/docs/product/updates)\\n + [Customer email notifications](/docs/product/customer-emails)\\n + [Roles](/docs/product/roles)\\n\\n - [Default privileges by group](/docs/product/privs)\\n + [Access control](/docs/product/access-control)\\n +", - "title": "AI use cases in DevRev | Computer by DevRev | DevRev" + "id": "ART-4181_KNOWLEDGE_NODE-2", + "text": "blog](/blog/sla)\\n\\nTrigger SLAs at the right moment, every time\\n\\nMap conditions to parts of your product, tags, severity levels, or any other relevant criteria on our simple UI\\n\\n![]()\\n\\nTrigger SLAs at the right moment, every time\\n\\nMap conditions to parts of your product, tags, severity levels, or any other relevant criteria on our simple UI\\n\\n![]()\\n\\nSLAs in sync with your business\\n\\nAccount for calendar and business hours, ensuring that your SLAs accurately reflect your support", + "title": "Support like a lightning fast pit-crew" }, { - "id": "ART-17515_KNOWLEDGE_NODE-26", - "text": "and feature requests on tickets.\\n* Computer on Plug: Enhances the following functionalities:\\n\\n + Conversation: It deflects customer queries using your knowledge base, providing accurate and relevant responses.\\n + Search: It summarizes your search results, making information retrieval more efficient and user-friendly.\\n* Computer assist: Recommends relevant articles and similar work items.\\n* Slack tickets: Automatically generates titles and descriptions for tickets created from Slack", - "title": "AI use cases in DevRev | Computer by DevRev | DevRev" + "id": "ART-2065_KNOWLEDGE_NODE-24", + "text": "[Changelog](/docs/changelog)\\n[August 2025](/docs/changelog/latest)\\n\\nAugust 2025\\n===========\\n\\n![]()\\n\\n### Agent and Workflow\\n\\n* Begin with templates designed for common use cases such as spam detection, ticket routing, and ticket classification, eliminating the need to start from scratch. Select a template that closely matches your needs and customize it. This approach enables you to launch your automations in minutes rather than starting from zero each time.\\n* Define permissions for", + "title": "August 2025 | Changelog | DevRev" }, { - "id": "ART-17515_KNOWLEDGE_NODE-4", - "text": "analytics](/docs/product/support-analytics)\\n\\n - [Conversation insights](/docs/dashboards/conversation-insights)\\n - [Conversation-SLA Analytics](/docs/dashboards/conversation-sla-analytics)\\n - [Conversation-Team Performance](/docs/dashboards/conversation-team-performance)\\n - [Ticket insights](/docs/dashboards/ticket-insights)\\n - [Ticket-SLA Analytics](/docs/dashboards/ticket-sla-analytics)\\n - [Ticket-Team Performance](/docs/dashboards/ticket-team-performance)\\n +", - "title": "AI use cases in DevRev | Computer by DevRev | DevRev" + "id": "ART-1979_KNOWLEDGE_NODE-29", + "text": "**Severity**: The importance of the ticket. Severity can be set to low, medium, blocker, or high.\\n* **Stage**: The current state of the issue. The stage attribute is used to track the progress of the issue through its lifecycle. For more information on stages, see [stages](#stages).\\n* **Part**: The part of the company or product that the issue is related to. For more information on parts, see [parts](./parts).\\n* **Created by**: The user who created the ticket.\\n* **Created date**: The date", + "title": "Tickets | Computer for Support Teams | DevRev" }, { - "id": "ART-17515_KNOWLEDGE_NODE-10", - "text": "- [Bulk delete data](/docs/automations/bulk-delete)\\n - [Bulk work item uploader](/docs/automations/bulk-upload)\\n - [Commands surface expander](/docs/automations/commands-surface-expander)\\n - [Convergence](/docs/automations/converge)\\n - [Conversation reminder](/docs/automations/conversation-reminder)\\n - [CSAT on conversation](/docs/automations/csat-conv)\\n - [CSAT on ticket](/docs/automations/csat-tickets)\\n - [CSV work item", - "title": "AI use cases in DevRev | Computer by DevRev | DevRev" + "id": "ART-1027_KNOWLEDGE_NODE-4", + "text": "could:\\n\\n* Scale support without growing headcount\\n* Centralize all customer interactions\\n* Bridge the gap between support and product teams\\n* Empower users through self-service and automation\\n* Improve SLA management to focus on the right priorities faster\\n* Enhance ticket triaging and severity assessment through intelligent workflows\\n\\nThe solution: A unified platform for product-led support\\n--------------------------------------------------------\\n\\nDescope adopted DevRev as a", + "title": "Descope streamlines support at scale with automation, AI, and unified collaboration" }, { - "id": "ART-17515_KNOWLEDGE_NODE-13", - "text": "creator](/docs/automations/smart-issue-creator)\\n - [Set user preference for group](/docs/automations/set-user-preference)\\n - [SLA status change Slack notifier](/docs/automations/sla-change-notifier)\\n - [Slash commands](/docs/automations/slash-commands)\\n - [Spam Shield](/docs/automations/spam-shield)\\n - [Subtype Migration](/docs/automations/subtype-migration)\\n - [Ticket age in engineering](/docs/automations/ticket-age-in-engineering)\\n - [Ticket issue field", - "title": "AI use cases in DevRev | Computer by DevRev | DevRev" + "id": "ART-1959_KNOWLEDGE_NODE-29", + "text": "in:title crm |\\n| - | Acts as an exclusion in search results. \"-\" can be used for the same purpose. | type:issue -crm type:issue in:title -crm |\\n| state | Filters results based on the stage: open, closed, or in\\\\_progress. | state:open state:closed state:in\\\\_progress |\\n| severity | Filters out tickets with the desired severity level. Supports: blocker, high, medium, low. | severity:high type:ticket -severity:low (filters all tickets excluding the ones with low severity)", + "title": "Search | Computer by DevRev | DevRev" }, { - "id": "ART-17515_KNOWLEDGE_NODE-15", - "text": "[Operational SLA Metrics](/docs/automations/operational-sla-metrics)\\n - [Custom field migration](/docs/automations/custom-field-migration)\\n - [Slack scraper](/docs/automations/slack-scraper)\\n - [Slack Broadcaster](/docs/automations/slack-broadcaster)\\n - [Reported by enricher](/docs/automations/ticket-reported-by)\\n - [Ticket approval workflow](/docs/automations/ticket-approval-workflow)\\n - [Ticket linked issues comment", + "id": "ART-17515_KNOWLEDGE_NODE-0", + "text": "b'AI use cases in DevRev | Computer by DevRev | DevRev\\n\\n* Computer\\n* Resources\\n* [Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nComputer\\n\\nResources\\n\\n[Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nSearch\\n\\n`CMD`\\xc2\\xa0+\\xc2\\xa0`K`\\n\\n* [Introduction](/docs)\\n* [Computer by DevRev](/docs/intro)\\n\\n + [Core concepts](/docs/product/core)\\n + [Apps](/docs/product/apps)\\n +", "title": "AI use cases in DevRev | Computer by DevRev | DevRev" }, { - "id": "ART-17515_KNOWLEDGE_NODE-24", - "text": "[Product demos](/docs/DevRevU/demos)\\n\\n1. [Documentation](/docs)\\n3. [Computer by DevRev](/docs/intro)\\n[AI use cases in DevRev](/docs/product/ai-use-cases)\\n\\nAI use cases in DevRev\\n======================\\n\\nAs an AI-native platform, Computer by DevRev leverages AI to provide value to customer support and product development staff. The following are some of the uses of AI in Computer.\\n\\n* Summary slash command: Generates summaries for internal and external discussions.\\n* Customer email", - "title": "AI use cases in DevRev | Computer by DevRev | DevRev" + "id": "ART-1989_KNOWLEDGE_NODE-37", + "text": "follow a common structure for easy categorization and search. If you have common themes or categories, the exact convention is up to you to standardize for your teams.\\n\\n One possible convention is Category-Subcategory-Specific command subject. For example:\\n\\n + Rerouting-Reroute to payments-Refund\\n + Rerouting-Reroute to payments-Payment failure\\n + Rerouting-Reroute to Sales\\n\\n[PreviousBest practices for documentation that supports AI](/docs/product/writing-bp)[NextService-level", + "title": "Commands | Computer for Support Teams | DevRev" } ] }, @@ -2132,54 +2132,54 @@ "query": "enable Generative AI for Knowledge Base creation", "retrievals": [ { - "id": "ART-13178_KNOWLEDGE_NODE-9", - "text": "articles, designs graphics, and generates code. It focuses on content creation based on prompts. According to [IBM research](https://www.ibm.com/think/topics/generative-ai-use-cases), 65% of enterprises now use generative AI for creation tasks like these.\\n\\nAgentic AI operates differently. It doesn\\xe2\\x80\\x99t just create \\xe2\\x80\\x93 it decides and acts. When your customer reports an issue, generative AI might draft a response to customer service inquiries, while agentic AI will investigate", - "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + "id": "ART-1980_KNOWLEDGE_NODE-28", + "text": "directly click on a collection and find related articles. This streamlined access helps customers resolve issues or gain more information about the company's products and services more effectively.\\n\\nDevRev\\xe2\\x80\\x99s knowledge base is complemented by an AI-enabled search option, allowing customers to type in their queries. The AI analyzes all information within the knowledge base to provide the most relevant information to the customer.\\n\\nKnowledge base articles in DevRev can be accessed", + "title": "Knowledge Base | Computer for Support Teams | DevRev" }, { - "id": "ART-13178_KNOWLEDGE_NODE-12", - "text": "prompts | Predetermined logic paths only \\nImplementation examples | Self-directing customer journey managers, workflow orchestrators | Marketing copy generators, design assistants | Scheduled report generators, form processors \\nSystem connections | Operates across enterprise architecture | Generally functions as specialized tools | Isolated within specific applications \\nStrategic advantage | Full transformation of knowledge work processes | Enhanced productivity for content creation |", - "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + "id": "ART-1035_KNOWLEDGE_NODE-8", + "text": "Benefits\\n------------\\n\\n* Ability to push Slack threads directly into tickets using DevRev integration DevRev PLuG widget as a live help chat, replacing multiple tools\\n* DevRev Marketplace for snap-ins to push meeting action items and summaries into DevRev directly as ticket\\n* Use of [generative AI in customer support](/blog/generative-ai-for-customer-support) for tracking and building intelligence in knowledge base\\x08\\n* Improved customer experience due to increased efficiency and", + "title": "Goodmeetings uses PLuG to reduce ticket resolution time" }, { - "id": "ART-738_KNOWLEDGE_NODE-2", - "text": "they have. For example, both Chat GPT 3.5 and 4.0 were trained on the publicly available internet data as of September 2021, but they lack context about the current state. AutoGPT and others will help with this giving it the ability \\xe2\\x80\\x9cfetch\\xe2\\x80\\x9d additional context it may be lacking, however\\xe2\\x80\\xa6\\n\\n\\n That\\xe2\\x80\\x99s not the key, the key is in the data that you have that the models don\\xe2\\x80\\x99t have access to.\\n\\n\\n\\n\\nDevRev: built atop a badass knowledge", - "title": "DevRev | Built for AI (not by AI... yet)" + "id": "ART-1984_KNOWLEDGE_NODE-25", + "text": "supports AI\\n=================================================\\n\\nComputer works best when articles and QnAs in the knowledge base adhere to certain guidelines. The old computing adage of \\xe2\\x80\\x9cgarbage in, garbage out\\xe2\\x80\\x9d applies to AI as much as to earlier technologies. Most of these guidelines are typical for professional/technical writing, especially content that has requirements for accessibility and localization.\\n\\nTo enable searching through the knowledge base, Computer", + "title": "Best practices for documentation that supports AI | Turing AI agent | Computer for Support Teams | DevRev" }, { - "id": "ART-13178_KNOWLEDGE_NODE-8", - "text": "intelligence system can track customer responses to support solutions, identify which approaches resolve issues fastest, and refine its methods accordingly.\\n\\n## Agentic AI vs generative AI\\n\\nGenerative AI creates content while agentic AI performs actions. This fundamental difference determines how each technology delivers business value through their distinct capabilities, applications, and limitations.\\n\\nYou\\xe2\\x80\\x99ve witnessed generative AI\\xe2\\x80\\x99s creative abilities. It writes", - "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + "id": "ART-1980_KNOWLEDGE_NODE-25", + "text": "knowledge base helps customers independently solve issues and assists employees in determining solutions to customer queries they\\xe2\\x80\\x99re resolving.\\n\\nThe articles can be created from scratch in DevRev, or they can be hosted on your own domain. Additionally, you can scrape articles from a previous database and import them into DevRev with the assistance of our support engineers.\\n\\nThere are multiple benefits to a knowledge base that can be accessed directly and through AI:\\n\\n*", + "title": "Knowledge Base | Computer for Support Teams | DevRev" }, { - "id": "ART-970_KNOWLEDGE_NODE-67", - "text": "context, yet\\xe2\\x80\\xa6\\n\\n\\n That\\xe2\\x80\\x99s not the key, the key is in the data that you have that the models don\\xe2\\x80\\x99t have access to.\\n\\n\\nThe greater the context you can furnish through embeddings or fine-tuning, the more powerful AI becomes in your hands.\\n\\nThe Significance of Knowledge Graphs \\n\\nKnowledge graphs stand as invaluable tools that facilitate the organization and association of items based on various dimensions. Their utility extends beyond merely establishing", - "title": "The Story" + "id": "ART-4170_KNOWLEDGE_NODE-9", + "text": "Baldwa](/blog/explore-article-creation-and-analytics-dashboard)[![]()\\n\\n7 min read10 step guide to preparing your knowledge base for Gen AI search\\n\\nRhea Jain](/blog/guide-to-preparing-your-knowledge-base-for-ai-search)\\n\\n[![]()](/the-essential-methodology-whitepaper)\\n\\n[Dheeraj Pandey12 min read\\n\\n### Essential Methodology\\n\\n### Whitepaper for free\\n\\n\\xe2\\x9e\\xa4 The latest thinking on AI agents and platform](/the-essential-methodology-whitepaper)\\n\\n[Download", + "title": "DevRev | Blog" }, { - "id": "ART-974_KNOWLEDGE_NODE-17", - "text": "tasks. For instance, AI-powered models can access and process vast amounts of information from the internet to answer queries, potentially rendering traditional search methods obsolete.\\n\\nFurthermore, AI\\xe2\\x80\\x99s influence extends to content creation, with AI-generated content becoming increasingly prevalent. This shift has the potential to alter the value of content, especially as AI could replace traditional search engines that index generated content. Businesses may need to adapt their", - "title": "Part I: Genesis" + "id": "ART-1985_KNOWLEDGE_NODE-28", + "text": "independently rather than relying on ticketing or speaking to agents.\\n\\nUsers with edit rights can create new articles and modify existing ones.\\n\\nArticle management\\n------------------\\n\\n### Create an article\\n\\nTo create a new article, do the following:\\n\\n1. Go to [**Settings** > **Support** > **Knowledge Base**](https://app.devrev.ai/?setting=knowledge-base%2Farticles) and click **+Article**. Give the article a title and description.\\n2. Select one of the following options:\\n\\n * Write", + "title": "Articles | Knowledge Base | Computer for Support Teams | DevRev" }, { - "id": "ART-13178_KNOWLEDGE_NODE-13", - "text": "Cost efficiency for repetitive activities \\n \\nGenerative AI excels at content-focused tasks. Agentic AI transforms process-oriented workflows.\\n\\n## What is the core framework of agentic AI?\\n\\nThe agentic AI framework consists of five interconnected components: perception, reasoning, action, learning, and collaboration. This structure enables autonomous agents to process information, make decisions, implement solutions, improve over time, and work alongside humans and other systems.\\n\\nYou", - "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + "id": "ART-1985_KNOWLEDGE_NODE-44", + "text": "Base**](https://app.devrev.ai/?setting=knowledge-base%2Farticles)** and select **View Templates**.\\n2. Select a template and click **Use Template**.\\n\\n### Edit a template\\n\\n1. Go to [**Settings** > **Customization** > **Templates**](https://app.devrev.ai/?setting=record-template).\\n2. Locate the template and click the **3-dot menu** under the **Action** column.\\n3. Click **Edit**, make your changes, and click **Publish**.\\n\\nContent blocks\\n--------------\\n\\nContent blocks let you create", + "title": "Articles | Knowledge Base | Computer for Support Teams | DevRev" }, { - "id": "ART-974_KNOWLEDGE_NODE-2", - "text": "ourselves in the genesis of the AI revolution, a technological marvel that has reshaped our world. Large language models and generative transformers have ushered in a paradigm shift in our interactions with technology and information, challenging conventional search methods and unlocking new realms of creative potential.\\n\\nEvolution\\n\\n\\n\\n\\n \\xe2\\x80\\x9cIt is not the strongest of the species that survive, nor the most intelligent, but the one most responsive to change.\\xe2\\x80\\x9d - Charles", - "title": "Part I: Genesis" + "id": "ART-13178_KNOWLEDGE_NODE-9", + "text": "articles, designs graphics, and generates code. It focuses on content creation based on prompts. According to [IBM research](https://www.ibm.com/think/topics/generative-ai-use-cases), 65% of enterprises now use generative AI for creation tasks like these.\\n\\nAgentic AI operates differently. It doesn\\xe2\\x80\\x99t just create \\xe2\\x80\\x93 it decides and acts. When your customer reports an issue, generative AI might draft a response to customer service inquiries, while agentic AI will investigate", + "title": "Understanding Agentic AI: Capabilities and Implications for the Future" }, { - "id": "ART-13178_KNOWLEDGE_NODE-21", - "text": "**Prompt:** This defines the system\\xe2\\x80\\x99s operation blueprint, outlining specific goals and constraints. Think of it as the master plan guiding each agent. For complex systems, responsibilities are distributed across multiple AI agents to maintain simplicity and effectiveness.\\n * **Knowledge:** This serves as the agent\\xe2\\x80\\x99s knowledge repository, storing experiences and context. Like humans rely on past experiences, LLM agents use memory to understand situations and make", - "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + "id": "ART-2012_KNOWLEDGE_NODE-5", + "text": "answers](/docs/product/qa?)\\n * [Knowledge Base](/docs/product/knowledge-base?)\\n\\n * [Articles](/docs/product/articles?)\\n * [Collections](/docs/product/collection?)\\n\\n * [Turing AI agent](/docs/product/conversational-bot?)\\n\\n * [Best practices for documentation that supports AI](/docs/product/writing-bp?)\\n\\n * [Commands](/docs/product/commands?)\\n * [Service-level agreement](/docs/product/sla?)\\n * [Operational-level agreement](/docs/product/ola?)\\n *", + "title": "Follow-up ticket | Automate | Snap-ins | DevRev" }, { - "id": "ART-974_KNOWLEDGE_NODE-18", - "text": "content strategies to influence AI models and shape the information presented to users.\\n\\nLastly, AI has also impacted creativity, offering tools that change the way people envision, design, and iterate. These innovations empower individuals to create complex and detailed content independently. In fact, Midjourney was used to generate a great deal of the abstract images used throughout this book.\\n\\nWe have transitioned from a phase where AI was associated with apocalyptic scenarios to an era", - "title": "Part I: Genesis" + "id": "ART-1982_KNOWLEDGE_NODE-6", + "text": "+ [Turing AI agent](/docs/product/conversational-bot)\\n\\n - [Best practices for documentation that supports AI](/docs/product/writing-bp)\\n + [Commands](/docs/product/commands)\\n + [Service-level agreement](/docs/product/sla)\\n + [Operational-level agreement](/docs/product/ola)\\n + [Support snap-ins](/docs/product/snapins-support)\\n* [Computer for Builders](/docs/product/build)\\n\\n + [Issues](/docs/product/issues)\\n + [Now, Next, Later](/docs/product/nnl)\\n + [Sprint", + "title": "Collections | Knowledge Base | Computer for Support Teams | DevRev" } ] }, @@ -2188,54 +2188,54 @@ "query": "Resource Center downloads tutorials API documentation", "retrievals": [ { - "id": "ART-1353_KNOWLEDGE_NODE-2", - "text": "[tutorial](/api-reference/getting-started) shows you how to access the APIs.\\n\\n\\xf0\\x9f\\xa7\\xac Methods\\n---------\\n\\nSpecifications covering the supported APIs are based on OpenAPI Specification 3.0. You can download the specs to use an OpenAPI 3.0-compliant tool to perform a variety of actions, including rendering them in UI and generating SDKs. Two [versions](/about/versioning) of the DevRev API are available: [public](/public) and [beta](/beta) (early access). Use the drop-down menu in the", - "title": "For Developers | DevRev | Docs" + "id": "ART-17213_KNOWLEDGE_NODE-3", + "text": "system\\n---------------\\n\\nBefore starting the development of a snap-in for integration with an external system API,\\nconsider gathering the following information:\\n\\n* **API documentation**: Obtain the official API documentation of the external system.\\n This is the primary source of information about how to connect and interact with the system.\\n* **Authentication and authorization**: Understand the authentication and authorization\\n methods required. This may include API keys, OAuth", + "title": "Getting started | DevRev | Docs" }, { - "id": "ART-3892_KNOWLEDGE_NODE-4", - "text": "* [Blog](https://devrev.ai/blog)\\n * [Events](https://devrev.ai/events)\\n * [News](https://devrev.ai/blog?category=news)\\n * [Case Studies](https://devrev.ai/case-study)\\n * [Documentation](https://docs.devrev.ai/)\\n * [API Reference](https://docs.devrev.ai/api/)\\n * [The Book of DevRev](https://thebook.devrev.ai/)\\n * [Partner Program](https://devrev.ai/partners)\\n * [Startup Program](https://devrev.ai/startups)\\n\\nCompany\\n\\n * [About](https://devrev.ai/about)\\n *", - "title": "API Changelog \u2014 DevRev | Docs" + "id": "ART-2662_KNOWLEDGE_NODE-27", + "text": "[DevRevU training](/docs/DevRevU)\\n* [Documentation](https://docs.devrev.ai/)\\n* [API References](https://docs.devrev.ai/api/)\\n\\nCompany\\n\\n* [About](/about)\\n* [Events](/events)\\n* [Careers](/careers)\\n* [What Why How](/what-why-how)\\n\\nInitiatives\\n\\n* [Partner Program](/partners)\\n* [Startups Program](/startups)\\n* [Gr.ai.ce](/graice)\\n\\n* [Security](https://security.devrev.ai/)\\n* [SLA](/legal/sla)\\n* [DPA](/legal/dpa)\\n* [Subprocessors](/security/sub-processors)\\n* [Cookie", + "title": "DevRev Documentation" }, { - "id": "ART-3194_KNOWLEDGE_NODE-6", - "text": "[Documentation](https://docs.devrev.ai/)\\n * [API Reference](https://docs.devrev.ai/api/)\\n * [The Book of DevRev](https://thebook.devrev.ai/)\\n * [Partner Program](https://devrev.ai/partners)\\n * [Startup Program](https://devrev.ai/startups)\\n\\nCompany\\n\\n * [About](https://devrev.ai/about)\\n * [People](https://devrev.ai/people)\\n * [Careers](https://devrev.ai/careers)\\n * [Places](https://devrev.ai/places)\\n * [Invest](https://revd.devrev.ai/)\\n * [What Why", - "title": "API Changelog \u2014 DevRev | Docs" + "id": "ART-1213_KNOWLEDGE_NODE-0", + "text": "b'Get Rev Org | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nPublic\\n\\nPublic\\n\\nSearch\\n\\n`/`\\n\\n[API Reference](/api-reference/getting-started)[rev-orgs](/api-reference/rev-orgs/workspaces)\\n\\nGet Rev Org\\n===========\\n\\nCopy page\\n\\nGET\\n\\nhttps://api.devrev.ai/rev-orgs.get\\n\\nGET\\n\\n/rev-orgs.get\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl https://api.devrev.ai/rev-orgs.get \\\\ |\\n| > | -H \"Authorization: Bearer \" |\\n```\\n\\n[Try", + "title": "Get Rev Org | DevRev | Docs" }, { - "id": "ART-3193_KNOWLEDGE_NODE-6", - "text": "[Documentation](https://docs.devrev.ai/)\\n * [API Reference](https://docs.devrev.ai/api/)\\n * [The Book of DevRev](https://thebook.devrev.ai/)\\n * [Partner Program](https://devrev.ai/partners)\\n * [Startup Program](https://devrev.ai/startups)\\n\\nCompany\\n\\n * [About](https://devrev.ai/about)\\n * [People](https://devrev.ai/people)\\n * [Careers](https://devrev.ai/careers)\\n * [Places](https://devrev.ai/places)\\n * [Invest](https://revd.devrev.ai/)\\n * [What Why", - "title": "API Changes \u2014 DevRev | Docs" + "id": "ART-1174_KNOWLEDGE_NODE-5", + "text": "resource\\xe2\\x80\\x99s ID has changed, where the `Location` response header contains the updated ID. |\\n| `404` | `Not Found` | The target object or requested resource doesn\\xe2\\x80\\x99t exist. |\\n| `409` | `Conflict` | The attempted object creation conflicted with an existing object, for example, a group with the same name already exists. |\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/about/rate-limits)[#### Getting started\\n\\nNext](/api-reference/getting-started)[Built", + "title": "Errors | DevRev | Docs" }, { - "id": "ART-1366_KNOWLEDGE_NODE-3", - "text": "covering the supported APIs are based on OpenAPI Specification 3.0. You can download the specs to use an OpenAPI 3.0-compliant tool to perform a variety of actions, including rendering them in UI and generating SDKs. Two [versions](/public/about/versioning) of the DevRev API are available: [public](/public) and [beta](/beta) (early access). Use the drop-down menu in the upper-left corner of this site to switch between versions.\\n\\nTo take action based on events from the DevRev platform,", - "title": "For Developers \u2014 DevRev | Docs" + "id": "ART-4066_KNOWLEDGE_NODE-0", + "text": "b'[](/public/api-reference/articles/get-article)\\n\\nPublic\\n\\n[](https://devrev.ai)\\n\\n * Product\\n * Platform\\n * Solutions\\n * Marketplace\\n * Company\\n * Resources\\n * [Pricing](https://devrev.ai/pricing)\\n\\n __\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[](https://devrev.ai)\\n\\n __\\n\\nProduct __\\n\\nPlatform __\\n\\nSolutions __\\n\\nMarketplace __\\n\\nCompany __\\n\\nResources", + "title": "Get Article \u2014 DevRev | Docs" }, { - "id": "ART-1175_KNOWLEDGE_NODE-0", - "text": "b'Getting started | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nPublic\\n\\nPublic\\n\\nSearch\\n\\n`/`\\n\\nOn this page\\n\\n* [Prerequisites](/api-reference/getting-started#prerequisites)\\n* [Send your first API request](/api-reference/getting-started#send-your-first-api-request)\\n* [Making a GET request](/api-reference/getting-started#making-a-get-request)\\n* [Next steps](/api-reference/getting-started#next-steps)\\n\\n[API Reference](/api-reference/getting-started)\\n\\nGetting", - "title": "Getting started | DevRev | Docs" + "id": "ART-1582_KNOWLEDGE_NODE-0", + "text": "b'Get Question Answer | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nBeta\\n\\nBeta\\n\\nBeta\\n\\nSearch\\n\\n`/`\\n\\n[API Reference](/beta/api-reference/accounts/create)[question-answers](/beta/api-reference/question-answers/create-question-answer)\\n\\nGet Question Answer\\n===================\\n\\nBeta\\n\\nCopy page\\n\\nGET\\n\\nhttps://api.devrev.ai/question-answers.get\\n\\nGET\\n\\n/question-answers.get\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl -G https://api.devrev.ai/question-answers.get", + "title": "Get Question Answer | DevRev | Docs" }, { - "id": "ART-4229_KNOWLEDGE_NODE-4", - "text": "[Events](https://devrev.ai/events)\\n * [News](https://devrev.ai/blog?category=news)\\n * [Case Studies](https://devrev.ai/case-study)\\n * [Documentation](https://docs.devrev.ai/)\\n * [API Reference](https://docs.devrev.ai/api/)\\n * [The Book of DevRev](https://thebook.devrev.ai/)\\n * [Partner Program](https://devrev.ai/partners)\\n * [Startup Program](https://devrev.ai/startups)\\n\\nCompany\\n\\n * [About](https://devrev.ai/about)\\n * [People](https://devrev.ai/people)\\n *", - "title": "API Changelog \u2014 DevRev | Docs" + "id": "ART-4073_KNOWLEDGE_NODE-0", + "text": "b'[](/public/api-reference/conversations/get)\\n\\nPublic\\n\\n[](https://devrev.ai)\\n\\n * Product\\n * Platform\\n * Solutions\\n * Marketplace\\n * Company\\n * Resources\\n * [Pricing](https://devrev.ai/pricing)\\n\\n __\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[](https://devrev.ai)\\n\\n __\\n\\nProduct __\\n\\nPlatform __\\n\\nSolutions __\\n\\nMarketplace __\\n\\nCompany __\\n\\nResources", + "title": "Get Conversation \u2014 DevRev | Docs" }, { - "id": "ART-1980_KNOWLEDGE_NODE-29", - "text": "by customers through the Plug widget and customer portal.\\n\\nIn the Plug widget, articles are available in two places: the search bar and the Help section.\\n\\n**Search bar**\\n\\n![]()\\n\\n**Help section**\\n\\n![]()\\n\\nUsers can also view articles grouped into collections by visiting your help center hosted on your website. The visibility of collections and articles depends on the **Visible to** settings configured.\\n\\n[### Articles](/docs/product/articles)[###", - "title": "Knowledge Base | Computer for Support Teams | DevRev" + "id": "ART-1470_KNOWLEDGE_NODE-2", + "text": "* [Create a snap-in package](/public/snapin-development/tutorials/getting-started#create-a-snap-in-package)\\n * [Create a snap-in version](/public/snapin-development/tutorials/getting-started#create-a-snap-in-version)\\n * [Install a snap-in from a snap-in version](/public/snapin-development/tutorials/getting-started#install-a-snap-in-from-a-snap-in-version)\\n * [Configure the snap-in](/public/snapin-development/tutorials/getting-started#configure-the-snap-in)\\n * [Deploy the", + "title": "Getting started \u2014 DevRev | Docs" }, { - "id": "ART-3194_KNOWLEDGE_NODE-10", - "text": "demo](https://devrev.ai/request-a-demo)\\n\\n[](https://devrev.ai)\\n\\n __\\n\\nProduct __\\n\\nPlatform __\\n\\nSolutions __\\n\\nMarketplace __\\n\\nCompany __\\n\\nResources __\\n\\n[Pricing](https://devrev.ai/pricing)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n'", - "title": "API Changelog \u2014 DevRev | Docs" + "id": "ART-1584_KNOWLEDGE_NODE-0", + "text": "b'List Question Answers | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nBeta\\n\\nBeta\\n\\nBeta\\n\\nSearch\\n\\n`/`\\n\\n[API Reference](/beta/api-reference/accounts/create)[question-answers](/beta/api-reference/question-answers/create-question-answer)\\n\\nList Question Answers\\n=====================\\n\\nBeta\\n\\nCopy page\\n\\nGET\\n\\nhttps://api.devrev.ai/question-answers.list\\n\\nGET\\n\\n/question-answers.list\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl", + "title": "List Question Answers | DevRev | Docs" }, { - "id": "ART-4980_KNOWLEDGE_NODE-7", - "text": "demo](https://devrev.ai/request-a-demo)\\n\\n[](https://devrev.ai)\\n\\n __\\n\\nProduct __\\n\\nPlatform __\\n\\nSolutions __\\n\\nMarketplace __\\n\\nCompany __\\n\\nResources __\\n\\n[Pricing](https://devrev.ai/pricing)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n'", - "title": "API Changelog \u2014 DevRev | Docs" + "id": "ART-1978_KNOWLEDGE_NODE-0", + "text": "b\"Customer portal | Computer for Support Teams | DevRev\\n\\n* Computer\\n* Resources\\n* [Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nComputer\\n\\nResources\\n\\n[Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nSearch\\n\\n`CTRL`\\xc2\\xa0+\\xc2\\xa0`K`\\n\\n* [Introduction](/docs)\\n* [Computer by DevRev](/docs/intro)\\n\\n + [Core concepts](/docs/product/core)\\n + [Apps](/docs/product/apps)\\n +", + "title": "Customer portal | Computer for Support Teams | DevRev" } ] }, @@ -2244,54 +2244,54 @@ "query": "automations to fill repeated fields", "retrievals": [ { - "id": "ART-2016_KNOWLEDGE_NODE-9", - "text": "deduplication](/docs/automations/account-deduplication)\\n - [Airtable](/docs/automations/airtable)\\n - [Auto-link DevRev GitHub accounts](/docs/automations/auto-link-github-devrev)\\n - [Automatic customer reply](/docs/automations/auto-reply)\\n - [Auto parts to conversation](/docs/automations/auto-parts)\\n - [Automated part update](/docs/automations/automated-part-update)\\n - [Automate opportunities](/docs/automations/opportunity)\\n - [Bulk delete", - "title": "StageFlow automator | Automate | Snap-ins | DevRev" - }, - { - "id": "ART-2858_KNOWLEDGE_NODE-9", - "text": "deduplication](/docs/automations/account-deduplication)\\n - [Airtable](/docs/automations/airtable)\\n - [Auto-link DevRev GitHub accounts](/docs/automations/auto-link-github-devrev)\\n - [Automatic customer reply](/docs/automations/auto-reply)\\n - [Auto parts to conversation](/docs/automations/auto-parts)\\n - [Automated part update](/docs/automations/automated-part-update)\\n - [Automate opportunities](/docs/automations/opportunity)\\n - [Bulk delete", + "id": "ART-2858_KNOWLEDGE_NODE-25", + "text": "while managing state through cursors for reliable execution.\\n\\nInstallation\\n------------\\n\\n1. Open the DevRev marketplace and install the **Custom Field Migration** snap-in.\\n2. Select the workspace where you want to install the snap-in, confirm your selection, and click **Deploy snap-in**.\\n\\nConfiguration\\n-------------\\n\\n1. Go to **Snap-ins** > **Custom Field Migration** > **Configure**.\\n2. Fill the configuration for the object and fields.\\n\\n ![]()\\n\\n If you enable the **Unset", "title": "Custom field migration | Automate | Snap-ins | DevRev" }, { - "id": "ART-2016_KNOWLEDGE_NODE-15", - "text": "[Custom field migration](/docs/automations/custom-field-migration)\\n - [Slack scraper](/docs/automations/slack-scraper)\\n - [Slack Broadcaster](/docs/automations/slack-broadcaster)\\n - [Reported by enricher](/docs/automations/ticket-reported-by)\\n - [Ticket approval workflow](/docs/automations/ticket-approval-workflow)\\n - [Ticket linked issues comment sync](/docs/automations/ticket-linked-issues-comment-sync)\\n - [Slack message agent](/docs/automations/slack-message-agent)\\n", - "title": "StageFlow automator | Automate | Snap-ins | DevRev" - }, - { - "id": "ART-2016_KNOWLEDGE_NODE-10", - "text": "data](/docs/automations/bulk-delete)\\n - [Bulk work item uploader](/docs/automations/bulk-upload)\\n - [Commands surface expander](/docs/automations/commands-surface-expander)\\n - [Convergence](/docs/automations/converge)\\n - [Conversation reminder](/docs/automations/conversation-reminder)\\n - [CSAT on conversation](/docs/automations/csat-conv)\\n - [CSAT on ticket](/docs/automations/csat-tickets)\\n - [CSV work item uploader](/docs/automations/csv-work-item-uploader)\\n -", - "title": "StageFlow automator | Automate | Snap-ins | DevRev" + "id": "ART-2039_KNOWLEDGE_NODE-25", + "text": "create DevRev tickets from Marker.io issues, you can configure the\\nsnap-in to use this email to auto-fill the **Reported By** and **Customer\\nWorkspace** fields in tickets. If no contact or accounts match the email, they\\nare automatically created.\\n\\nInstalling the Marker.io integration snap-in\\n--------------------------------------------\\n\\n1. Install the [Marker.io](/marketplace/marker-io) from the\\n DevRev Marketplace.\\n2. Configure the snap-in as needed.\\n\\n * (Optional) Select the", + "title": "Marker.io | Integrate | Snap-ins | DevRev" }, { - "id": "ART-2006_KNOWLEDGE_NODE-10", - "text": "data](/docs/automations/bulk-delete)\\n - [Bulk work item uploader](/docs/automations/bulk-upload)\\n - [Commands surface expander](/docs/automations/commands-surface-expander)\\n - [Convergence](/docs/automations/converge)\\n - [Conversation reminder](/docs/automations/conversation-reminder)\\n - [CSAT on conversation](/docs/automations/csat-conv)\\n - [CSAT on ticket](/docs/automations/csat-tickets)\\n - [CSV work item uploader](/docs/automations/csv-work-item-uploader)\\n -", - "title": "Automatic customer reply | Automate | Snap-ins | DevRev" + "id": "ART-2007_KNOWLEDGE_NODE-26", + "text": "marketplace, find **Automate opportunities** and click **Install**.\\n\\nConfiguration\\n-------------\\n\\n1. To configure the snap-in, type /AutomateOpportunityConfig in the **Discussions** tab of the snap-in.\\n\\n![]()\\n\\n1. Fill the required fields and click **Submit**.\\n\\n[PreviousAutomated part update](/docs/automations/automated-part-update)[NextBulk delete data](/docs/automations/bulk-delete)\\n\\n#### On this page\\n\\n* [Installation](#installation)\\n*", + "title": "Automate opportunities | Automate | Snap-ins | DevRev" }, { - "id": "ART-2006_KNOWLEDGE_NODE-15", - "text": "[Custom field migration](/docs/automations/custom-field-migration)\\n - [Slack scraper](/docs/automations/slack-scraper)\\n - [Slack Broadcaster](/docs/automations/slack-broadcaster)\\n - [Reported by enricher](/docs/automations/ticket-reported-by)\\n - [Ticket approval workflow](/docs/automations/ticket-approval-workflow)\\n - [Ticket linked issues comment sync](/docs/automations/ticket-linked-issues-comment-sync)\\n - [Slack message agent](/docs/automations/slack-message-agent)\\n", - "title": "Automatic customer reply | Automate | Snap-ins | DevRev" + "id": "ART-2007_KNOWLEDGE_NODE-24", + "text": "[Snap-ins](/docs/snapins)\\n[Automate](/docs/automate)\\n[Automate opportunities](/docs/automations/opportunity)\\n\\nAutomate opportunities\\n======================\\n\\nAutomate opportunities snap-in helps you automate the following features on opportunities to eliminate updating the fields manually and to enhance data consistency:\\n\\n* Auto-fills the forecast categories on the opportunities based on status updates. Enable this feature to keep the **Forecast Category** field on opportunities updated", + "title": "Automate opportunities | Automate | Snap-ins | DevRev" }, { - "id": "ART-2858_KNOWLEDGE_NODE-10", - "text": "data](/docs/automations/bulk-delete)\\n - [Bulk work item uploader](/docs/automations/bulk-upload)\\n - [Commands surface expander](/docs/automations/commands-surface-expander)\\n - [Convergence](/docs/automations/converge)\\n - [Conversation reminder](/docs/automations/conversation-reminder)\\n - [CSAT on conversation](/docs/automations/csat-conv)\\n - [CSAT on ticket](/docs/automations/csat-tickets)\\n - [CSV work item uploader](/docs/automations/csv-work-item-uploader)\\n -", - "title": "Custom field migration | Automate | Snap-ins | DevRev" + "id": "ART-1983_KNOWLEDGE_NODE-27", + "text": "**Q&As** and click **+ QA** in the top-right corner.\\n2. Fill in the **Question** and **Answer** fields, and select the relevant **Part**.\\n3. Set the appropriate **Status** and **Access level**. Set the status to *External* or *Public* if you want Computer to use it.\\n4. Confirm by clicking **Create**.\\n\\n![]()\\n\\nAutomatic creation\\n------------------\\n\\nYour customer conversations include a lot of knowledge, including some of the most accurate and current information. With the automated", + "title": "Questions & answers | Computer for Support Teams | DevRev" }, { - "id": "ART-2010_KNOWLEDGE_NODE-9", - "text": "deduplication](/docs/automations/account-deduplication)\\n - [Airtable](/docs/automations/airtable)\\n - [Auto-link DevRev GitHub accounts](/docs/automations/auto-link-github-devrev)\\n - [Automatic customer reply](/docs/automations/auto-reply)\\n - [Auto parts to conversation](/docs/automations/auto-parts)\\n - [Automated part update](/docs/automations/automated-part-update)\\n - [Automate opportunities](/docs/automations/opportunity)\\n - [Bulk delete", - "title": "Bulk work item uploader | Automate | Snap-ins | DevRev" + "id": "ART-5010_KNOWLEDGE_NODE-25", + "text": "corresponding fields and maintaining proper workflow stages while preserving data integrity throughout the migration process.\\n\\nInstallation\\n------------\\n\\n1. Open the DevRev marketplace and install the **Subtype Migration** snap-in.\\n2. Select the workspace where you want to install the snap-in, confirm your selection, and click **Deploy snap-in**.\\n\\nConfiguration\\n-------------\\n\\n1. Go to **Snap-ins** > **Subtype Migration** > **Configure**.\\n2. Fill in the configuration details:\\n\\n *", + "title": "Subtype Migration | Automate | Snap-ins | DevRev" }, { - "id": "ART-2003_KNOWLEDGE_NODE-24", - "text": "deduplication](/docs/automations/account-deduplication)[### Airtable](/docs/automations/airtable)[### Auto-link DevRev GitHub accounts](/docs/automations/auto-link-github-devrev)[### Automatic customer reply](/docs/automations/auto-reply)[### Auto parts to conversation](/docs/automations/auto-parts)[### Automated part update](/docs/automations/automated-part-update)[### Automate opportunities](/docs/automations/opportunity)[### Bulk delete data](/docs/automations/bulk-delete)[### Bulk work item", - "title": "Automate | Snap-ins | DevRev" + "id": "ART-16264_KNOWLEDGE_NODE-29", + "text": "account.\\n + If both **Reported By** and **Account** fields are initially empty, you can search for and add any contact to the **Reported By** field, which will auto-fill the **Account** and **Workspace** (if applicable).\\n* **Handling multiple users:**\\n\\n + If all selected users within the **Reported By** field belong to the same workspace, the **Workspace** field remains unchanged.\\n + If users are from different workspaces, the **Workspace** field is emptied, while the **Account** field", + "title": "June 2025 | Changelog | DevRev" }, { "id": "ART-2007_KNOWLEDGE_NODE-15", "text": "[Custom field migration](/docs/automations/custom-field-migration)\\n - [Slack scraper](/docs/automations/slack-scraper)\\n - [Slack Broadcaster](/docs/automations/slack-broadcaster)\\n - [Reported by enricher](/docs/automations/ticket-reported-by)\\n - [Ticket approval workflow](/docs/automations/ticket-approval-workflow)\\n - [Ticket linked issues comment sync](/docs/automations/ticket-linked-issues-comment-sync)\\n - [Slack message agent](/docs/automations/slack-message-agent)\\n", "title": "Automate opportunities | Automate | Snap-ins | DevRev" + }, + { + "id": "ART-2008_KNOWLEDGE_NODE-15", + "text": "[Custom field migration](/docs/automations/custom-field-migration)\\n - [Slack scraper](/docs/automations/slack-scraper)\\n - [Slack Broadcaster](/docs/automations/slack-broadcaster)\\n - [Reported by enricher](/docs/automations/ticket-reported-by)\\n - [Ticket approval workflow](/docs/automations/ticket-approval-workflow)\\n - [Ticket linked issues comment sync](/docs/automations/ticket-linked-issues-comment-sync)\\n - [Slack message agent](/docs/automations/slack-message-agent)\\n", + "title": "Auto parts to conversation | Automate | Snap-ins | DevRev" + }, + { + "id": "ART-2035_KNOWLEDGE_NODE-39", + "text": "fields will auto-fill based on the messages.\\n\\n### Ticket sharing options\\n\\nThe new ticket modal in Slack includes a **Share with everyone** checkbox at the bottom:\\n\\n* **Enabled:** Shares the ticket details with the Slack channel via a summary card.\\n* **Disabled:** Keeps the ticket internal with no updates to the Slack channel.\\n\\nRegardless of sharing, the ticket details are visible to the creator in the submission modal.\\n\\n### Syncing details\\n\\nIf sharing is enabled, the type of Slack", + "title": "Slack | Integrate | Snap-ins | DevRev" } ] }, @@ -2300,19 +2300,9 @@ "query": "action to reopen ticket in workflow", "retrievals": [ { - "id": "ART-1961_KNOWLEDGE_NODE-37", - "text": "\\n{{Ticket\\xc2\\xa0Created\\xc2\\xa0>\\xc2\\xa0Output\\xc2\\xa0>\\xc2\\xa0Reported\\xc2\\xa0By\\xc2\\xa0>\\xc2\\xa0Rev\\xc2\\xa0Org\\xc2\\xa0>\\xc2\\xa0Display\\xc2\\xa0Name}}.\\xe2\\x80\\x9d\\n\\n\\n\\nDelay\\n\\n\\n\\nDuration: 2 minutes\\n\\n\\n\\nIf-else\\n\\n\\n\\nAttribute:\\xc2\\xa0Ticket\\xc2\\xa0Created/Output\\xc2\\xa0>\\xc2\\xa0Applies\\xc2\\xa0to\\xc2\\xa0part\\xc2\\xa0>\\xc2\\xa0Display\\xc2\\xa0ID \\nOperator: Equals \\nOperand: CAPL-18\\n\\n\\n\\nTicket \\ncreated\\n\\n\\n\\nEnd\\n```\\n\\n[### Workflow action", - "title": "Workflows | Computer by DevRev | DevRev" - }, - { - "id": "ART-2012_KNOWLEDGE_NODE-28", - "text": "say \\xe2\\x80\\x9cI would like to add a terminal stage on my tickets\\xe2\\x80\\x9d and we will get it done.\\n\\n * If no terminal stage is set, tickets will reopen on new comments from customers if **Reopen Closed Tickets on customer message** is enabled in the [convergence snap-in](./converge). The tickets move to the _In Progress_ state by default.\\n\\n * If you connected your support email address with DevRev, it is recommended that you enable the **Allow automations to send email** in your", - "title": "Follow-up ticket | Automate | Snap-ins | DevRev" - }, - { - "id": "ART-1961_KNOWLEDGE_NODE-35", - "text": "or one from a previous node.\\n8. Click **Deploy**.\\n9. If you need to modify the workflow after is has been deployed, click **Pause**, edit the workflow, then click **Deploy** to reactivate it.\\n\\nWorkflow example: Ticket auto-response\\n--------------------------------------\\n\\n```\\nControl\\n\\n\\n\\nIf true\\n\\n\\n\\nAction\\n\\n\\n\\nAction\\n\\n\\n\\nIf false\\n\\n\\n\\nAdd comment\\n\\n\\n\\nObject:\\xc2\\xa0Ticket\\xc2\\xa0Created\\xc2\\xa0>\\xc2\\xa0Output\\xc2\\xa0>\\xc2\\xa0ID \\nVisibility: External \\nBody:", - "title": "Workflows | Computer by DevRev | DevRev" + "id": "ART-12390_KNOWLEDGE_NODE-39", + "text": "to update * subtype: (Optional) Ticket subtype * apps: (Optional) Related apps * app\\\\_custom\\\\_fields: (Optional) Custom fields * stage: (Optional) New stage | Updated ticket object |\\n\\nObject links\\n------------\\n\\n| Operation | Description | Input Parameters | Output |\\n| --- | --- | --- | --- |\\n| LinkConversationWithTicket | Creates a link between a conversation and a ticket. | * source: Conversation ID * link\\\\_type: Type of link (usually \"is\\\\_related\\\\_to\") * target: Ticket ID | Empty", + "title": "Workflow action library | Workflows | Computer by DevRev | DevRev" }, { "id": "ART-12390_KNOWLEDGE_NODE-29", @@ -2320,34 +2310,44 @@ "title": "Workflow action library | Workflows | Computer by DevRev | DevRev" }, { - "id": "ART-2012_KNOWLEDGE_NODE-25", - "text": "following stages under the _Closed_ state: _Resolved_ , _Archived_ , _Accepted_ , _Canceled_. _Archived_ is the terminal stage. Now if a customer sends a new email or adds a new comment on the archived ticket from the customer portal, the archived ticket remains archived and a follow-up ticket is created. A message is added to the archived ticket automatically based on your configuration. The follow-up ticket will have the reference of the archived ticket in the first message so that your", - "title": "Follow-up ticket | Automate | Snap-ins | DevRev" + "id": "ART-12390_KNOWLEDGE_NODE-41", + "text": "link\\\\_type: Type of link (usually \"is\\\\_dependent\\\\_on\") * target: Issue ID | Empty response on success |\\n| ListObjectsLinkedToIssue | Retrieves objects linked to an issue. | * issue: ID of the issue * objects: Types of objects to find * relationship: (Optional) Specific relationship types to filter by | Array of linked objects with relationship information |\\n| ListObjectsLinkedToTicket | Retrieves objects linked to a ticket. | * ticket: ID of the ticket * objects: Types of objects to find *", + "title": "Workflow action library | Workflows | Computer by DevRev | DevRev" }, { - "id": "ART-1979_KNOWLEDGE_NODE-48", - "text": "engineer can directly close and cancel such tickets.\\n* *Accepted* (A)\\n\\n The ticket requires a new feature development on the platform for resolution. However, there is no active work on the ticket but the feature addition required to meet the ticket will be done in the future. This stage is added to ensure that feature requests do not linger in the APA queue and to ensure that the right features are prioritized during roadmap planning.\\n* *Resolved* (R)\\n\\n The goal target stage for", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-1976_KNOWLEDGE_NODE-25", + "text": "and effective resolution. Users can design workflows tailored to various scenarios; the example below illustrates a basic routing use case.\\n\\n| NODE | ACTIVITY |\\n| --- | --- |\\n| Trigger | Ticket created |\\n| Action | Pick user by group |\\n| Action | Update ticket |\\n| | ID: Ticket created > Output > ID |\\n| | Group > Output > ID |\\n| | Owned by > Set: Pick user > Output > User |\\n\\nOrgs can set up pull-based routing by updating the group instead of the user ID in the workflow illustrated", + "title": "Routing | Computer for Support Teams | DevRev" }, { - "id": "ART-2012_KNOWLEDGE_NODE-24", - "text": "customer comments on permanently closed tickets. It allows you to configure the time after which a ticket stage should be marked as closed and creates a new follow-up ticket along with all the attachments and a custom message to let the customers know that the ticket is permanently closed automatically if required.\\n\\nFor more information, refer to the [Follow-up ticket snap-in](https://marketplace.devrev.ai/followup?) on the DevRev marketplace.\\n\\nLet\\xe2\\x80\\x99s say your ticket has the", - "title": "Follow-up ticket | Automate | Snap-ins | DevRev" + "id": "ART-4184_KNOWLEDGE_NODE-2", + "text": "control](/docs/product/access-control)\\n + [Object customization](/docs/product/object-customization)\\n + [Glossary \\xe2\\x86\\x97\\xef\\xb8\\x8f](https://support.devrev.ai/devrev/article/ART-16784-glossary)\\n + [Search](/docs/product/search)\\n + [Workflows](/docs/product/workflow-engine)\\n\\n - [Workflow action library](/docs/product/action-library)\\n - [Triggers](/docs/product/trigger-library)\\n - [Conversational workflows](/docs/product/conversational-workflows)\\n - [Workflow", + "title": "Ticket linked issues comment sync | Automate | Snap-ins | DevRev" }, { - "id": "ART-1979_KNOWLEDGE_NODE-41", - "text": "progress\\n\\n\\n\\nOpen\\n\\n\\n\\nEscalate\\n\\n\\n\\nValidate the fix\\n\\n\\n\\nAdditional detail needed\\n\\n\\n\\nCustomer responds\\n\\n\\n\\nStart\\n\\n\\n\\nFeature request accepted\\n\\n\\n\\nResolved\\n\\n\\n\\nNot valid\\n\\n\\n\\nQueued\\n\\n\\n\\nWork in progress\\n\\n\\n\\nAwaiting product assist\\n\\n\\n\\nAwaiting development\\n\\n\\n\\nAwating customer response\\n\\n\\n\\nIn development\\n\\n\\n\\nAccepted\\n\\n\\n\\nResolved\\n\\n\\n\\nCanceled\\n```\\n\\n**Open**\\n\\n* *Queued* (Q)\\n The initial stage for all tickets. When a new ticket is created,", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-12390_KNOWLEDGE_NODE-14", + "text": "migrator](/docs/automations/ticket-issue-field-migrator)\\n - [Ticket Immutability](/docs/automations/ticket-immutability)\\n - [Ticket email notifier](/docs/automations/ticket-email-notifier)\\n - [Task tracker](/docs/automations/task-tracker)\\n - [Ticket Tagger](/docs/automations/ticket-tagger)\\n - [Tracxn sync](/docs/automations/tracxn-sync)\\n - [User group validator](/docs/automations/user-group-validator)\\n - [Work duration](/docs/automations/work-duration)\\n -", + "title": "Workflow action library | Workflows | Computer by DevRev | DevRev" }, { - "id": "ART-1961_KNOWLEDGE_NODE-31", - "text": "needed. For example, if the ticket is found to be spam, you can automatically add a comment to the ticket.\\n\\n**Suggest part**\\n\\nOften, your integrations create tickets or issues associated with a default part. The suggest part takes the ID of a ticket or issue and suggests a relevant part. You can use this to route your tickets or issues to the most appropriate part of the product. For example, when a ticket is created, you can find a relevant part and update the ticket with the suggested", - "title": "Workflows | Computer by DevRev | DevRev" + "id": "ART-12390_KNOWLEDGE_NODE-38", + "text": "(Optional) Opportunity subtype * apps: (Optional) Related apps * app\\\\_custom\\\\_fields: (Optional) Custom fields * stage: (Optional) New stage | Updated opportunity object |\\n| UpdateQuestionAnswer | Updates a question and answer pair. | * id: ID of the Q&A to update * question: (Optional) Updated question * answer: (Optional) Updated answer * Other Q&A properties | Updated question\\\\_answer object |\\n| UpdateTicket | Updates ticket details. | * id: ID of the ticket to update * Ticket details", + "title": "Workflow action library | Workflows | Computer by DevRev | DevRev" }, { - "id": "ART-12390_KNOWLEDGE_NODE-39", - "text": "to update * subtype: (Optional) Ticket subtype * apps: (Optional) Related apps * app\\\\_custom\\\\_fields: (Optional) Custom fields * stage: (Optional) New stage | Updated ticket object |\\n\\nObject links\\n------------\\n\\n| Operation | Description | Input Parameters | Output |\\n| --- | --- | --- | --- |\\n| LinkConversationWithTicket | Creates a link between a conversation and a ticket. | * source: Conversation ID * link\\\\_type: Type of link (usually \"is\\\\_related\\\\_to\") * target: Ticket ID | Empty", + "id": "ART-12390_KNOWLEDGE_NODE-13", + "text": "creator](/docs/automations/smart-issue-creator)\\n - [Set user preference for group](/docs/automations/set-user-preference)\\n - [SLA status change Slack notifier](/docs/automations/sla-change-notifier)\\n - [Slash commands](/docs/automations/slash-commands)\\n - [Spam Shield](/docs/automations/spam-shield)\\n - [Subtype Migration](/docs/automations/subtype-migration)\\n - [Ticket age in engineering](/docs/automations/ticket-age-in-engineering)\\n - [Ticket issue field", + "title": "Workflow action library | Workflows | Computer by DevRev | DevRev" + }, + { + "id": "ART-12390_KNOWLEDGE_NODE-15", + "text": "[Operational SLA Metrics](/docs/automations/operational-sla-metrics)\\n - [Custom field migration](/docs/automations/custom-field-migration)\\n - [Slack scraper](/docs/automations/slack-scraper)\\n - [Slack Broadcaster](/docs/automations/slack-broadcaster)\\n - [Reported by enricher](/docs/automations/ticket-reported-by)\\n - [Ticket approval workflow](/docs/automations/ticket-approval-workflow)\\n - [Ticket linked issues comment", "title": "Workflow action library | Workflows | Computer by DevRev | DevRev" + }, + { + "id": "ART-2012_KNOWLEDGE_NODE-28", + "text": "say \\xe2\\x80\\x9cI would like to add a terminal stage on my tickets\\xe2\\x80\\x9d and we will get it done.\\n\\n * If no terminal stage is set, tickets will reopen on new comments from customers if **Reopen Closed Tickets on customer message** is enabled in the [convergence snap-in](./converge). The tickets move to the _In Progress_ state by default.\\n\\n * If you connected your support email address with DevRev, it is recommended that you enable the **Allow automations to send email** in your", + "title": "Follow-up ticket | Automate | Snap-ins | DevRev" } ] }, @@ -2356,54 +2356,54 @@ "query": "assign issue owner to someone else using workflow", "retrievals": [ { - "id": "ART-1981_KNOWLEDGE_NODE-30", - "text": "conversation of which you are not the owner, let the owner know to respond. It's beneficial to retain the same point of contact for the duration of the conversation unless the owner refers some another user.\\n* If the conversation has a customer org that's unidentified or is new, add yourself (the customer experience engineer) as the owner of the ticket. Try to find the appropriate owner for the customer org and update the customer record accordingly.\\n* Change the stage of the conversation to", - "title": "Support best practices | Computer for Support Teams | DevRev" + "id": "ART-1988_KNOWLEDGE_NODE-27", + "text": "provide significant flexibility in terms of size, hierarchy, and nature of work.\\n\\nIssues may contain smaller [tasks](./tasks) for the owner to track their own work. If work is needed from someone other than the issue owner, you can create child issues and assign them to a different owner.\\n\\n[Enhancements](./enhancements) may be used to track higher-level groups of user stories or to bundle related work together.\\n\\n\\xf0\\x9f\\x93\\x85 Planning: NNL &", + "title": "Computer for Builders | DevRev" }, { - "id": "ART-2737_KNOWLEDGE_NODE-24", - "text": "issue creator](/docs/automations/smart-issue-creator)\\n\\nSmart issue creator\\n===================\\n\\nThe Smart issue creator snap-in generates an issue from a ticket when /smart\\\\_issue\\\\_create is entered in the **Discussions** section of a ticket. Additionally, it updates the target close date to match the sprint end date whenever the sprint field is updated in an issue.\\n\\n![]()\\n\\nFor more information, refer to the\\n[Smart issue creator", - "title": "Smart issue creator | Automate | Snap-ins | DevRev" + "id": "ART-1645_KNOWLEDGE_NODE-13", + "text": ">| }, \\n >| ] \\n >| }\\'\\n[/code] \\n \\n#####\\n\\nA bug has been identified in the production environment. The reporter creates a _bug_ -flavored _issue_ object to track it and assigns a relevant owner.\\n\\n[code]\\n\\n $| curl --location \\'https://api.devrev.ai/works.create\\' \\\\ \\n ---|--- \\n >| --header \\'Content-Type: application/json\\' \\\\ \\n >| --header \\'Authorization: Bearer \\' \\\\ \\n >| --data \\'{ \\n >| \"type\": \"issue\", \\n >|", + "title": "Object customization (Beta) \u2014 DevRev | Docs" }, { - "id": "ART-1992_KNOWLEDGE_NODE-31", - "text": "on the top right corner of your screen.\\n3. Add a title and description for your new issue. You can also attach files related to the issue in the description.\\n4. Select which part of the company/product this issue is related to.\\n\\n ![]()\\n5. Enter other attributes for the issue: change the assignee or accept the default; enter the severity; add any relevant tags to help employees identify any relevant traits of the issue; select the workspace that the issue pertains to.\\n6. If there are", - "title": "Issues | Computer for Builders | DevRev" + "id": "ART-15487_KNOWLEDGE_NODE-11", + "text": "|\\n| > | }, |\\n| > | { |\\n| > | \"name\": \"rca\", |\\n| > | \"field_type\": \"rich_text\", |\\n| > | \"ui\": { |\\n| > | \"display_name\": \"RCA\", |\\n| > | } |\\n| > | }, |\\n| > | ] |\\n| > | }\\' |\\n```\\n\\n##### \\n\\nA bug has been identified in the production environment. The reporter creates a\\n*bug*-flavored *issue* object to track it and assigns a relevant owner.\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl --location \\'https://api.devrev.ai/works.create\\' \\\\ |\\n| > | --header \\'Content-Type:", + "title": "Object customization | DevRev | Docs" }, { - "id": "ART-1992_KNOWLEDGE_NODE-29", - "text": "an issue, you can create a parent issue or a child issue. In an issue, select **Link Issues** in the **Issues** pane and select the type to add.\\n\\n![]()\\n\\n![]()\\n\\nWhile a parent issue can and usually does have multiple children, an issue can have only one parent. If you try to add a parent to an issue that already has one, it fails.\\n\\n[Tasks](./tasks) can be used to break an issue down into smaller pieces. Issues may involve a checklist of items to be handled that can be represented as", - "title": "Issues | Computer for Builders | DevRev" + "id": "ART-1994_KNOWLEDGE_NODE-33", + "text": "sprint board and click **+Issue**.\\n Create a new issue, assign it to the part, sprint and add the owner.\\n\\n ![]()\\n\\n Sprints are not coordinated with stages.\\n3. Select issues that you would like to assign to **Sprint 1** or **Sprint 2** then click **Move** in the toolbar at the top of the screen and select the sprint.\\n\\n ![]()\\n4. Go to **Sprint 1** or **Sprint 2** to see that issues are displayed.\\n\\n ![]()\\n\\n The sprint is also displayed in (and can be changed from) the", + "title": "Sprint mode | Computer for Builders | DevRev" }, { - "id": "ART-2010_KNOWLEDGE_NODE-28", - "text": "user ID mentioned in a row doesn\\'t exist. Other work items aren\\'t impacted by this.\\n* The workspace ID is only used for associating tickets to the workspace and not issues.\\n* If the CSV lists multiple owners, only the first is set as the owner in the DevRev work item.\\n\\nHow to use bulk ticket uploader\\n-------------------------------\\n\\n1. In the **Discussion** tab of an account, ticket, part, or issue, enter /upload\\\\_workitems.\\n A **Bulk Uploader Bot** form appears.\\n2. From the", - "title": "Bulk work item uploader | Automate | Snap-ins | DevRev" + "id": "ART-2737_KNOWLEDGE_NODE-25", + "text": "snap-in](https://marketplace.devrev.ai/smart-issue-creator) on the DevRev marketplace.\\n\\nInstallation\\n------------\\n\\n1. In DevRev, go to **Settings** > **Snap-ins** and click **Explore Marketplace** in the top-right corner.\\n2. In the DevRev marketplace, find **Smart issue creator** and click **Install**.\\n3. In DevRev, **Snap-ins** > **Smart issue creator** > **Configure**.\\n4. Select the default owner, part, and tags. The default owner is assigned if no owner is selected from the snapkit.", + "title": "Smart issue creator | Automate | Snap-ins | DevRev" }, { - "id": "ART-4022_KNOWLEDGE_NODE-27", - "text": "person who should be assigned as the owner or reporter of the work item. If the CSV lists multiple owners, only the first is set as the owner.\\n2. For Applies to Part, Stage, Account, RevOrg, Developed with Parts, and Tags columns, provide the part name, stage name, account name, workspace, part name, and tag name respectively as it appears in the UI (case-sensitive).\\n3. For Date and Timestamp related fields, provide the date and timestamp in the format YYYY/MM/DD.\\n4. The tnt\\\\_\\\\_ prefix in", - "title": "CSV work item uploader | Automate | Snap-ins | DevRev" + "id": "ART-1560_KNOWLEDGE_NODE-503", + "text": "sprint.\\n\\nissue.subtype string Optional\\n\\nFilters for issues with any of the provided subtypes.\\n\\nopportunity.account string Optional\\n\\nFilters for opportunities belonging to any of the provided accounts.\\n\\nopportunity.contacts string Optional\\n\\nFilters for opportunities with any of the provided contacts.\\n\\nopportunity.subtype string Optional\\n\\nFilters for opportunity with any of the provided subtypes.\\n\\nowned_by string Optional\\n\\nFilters for work owned by any of these", + "title": "Assign (Beta) \u2014 DevRev | Docs" }, { - "id": "ART-12394_KNOWLEDGE_NODE-13", - "text": "creator](/docs/automations/smart-issue-creator)\\n - [Set user preference for group](/docs/automations/set-user-preference)\\n - [SLA status change Slack notifier](/docs/automations/sla-change-notifier)\\n - [Slash commands](/docs/automations/slash-commands)\\n - [Spam Shield](/docs/automations/spam-shield)\\n - [Subtype Migration](/docs/automations/subtype-migration)\\n - [Ticket age in engineering](/docs/automations/ticket-age-in-engineering)\\n - [Ticket issue field", - "title": "Workflow management | Workflows | Computer by DevRev | DevRev" + "id": "ART-1992_KNOWLEDGE_NODE-25", + "text": "issues in various views. Certain fields will be highlighted as mandatory during creation. For example, **Priority** is a required field.\\nYou can find all the stock attributes listed in **Settings** > **Object customization** > **Issue** > **Stock fields**.\\nThese are the stock attributes that come with DevRev:\\n\\n* **Owner**: The person responsible for the issue. Issues are assigned to an engineer, PM, designer, or any other team member through the **Owner** attribute.\\n* **Priority**: The", + "title": "Issues | Computer for Builders | DevRev" }, { - "id": "ART-2737_KNOWLEDGE_NODE-25", - "text": "snap-in](https://marketplace.devrev.ai/smart-issue-creator) on the DevRev marketplace.\\n\\nInstallation\\n------------\\n\\n1. In DevRev, go to **Settings** > **Snap-ins** and click **Explore Marketplace** in the top-right corner.\\n2. In the DevRev marketplace, find **Smart issue creator** and click **Install**.\\n3. In DevRev, **Snap-ins** > **Smart issue creator** > **Configure**.\\n4. Select the default owner, part, and tags. The default owner is assigned if no owner is selected from the snapkit.", - "title": "Smart issue creator | Automate | Snap-ins | DevRev" + "id": "ART-1992_KNOWLEDGE_NODE-30", + "text": "tasks.\\n\\nDiscussion and events\\n---------------------\\n\\nThe **Discussion** tab of issues is to facilitate communication and collaboration on a given work item across engineers, PMs, designers, and any other stakeholder within an organization.\\n\\n![]()\\n\\nThe **Events** tab provides a log of key events such as owner assignments/changes, stage changes, and dependency updates.\\n\\nCreate an issue\\n---------------\\n\\n1. Go to **Build > Issues** from the sidebar on the left.\\n2. Click **New Issue**", + "title": "Issues | Computer for Builders | DevRev" }, { - "id": "ART-1645_KNOWLEDGE_NODE-13", - "text": ">| }, \\n >| ] \\n >| }\\'\\n[/code] \\n \\n#####\\n\\nA bug has been identified in the production environment. The reporter creates a _bug_ -flavored _issue_ object to track it and assigns a relevant owner.\\n\\n[code]\\n\\n $| curl --location \\'https://api.devrev.ai/works.create\\' \\\\ \\n ---|--- \\n >| --header \\'Content-Type: application/json\\' \\\\ \\n >| --header \\'Authorization: Bearer \\' \\\\ \\n >| --data \\'{ \\n >| \"type\": \"issue\", \\n >|", - "title": "Object customization (Beta) \u2014 DevRev | Docs" + "id": "ART-1960_KNOWLEDGE_NODE-40", + "text": "service developed, built, or provided by a developer (dev).\\n: Terms related to\\xc2\\xa0*rev*:\\n\\n * *[dev](#dev)*\\n\\nsnap-in\\n\\n: A mechanism to extend DevRev\\'s value by connecting with external systems, automating workflows, or personalizing your experience.\\n: Read more about\\xc2\\xa0[*snap-in*](https://marketplace.devrev.ai/)\\n\\ntask\\n\\n: A work item that requires an owner and a single action to be performed.\\n: Terms related to\\xc2\\xa0*task*:\\n\\n * *[issue](#issue)*\\n *", + "title": "Glossary | Computer by DevRev | DevRev" }, { - "id": "ART-1951_KNOWLEDGE_NODE-27", - "text": "work record can be assigned to others.\\n\\n![]()\\n\\nUse child issues and dependency issues for more heavy work assignments to others that are related to your work. Use tasks only for lightweight things like reviewing your work.\\n\\nYou cannot see the linked work item (issue, ticket, or opportunity) for a task and can navigate to it directly from there.\\n\\n[PreviousBoard view](/docs/product/board-view)[NextUpdates](/docs/product/updates)\\n\\n[Enterprise grade security to protect customer", - "title": "Tasks | Computer by DevRev | DevRev" + "id": "ART-1992_KNOWLEDGE_NODE-31", + "text": "on the top right corner of your screen.\\n3. Add a title and description for your new issue. You can also attach files related to the issue in the description.\\n4. Select which part of the company/product this issue is related to.\\n\\n ![]()\\n5. Enter other attributes for the issue: change the assignee or accept the default; enter the severity; add any relevant tags to help employees identify any relevant traits of the issue; select the workspace that the issue pertains to.\\n6. If there are", + "title": "Issues | Computer for Builders | DevRev" } ] }, @@ -2412,54 +2412,54 @@ "query": "add multiple email addresses to one contact through Grow interface", "retrievals": [ { - "id": "ART-2032_KNOWLEDGE_NODE-31", - "text": "creators. Enter multiple emails separated by commas.\\n * **Add non-existing customers**: Enable this to allow people in meetings who are not already customers to be added as customers.\\n\\nIf a meeting is scheduled with people who are neither part of the company nor existing customers, this option allows them to be added as customers.\\n\\n* **Track meetings from free email domains**: Enable this feature to capture meetings scheduled using non-work email addresses, such as gmail.com or", - "title": "Google Calendar | Integrate | Snap-ins | DevRev" + "id": "ART-3207_KNOWLEDGE_NODE-8", + "text": "options](/docs/plug/session-recording)\\n - [Cross-domain session tracking](/docs/plug/cross-domain-session)\\n + [Nudges](/docs/plug/nudges)\\n* [Computer for Growth Teams](/docs/product/grow)\\n\\n + [Accounts](/docs/product/account)\\n + [Opportunities](/docs/product/opportunity)\\n + [Contacts](/docs/product/customers)\\n + [Account and contact import](/docs/product/account-contact-import)\\n + [Grow snap-ins](/docs/product/snapins-grow)\\n* [Snap-ins](/docs/snapins)\\n\\n +", + "title": "Email snap-in configuration | Email | Integrate | Snap-ins | DevRev" }, { - "id": "ART-2002_KNOWLEDGE_NODE-27", - "text": "Plug, email, and WhatsApp) can be matched to the right customer record.\\n\\n![]()\\n\\nYou can create a contact using DevRev's rev-users.create API. Follow the [Create accounts and contacts in DevRev](https://developer.devrev.ai/beta/guides/create-accounts-and-contacts-in-dev-rev) tutorial.\\n\\n### Bulk import customer records\\n\\nTo bulk import customer records, see [Account and contact import](/docs/product/account-contact-import).\\n\\nYou can also use [AirSync](https://docs.devrev.ai/import) to", - "title": "Contacts | Computer for Growth Teams | DevRev" + "id": "ART-2027_KNOWLEDGE_NODE-8", + "text": "tracking](/docs/plug/cross-domain-session)\\n + [Nudges](/docs/plug/nudges)\\n* [Computer for Growth Teams](/docs/product/grow)\\n\\n + [Accounts](/docs/product/account)\\n + [Opportunities](/docs/product/opportunity)\\n + [Contacts](/docs/product/customers)\\n + [Account and contact import](/docs/product/account-contact-import)\\n + [Grow snap-ins](/docs/product/snapins-grow)\\n* [Snap-ins](/docs/snapins)\\n\\n + [Automate](/docs/automate)\\n\\n - [Account", + "title": "Email | Integrate | Snap-ins | DevRev" }, { - "id": "ART-2002_KNOWLEDGE_NODE-28", - "text": "migrate your customer contacts from various platforms such as Hubspot, Salesforce, Zendesk, Jira, Linear, ServiceNow and more.\\n\\nCustomer records offer a place to do the following:\\n\\n* Find all conversations and tickets linked to a customer in one view.\\n* Have internal discussions related to a customer.\\n* Add description or notes about a customer.\\n* Assign an owner or tags to the customer.\\n\\n![]()\\n\\nApart from customer records that get automatically created from your [Plug", - "title": "Contacts | Computer for Growth Teams | DevRev" + "id": "ART-2023_KNOWLEDGE_NODE-8", + "text": "tracking](/docs/plug/cross-domain-session)\\n + [Nudges](/docs/plug/nudges)\\n* [Computer for Growth Teams](/docs/product/grow)\\n\\n + [Accounts](/docs/product/account)\\n + [Opportunities](/docs/product/opportunity)\\n + [Contacts](/docs/product/customers)\\n + [Account and contact import](/docs/product/account-contact-import)\\n + [Grow snap-ins](/docs/product/snapins-grow)\\n* [Snap-ins](/docs/snapins)\\n\\n + [Automate](/docs/automate)\\n\\n - [Account", + "title": "Integrate | Snap-ins | DevRev" }, { - "id": "ART-2575_KNOWLEDGE_NODE-32", - "text": "required headers | Include headers for the required fields in the CSV. |\\n\\n[PreviousContacts](/docs/product/customers)[NextGrow snap-ins](/docs/product/snapins-grow)\\n\\n#### On this page\\n\\n* [Import data](#import-data)\\n* [CSV file requirements](#csv-file-requirements)\\n* [Mandatory fields](#mandatory-fields)\\n* [Array fields](#array-fields)\\n* [Tags](#tags)\\n* [Owner fields](#owner-fields)\\n* [Limitations](#limitations)\\n* [Troubleshooting](#troubleshooting)\\n\\n[Enterprise grade security to", - "title": "Account and contact import | Computer for Growth Teams | DevRev" + "id": "ART-2037_KNOWLEDGE_NODE-8", + "text": "tracking](/docs/plug/cross-domain-session)\\n + [Nudges](/docs/plug/nudges)\\n* [Computer for Growth Teams](/docs/product/grow)\\n\\n + [Accounts](/docs/product/account)\\n + [Opportunities](/docs/product/opportunity)\\n + [Contacts](/docs/product/customers)\\n + [Account and contact import](/docs/product/account-contact-import)\\n + [Grow snap-ins](/docs/product/snapins-grow)\\n* [Snap-ins](/docs/snapins)\\n\\n + [Automate](/docs/automate)\\n\\n - [Account", + "title": "GitHub | Integrate | Snap-ins | DevRev" }, { - "id": "ART-2575_KNOWLEDGE_NODE-8", - "text": "options](/docs/plug/session-recording)\\n - [Cross-domain session tracking](/docs/plug/cross-domain-session)\\n + [Nudges](/docs/plug/nudges)\\n* [Computer for Growth Teams](/docs/product/grow)\\n\\n + [Accounts](/docs/product/account)\\n + [Opportunities](/docs/product/opportunity)\\n + [Contacts](/docs/product/customers)\\n + [Account and contact import](/docs/product/account-contact-import)\\n + [Grow snap-ins](/docs/product/snapins-grow)\\n* [Snap-ins](/docs/snapins)\\n\\n +", - "title": "Account and contact import | Computer for Growth Teams | DevRev" + "id": "ART-2003_KNOWLEDGE_NODE-8", + "text": "tracking](/docs/plug/cross-domain-session)\\n + [Nudges](/docs/plug/nudges)\\n* [Computer for Growth Teams](/docs/product/grow)\\n\\n + [Accounts](/docs/product/account)\\n + [Opportunities](/docs/product/opportunity)\\n + [Contacts](/docs/product/customers)\\n + [Account and contact import](/docs/product/account-contact-import)\\n + [Grow snap-ins](/docs/product/snapins-grow)\\n* [Snap-ins](/docs/snapins)\\n\\n + [Automate](/docs/automate)\\n\\n - [Account", + "title": "Automate | Snap-ins | DevRev" }, { - "id": "ART-2002_KNOWLEDGE_NODE-8", + "id": "ART-2043_KNOWLEDGE_NODE-8", "text": "tracking](/docs/plug/cross-domain-session)\\n + [Nudges](/docs/plug/nudges)\\n* [Computer for Growth Teams](/docs/product/grow)\\n\\n + [Accounts](/docs/product/account)\\n + [Opportunities](/docs/product/opportunity)\\n + [Contacts](/docs/product/customers)\\n + [Account and contact import](/docs/product/account-contact-import)\\n + [Grow snap-ins](/docs/product/snapins-grow)\\n* [Snap-ins](/docs/snapins)\\n\\n + [Automate](/docs/automate)\\n\\n - [Account", - "title": "Contacts | Computer for Growth Teams | DevRev" + "title": "Glean | Integrate | Snap-ins | DevRev" }, { - "id": "ART-2575_KNOWLEDGE_NODE-17", - "text": "* [Email snap-in configuration](/docs/integrations/email-config)\\n - [Exotel](/docs/integrations/exotel)\\n - [Slack](/docs/integrations/slack)\\n - [WhatsApp](/docs/integrations/whatsapp)\\n - [GitHub](/docs/integrations/github)\\n - [GitLab](/docs/integrations/gitlab)\\n - [Harness](/docs/integrations/harness)\\n - [Marker.io](/docs/integrations/marker-io)\\n - [Instabug](/docs/integrations/instabug)\\n - [Qase](/docs/integrations/qase)\\n - [Tracxn", - "title": "Account and contact import | Computer for Growth Teams | DevRev" + "id": "ART-2045_KNOWLEDGE_NODE-8", + "text": "tracking](/docs/plug/cross-domain-session)\\n + [Nudges](/docs/plug/nudges)\\n* [Computer for Growth Teams](/docs/product/grow)\\n\\n + [Accounts](/docs/product/account)\\n + [Opportunities](/docs/product/opportunity)\\n + [Contacts](/docs/product/customers)\\n + [Account and contact import](/docs/product/account-contact-import)\\n + [Grow snap-ins](/docs/product/snapins-grow)\\n* [Snap-ins](/docs/snapins)\\n\\n + [Automate](/docs/automate)\\n\\n - [Account", + "title": "AirSync | Snap-ins | DevRev" }, { - "id": "ART-2032_KNOWLEDGE_NODE-28", - "text": "Emails**: Events containing any of these email addresses are completely excluded from sync. No meetings are created in DevRev for events where these emails appear as attendees, organizers, or creators. Enter multiple emails separated by commas.\\n * **Add non-existing customers**: Enable this to allow people in meeting that are not customer to be added as a customer.\\n\\nIf a meeting is scheduled with people who are neither part of the company nor customers, this option allows them to be added", - "title": "Google Calendar | Integrate | Snap-ins | DevRev" + "id": "ART-1999_KNOWLEDGE_NODE-8", + "text": "tracking](/docs/plug/cross-domain-session)\\n + [Nudges](/docs/plug/nudges)\\n* [Computer for Growth Teams](/docs/product/grow)\\n\\n + [Accounts](/docs/product/account)\\n + [Opportunities](/docs/product/opportunity)\\n + [Contacts](/docs/product/customers)\\n + [Account and contact import](/docs/product/account-contact-import)\\n + [Grow snap-ins](/docs/product/snapins-grow)\\n* [Snap-ins](/docs/snapins)\\n\\n + [Automate](/docs/automate)\\n\\n - [Account", + "title": "Opportunities | Computer for Growth Teams | DevRev" }, { - "id": "ART-2002_KNOWLEDGE_NODE-26", - "text": "(for example Stripe as a customer of Slack) or a workspace in your software product (such as a Slack workspace).\\n\\nCreate a new customer contact\\n-----------------------------\\n\\n1. Go to **Contacts** > **+ Contact**.\\n2. Fill in the following fields as **Add Display Name, Description, Domains, Tags, Tiers**.\\n3. Click **Create**.\\n\\nWhile creating new customer records, be sure to specify the [**External Reference**](#external-reference) so customer information coming from other channels (like", - "title": "Contacts | Computer for Growth Teams | DevRev" + "id": "ART-2009_KNOWLEDGE_NODE-8", + "text": "tracking](/docs/plug/cross-domain-session)\\n + [Nudges](/docs/plug/nudges)\\n* [Computer for Growth Teams](/docs/product/grow)\\n\\n + [Accounts](/docs/product/account)\\n + [Opportunities](/docs/product/opportunity)\\n + [Contacts](/docs/product/customers)\\n + [Account and contact import](/docs/product/account-contact-import)\\n + [Grow snap-ins](/docs/product/snapins-grow)\\n* [Snap-ins](/docs/snapins)\\n\\n + [Automate](/docs/automate)\\n\\n - [Account", + "title": "Convergence | Automate | Snap-ins | DevRev" }, { - "id": "ART-1953_KNOWLEDGE_NODE-8", + "id": "ART-2028_KNOWLEDGE_NODE-8", "text": "tracking](/docs/plug/cross-domain-session)\\n + [Nudges](/docs/plug/nudges)\\n* [Computer for Growth Teams](/docs/product/grow)\\n\\n + [Accounts](/docs/product/account)\\n + [Opportunities](/docs/product/opportunity)\\n + [Contacts](/docs/product/customers)\\n + [Account and contact import](/docs/product/account-contact-import)\\n + [Grow snap-ins](/docs/product/snapins-grow)\\n* [Snap-ins](/docs/snapins)\\n\\n + [Automate](/docs/automate)\\n\\n - [Account", - "title": "Customer email notifications | Computer by DevRev | DevRev" + "title": "Work duration | Automate | Snap-ins | DevRev" } ] }, @@ -2468,52 +2468,52 @@ "query": "list agents API for account", "retrievals": [ { - "id": "ART-1465_KNOWLEDGE_NODE-17", - "text": "Agents?](https://devrev.ai/what-are-ai-agents)\\n * [What is Agentic AI?](https://devrev.ai/what-is-agentic-ai)\\n * [What is Enterprise Search?](https://devrev.ai/what-is-enterprise-search)\\n * [What is Conversational AI?](https://devrev.ai/what-is-conversational-ai)\\n\\n[](https://devrev.ai)\\n\\n[](https://www.linkedin.com/company/devrev)[](https://medium.com/devrev)[](https://twitter.com/devrev)\\n\\n[System Status](https://devrev.ai/status)\\n\\n\\xc2\\xa9 2025 DevRev Inc.\\n\\n'", - "title": "List Accounts (POST) \u2014 DevRev | Docs" + "id": "ART-1453_KNOWLEDGE_NODE-0", + "text": "b'[](/public/api-reference/accounts/list)\\n\\nPublic\\n\\n[](https://devrev.ai)\\n\\n * Product\\n * Platform\\n * Solutions\\n * Marketplace\\n * Company\\n * Resources\\n * [Pricing](https://devrev.ai/pricing)\\n\\n __\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[](https://devrev.ai)\\n\\n __\\n\\nProduct __\\n\\nPlatform __\\n\\nSolutions __\\n\\nMarketplace __\\n\\nCompany __\\n\\nResources", + "title": "List Accounts \u2014 DevRev | Docs" }, { - "id": "ART-1464_KNOWLEDGE_NODE-13", - "text": "Agents?](https://devrev.ai/what-are-ai-agents)\\n * [What is Agentic AI?](https://devrev.ai/what-is-agentic-ai)\\n * [What is Enterprise Search?](https://devrev.ai/what-is-enterprise-search)\\n * [What is Conversational AI?](https://devrev.ai/what-is-conversational-ai)\\n\\n[](https://devrev.ai)\\n\\n[](https://www.linkedin.com/company/devrev)[](https://medium.com/devrev)[](https://twitter.com/devrev)\\n\\n[System Status](https://devrev.ai/status)\\n\\n\\xc2\\xa9 2025 DevRev Inc.\\n\\n'", - "title": "Get Account (POST) \u2014 DevRev | Docs" + "id": "ART-1453_KNOWLEDGE_NODE-1", + "text": "__\\n\\n[Pricing](https://devrev.ai/pricing)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[API Reference](/public/api-reference/getting-started)[Accounts](/public/api-reference/accounts/accounts)\\n\\n# List Accounts\\n\\nGET\\n\\nhttps://api.devrev.ai/accounts.list\\n\\nTry it\\n\\nGets a list of accounts.\\n\\n### Query parameters\\n\\ncreated_bylist of stringsOptional\\n\\nFilters for accounts created by the specified", + "title": "List Accounts \u2014 DevRev | Docs" }, { - "id": "ART-1465_KNOWLEDGE_NODE-1", - "text": "__\\n\\n[Pricing](https://devrev.ai/pricing)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[API Reference](/public/api-reference/getting-started)[Accounts](/public/api-reference/accounts/accounts)\\n\\n# List Accounts (POST)\\n\\nPOST\\n\\nhttps://api.devrev.ai/accounts.list\\n\\nTry it\\n\\nGets a list of accounts.\\n\\n### Request\\n\\nThis endpoint expects an object.\\n\\ncreated_bylist of stringsOptional\\n\\nFilters for accounts created by the specified", - "title": "List Accounts (POST) \u2014 DevRev | Docs" + "id": "ART-1590_KNOWLEDGE_NODE-9", + "text": "object.\\naccount object\\nShow 18 properties\\nAPI Reference accounts Get Post.\\n\\nPOST https:// api.devrev.ai / accounts.get\\nRetrieves an account\\'s information.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the account to be retrieved.\\nResponse.\\n\\nThis endpoint returns an object.\\naccount object\\nShow 18 properties\\nAPI Reference accounts List.\\n\\nGET https:// api.devrev.ai / accounts.list\\nGets a list of accounts.\\nQuery parameters.\\n\\ncreated_by string", + "title": "List \u2014 DevRev | Docs" }, { - "id": "ART-1257_KNOWLEDGE_NODE-6", - "text": "Response\\n\\nThe returned account.\\n\\naccountobject\\n\\nShow 14 properties\\n\\n### Errors\\n\\n400\\n\\nBad Request Error\\n\\n401\\n\\nUnauthorized Error\\n\\n403\\n\\nForbidden Error\\n\\n404\\n\\nNot Found Error\\n\\n429\\n\\nToo Many Requests Error\\n\\n500\\n\\nInternal Server Error\\n\\n503\\n\\nService Unavailable Error\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/api-reference/accounts/get)[#### List Accounts\\n\\nNext](/api-reference/accounts/list)[Built", - "title": "Get Account (POST) | DevRev | Docs" + "id": "ART-1595_KNOWLEDGE_NODE-9", + "text": "object.\\naccount object\\nShow 18 properties\\nAPI Reference accounts Get Post.\\n\\nPOST https:// api.devrev.ai / accounts.get\\nRetrieves an account\\'s information.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the account to be retrieved.\\nResponse.\\n\\nThis endpoint returns an object.\\naccount object\\nShow 18 properties\\nAPI Reference accounts List.\\n\\nGET https:// api.devrev.ai / accounts.list\\nGets a list of accounts.\\nQuery parameters.\\n\\ncreated_by string", + "title": "List \u2014 DevRev | Docs" }, { - "id": "ART-1453_KNOWLEDGE_NODE-1", - "text": "__\\n\\n[Pricing](https://devrev.ai/pricing)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[API Reference](/public/api-reference/getting-started)[Accounts](/public/api-reference/accounts/accounts)\\n\\n# List Accounts\\n\\nGET\\n\\nhttps://api.devrev.ai/accounts.list\\n\\nTry it\\n\\nGets a list of accounts.\\n\\n### Query parameters\\n\\ncreated_bylist of stringsOptional\\n\\nFilters for accounts created by the specified", - "title": "List Accounts \u2014 DevRev | Docs" + "id": "ART-1633_KNOWLEDGE_NODE-9", + "text": "object.\\naccount object\\nShow 18 properties\\nAPI Reference accounts Get Post.\\n\\nPOST https:// api.devrev.ai / accounts.get\\nRetrieves an account\\'s information.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the account to be retrieved.\\nResponse.\\n\\nThis endpoint returns an object.\\naccount object\\nShow 18 properties\\nAPI Reference accounts List.\\n\\nGET https:// api.devrev.ai / accounts.list\\nGets a list of accounts.\\nQuery parameters.\\n\\ncreated_by string", + "title": "List \u2014 DevRev | Docs" }, { - "id": "ART-1564_KNOWLEDGE_NODE-9", - "text": "objects\\n\\nThe exported accounts.\\n\\nShow 18 properties\\nAPI Reference accounts Get.\\n\\nGET https://api.devrev.ai / accounts.get\\n\\nRetrieves an account\\xe2\\x80\\x99s information.\\n\\nQuery parameters.\\n\\nid string Required\\n\\nThe ID of the account to be retrieved.\\n\\nResponse.\\n\\nThis endpoint returns an object.\\naccount object\\nShow 18 properties\\nAPI Reference accounts Get Post.\\n\\nPOST https://api.devrev.ai / accounts.get\\n\\nRetrieves an account\\xe2\\x80\\x99s information.\\n\\nRequest.\\n\\nThis", - "title": "List (Beta) \u2014 DevRev | Docs" + "id": "ART-1654_KNOWLEDGE_NODE-9", + "text": "object.\\naccount object\\nShow 18 properties\\nAPI Reference accounts Get Post.\\n\\nPOST https:// api.devrev.ai / accounts.get\\nRetrieves an account\\'s information.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the account to be retrieved.\\nResponse.\\n\\nThis endpoint returns an object.\\naccount object\\nShow 18 properties\\nAPI Reference accounts List.\\n\\nGET https:// api.devrev.ai / accounts.list\\nGets a list of accounts.\\nQuery parameters.\\n\\ncreated_by string", + "title": "List \u2014 DevRev | Docs" }, { - "id": "ART-1259_KNOWLEDGE_NODE-0", - "text": "b'List Accounts (POST) | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nPublic\\n\\nPublic\\n\\nSearch\\n\\n`/`\\n\\n[API Reference](/api-reference/getting-started)[accounts](/api-reference/accounts/accounts)\\n\\nList Accounts (POST)\\n====================\\n\\nCopy page\\n\\nPOST\\n\\nhttps://api.devrev.ai/accounts.list\\n\\nPOST\\n\\n/accounts.list\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl -X POST https://api.devrev.ai/accounts.list \\\\ |\\n| > | -H \"Authorization: Bearer \" \\\\ |\\n| > | -H", - "title": "List Accounts (POST) | DevRev | Docs" + "id": "ART-1781_KNOWLEDGE_NODE-9", + "text": "object.\\naccount object\\nShow 18 properties\\nAPI Reference accounts Get Post.\\n\\nPOST https:// api.devrev.ai / accounts.get\\nRetrieves an account\\'s information.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the account to be retrieved.\\nResponse.\\n\\nThis endpoint returns an object.\\naccount object\\nShow 18 properties\\nAPI Reference accounts List.\\n\\nGET https:// api.devrev.ai / accounts.list\\nGets a list of accounts.\\nQuery parameters.\\n\\ncreated_by string", + "title": "List \u2014 DevRev | Docs" }, { - "id": "ART-1259_KNOWLEDGE_NODE-9", - "text": "criteria.\\n\\naccountslist of objects\\n\\nList containing all the accounts\\n\\nShow 14 properties\\n\\nnext\\\\_cursorstring or null`format: \"text\"`\\n\\nThe cursor used to iterate subsequent results in accordance to the\\nsort order. If not set, then no later elements exist.\\n\\nprev\\\\_cursorstring or null`format: \"text\"`\\n\\nThe cursor used to iterate preceding results in accordance to the\\nsort order. If not set, then no prior elements exist.\\n\\n### Errors\\n\\n400\\n\\nBad Request", - "title": "List Accounts (POST) | DevRev | Docs" + "id": "ART-1789_KNOWLEDGE_NODE-9", + "text": "object.\\naccount object\\nShow 18 properties\\nAPI Reference accounts Get Post.\\n\\nPOST https:// api.devrev.ai / accounts.get\\nRetrieves an account\\'s information.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the account to be retrieved.\\nResponse.\\n\\nThis endpoint returns an object.\\naccount object\\nShow 18 properties\\nAPI Reference accounts List.\\n\\nGET https:// api.devrev.ai / accounts.list\\nGets a list of accounts.\\nQuery parameters.\\n\\ncreated_by string", + "title": "List \u2014 DevRev | Docs" }, { - "id": "ART-1590_KNOWLEDGE_NODE-9", + "id": "ART-1803_KNOWLEDGE_NODE-9", "text": "object.\\naccount object\\nShow 18 properties\\nAPI Reference accounts Get Post.\\n\\nPOST https:// api.devrev.ai / accounts.get\\nRetrieves an account\\'s information.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the account to be retrieved.\\nResponse.\\n\\nThis endpoint returns an object.\\naccount object\\nShow 18 properties\\nAPI Reference accounts List.\\n\\nGET https:// api.devrev.ai / accounts.list\\nGets a list of accounts.\\nQuery parameters.\\n\\ncreated_by string", "title": "List \u2014 DevRev | Docs" }, { - "id": "ART-1595_KNOWLEDGE_NODE-9", + "id": "ART-1825_KNOWLEDGE_NODE-9", "text": "object.\\naccount object\\nShow 18 properties\\nAPI Reference accounts Get Post.\\n\\nPOST https:// api.devrev.ai / accounts.get\\nRetrieves an account\\'s information.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the account to be retrieved.\\nResponse.\\n\\nThis endpoint returns an object.\\naccount object\\nShow 18 properties\\nAPI Reference accounts List.\\n\\nGET https:// api.devrev.ai / accounts.list\\nGets a list of accounts.\\nQuery parameters.\\n\\ncreated_by string", "title": "List \u2014 DevRev | Docs" } @@ -2524,54 +2524,54 @@ "query": "SLA timer not running for newly created tickets with L1 SLA tag and Test SLA Pilot", "retrievals": [ { - "id": "ART-1986_KNOWLEDGE_NODE-45", - "text": "selected on the ticket is not assigned any SLA.\\n\\n\\xc2\\xa0\\xc2\\xa0 \\xc2\\xa0 - Action: Check your SLA assignment rules or add the customer as an exception to any of your SLAs.\\n\\n![]()\\n\\nThe **SLA Name** is never empty if your organization has a default SLA.\\n\\n1. Verify policy conditions:\\n\\n\\xc2\\xa0\\xc2\\xa0 - If the **SLA Name** is populated but you still see no SLA metrics running on the ticket, the ticket does not satisfy the conditions of any policy within the SLA.\\n\\n\\xc2\\xa0\\xc2\\xa0", + "id": "ART-1986_KNOWLEDGE_NODE-44", + "text": "**Custom**: Filters all tickets that will breach by the selected date.\\n\\n![]()\\n\\nTroubleshooting: No SLA running on the ticket\\n---------------------------------------------\\n\\n### Issue\\n\\nYou have created and published an SLA, but no SLA is running on the ticket.\\n\\n### Solution\\n\\n1. Check the **SLA Name** attribute:\\n\\n\\xc2\\xa0\\xc2\\xa0 - Verify that the **SLA Name** attribute on the ticket is not empty.\\n\\n\\xc2\\xa0\\xc2\\xa0 - If the **SLA Name** is empty, it means the customer account", "title": "Service-level agreement | Computer for Support Teams | DevRev" }, { - "id": "ART-1986_KNOWLEDGE_NODE-44", - "text": "**Custom**: Filters all tickets that will breach by the selected date.\\n\\n![]()\\n\\nTroubleshooting: No SLA running on the ticket\\n---------------------------------------------\\n\\n### Issue\\n\\nYou have created and published an SLA, but no SLA is running on the ticket.\\n\\n### Solution\\n\\n1. Check the **SLA Name** attribute:\\n\\n\\xc2\\xa0\\xc2\\xa0 - Verify that the **SLA Name** attribute on the ticket is not empty.\\n\\n\\xc2\\xa0\\xc2\\xa0 - If the **SLA Name** is empty, it means the customer account", + "id": "ART-1986_KNOWLEDGE_NODE-46", + "text": "\\xc2\\xa0 - Action: Check the policies you have created for the SLA listed under **SLA Name**. For example, if you have created two policies, one with the condition Severity = Blocker and another with Severity = High, a ticket with medium severity will still have the SLA name but will not have any running metrics because it does not meet the severity conditions.\\n\\n### Next steps\\n\\nIf the issue persists, review your SLA assignment rules and policies or contact support for further", "title": "Service-level agreement | Computer for Support Teams | DevRev" }, { - "id": "ART-2017_KNOWLEDGE_NODE-28", - "text": "you would like to tag on the message (the ticket owner gets tagged automatically); and the target Slack channel. The channel\\'s ID can be found by going to the channel details. Refer to the placeholder value on the input to see an example of how this looks.\\n2. Decide if notifications should go out even if the ticket has a target end date set. Set the toggle to the desired behavior.\\n3. Decide if a ticket should pass the check if it\\'s part is a descendant of the filter part. For example, if a", - "title": "SLA status change Slack notifier | Automate | Snap-ins | DevRev" + "id": "ART-1986_KNOWLEDGE_NODE-47", + "text": "assistance.\\n\\n### Expected result\\n\\nThe ticket should have an SLA running if the **SLA Name** is not empty and the ticket satisfies the conditions of any policy within the SLA.\\n\\n[PreviousCommands](/docs/product/commands)[NextOperational-level agreement](/docs/product/ola)\\n\\n#### On this page\\n\\n* [Create an SLA](#create-an-sla)\\n* [Creating policies within SLA](#creating-policies-within-sla)\\n* [Publishing an SLA](#publishing-an-sla)\\n* [Assigning customers](#assigning-customers)\\n*", + "title": "Service-level agreement | Computer for Support Teams | DevRev" }, { - "id": "ART-1986_KNOWLEDGE_NODE-35", - "text": "of schedule when they remain at the same stage, but time spent out of schedule isn't included in the calculation.\\n\\n![]()\\n\\nIf the customer account is updated after the ticket is created, all SLA metrics will be recalculated based on the updated customer account information. Any previous SLA breaches or achievements will be discarded, and new calculations will be applied according to the updated SLA.\\n\\nThe following table describes how each metric works for tickets and", + "id": "ART-1986_KNOWLEDGE_NODE-48", + "text": "[Adding assignment rules](#adding-assignment-rules)\\n* [SLA metric calculation](#sla-metric-calculation)\\n* [Viewing SLAs](#viewing-slas)\\n* [Filtering tickets by Next SLA Target](#filtering-tickets-by-next-sla-target)\\n* [Troubleshooting: No SLA running on the ticket](#troubleshooting-no-sla-running-on-the-ticket)\\n* [Issue](#issue)\\n* [Solution](#solution)\\n* [Next steps](#next-steps)\\n* [Expected result](#expected-result)\\n\\n[Enterprise grade security to protect customer data\\n\\nLearn more", "title": "Service-level agreement | Computer for Support Teams | DevRev" }, { - "id": "ART-15281_KNOWLEDGE_NODE-2", - "text": "| \"completed_in\": 1, |\\n| 16 | \"in_policy\": true, |\\n| 17 | \"is_out_of_schedule\": true, |\\n| 18 | \"next_schedule_transition\": \"2023-01-01T12:00:00.000Z\", |\\n| 19 | \"org_schedule\": { |\\n| 20 | \"id\": \"string\", |\\n| 21 | \"status\": \"archived\", |\\n| 22 | \"display_id\": \"string\", |\\n| 23 | \"name\": \"string\", |\\n| 24 | \"timezone\": \"string\", |\\n| 25 | \"valid_until\": \"2023-01-01T12:00:00.000Z\" |\\n| 26 | }, |\\n| 27 | \"remaining_time\": 1, |\\n| 28 | \"status\": \"string\", |\\n| 29 | \"target_time\":", - "title": "List SLA Trackers | DevRev | Docs" + "id": "ART-1986_KNOWLEDGE_NODE-31", + "text": "to assignment rules would only impact tickets where SLA is applied thereafter, there is no immediate impact on tickets where the SLA is currently running.\\n\\n**Adding exceptions to an SLA**\\n\\n1. Go to **Exceptions** to add customers who should always adhere to an SLA, regardless of the assignment rule.\\n2. Click **+ Customer**.\\n3. Add all customer accounts/workspaces you want to assign the SLA.\\n4. Click **Assign**.\\n\\n![]()\\n\\nSetting an SLA as default will automatically assign it to all", + "title": "Service-level agreement | Computer for Support Teams | DevRev" }, { - "id": "ART-1262_KNOWLEDGE_NODE-2", - "text": "| \"completed_in\": 1, |\\n| 15 | \"in_policy\": true, |\\n| 16 | \"is_out_of_schedule\": true, |\\n| 17 | \"next_schedule_transition\": \"2023-01-01T12:00:00.000Z\", |\\n| 18 | \"org_schedule\": { |\\n| 19 | \"id\": \"string\", |\\n| 20 | \"status\": \"archived\", |\\n| 21 | \"display_id\": \"string\", |\\n| 22 | \"name\": \"string\", |\\n| 23 | \"timezone\": \"string\", |\\n| 24 | \"valid_until\": \"2023-01-01T12:00:00.000Z\" |\\n| 25 | }, |\\n| 26 | \"remaining_time\": 1, |\\n| 27 | \"status\": \"string\", |\\n| 28 | \"target_time\":", - "title": "Get SLA Tracker | DevRev | Docs" + "id": "ART-1986_KNOWLEDGE_NODE-45", + "text": "selected on the ticket is not assigned any SLA.\\n\\n\\xc2\\xa0\\xc2\\xa0 \\xc2\\xa0 - Action: Check your SLA assignment rules or add the customer as an exception to any of your SLAs.\\n\\n![]()\\n\\nThe **SLA Name** is never empty if your organization has a default SLA.\\n\\n1. Verify policy conditions:\\n\\n\\xc2\\xa0\\xc2\\xa0 - If the **SLA Name** is populated but you still see no SLA metrics running on the ticket, the ticket does not satisfy the conditions of any policy within the SLA.\\n\\n\\xc2\\xa0\\xc2\\xa0", + "title": "Service-level agreement | Computer for Support Teams | DevRev" }, { - "id": "ART-1986_KNOWLEDGE_NODE-28", - "text": "*Conversation Policy*.\\n3. In the **New ticket policy** pane, under **Conditions**, select the ticket attributes values of **Tag**, **Part**, and **Severity**.\\n4. Under **Metrics**, enable or disable **First response**, **Next response**, and **Resolution time**.\\n5. Click **Publish**.\\n\\n![]()\\n\\nSLA metrics are only applied to tickets or conversations that meet the policy's conditions.\\n\\nPublishing an SLA\\n-----------------\\n\\nSLAs can be published once all policies are created. Published", + "id": "ART-1986_KNOWLEDGE_NODE-41", + "text": "resolution is due in one day, the vista displays five minutes. In the case where the first response isn't provided within five minutes, the timer displays negative values (such as -10m), which indicates that it's been 10 minutes since the first response was due. Conversations or tickets can also be grouped by SLA stages.\\n\\nIn the **Detailed View**, all metrics applied to the ticket or conversation can be viewed along with their current stage.\\n\\nFiltering tickets by Next SLA", "title": "Service-level agreement | Computer for Support Teams | DevRev" }, { - "id": "ART-2632_KNOWLEDGE_NODE-7", - "text": "\"2023-01-01T12:00:00.000Z\", \\n 15| \"completed_in\": 42, \\n 16| \"in_policy\": true, \\n 17| \"is_out_of_schedule\": true, \\n 18| \"next_schedule_transition\": \"2023-01-01T12:00:00.000Z\", \\n 19| \"org_schedule\": { \\n 20| \"id\": \"foo\", \\n 21| \"status\": \"archived\", \\n 22| \"display_id\": \"foo\", \\n 23| \"name\": \"foo\", \\n 24| \"timezone\": \"foo\", \\n 25|", - "title": "List SLA Trackers (POST) \u2014 DevRev | Docs" + "id": "ART-3107_KNOWLEDGE_NODE-27", + "text": "installed, it automatically checks all newly created tickets\\nand assigns tags based on the configuration.\\n\\n### Triggering tag checks for existing tickets\\n\\nTo apply tags to tickets that were created before the snap-in was installed:\\n\\n1. Go to the **Events/Discussions** section in the snap-in.\\n2. Enter the command: /tag\\\\_existing\\\\_tickets.\\n3. Allow time for the process to complete\\xe2\\x80\\x94this may vary depending on the number\\n of existing tickets.\\n\\n[PreviousTask", + "title": "Ticket Tagger | Automate | Snap-ins | DevRev" }, { - "id": "ART-2017_KNOWLEDGE_NODE-25", - "text": "ticket\\'s owner and subscribers, when a ticket\\'s resolution time SLA changes into the *Warning* or *Breached* stage.\\n\\n![]()\\n\\nFor more information, refer to the\\n[SLA status change Slack notifier snap-in](/marketplace/sla-status-change-slack-notifier) on the DevRev\\nmarketplace.\\n\\nInstallation\\n------------\\n\\n1. Create a Slack app for your workspace in .\\n2. In App features, generate bot token in **OAuth & Permissions**.\\n3. Grant the app bot the following", - "title": "SLA status change Slack notifier | Automate | Snap-ins | DevRev" + "id": "ART-4181_KNOWLEDGE_NODE-22", + "text": "breach\\n\\n![]()\\n\\nSLA timers on Conversation and Ticket panel\\n\\nEquip agents with the comprehensive context they need to prioritize based on service level commitments\\n\\n![]()\\n\\nSLA timers on Conversation and Ticket panel\\n\\nEquip agents with the comprehensive context they need to prioritize based on service level commitments\\n\\n![]()\\n\\nView SLA targets in Inbox view\\n\\nSee critical SLA information directly on your Omnichannel Inbox to prioritize and take action before breach", + "title": "Support like a lightning fast pit-crew" }, { - "id": "ART-15280_KNOWLEDGE_NODE-2", - "text": "| \"breached_at\": \"2023-01-01T12:00:00.000Z\", |\\n| 14 | \"completed_at\": \"2023-01-01T12:00:00.000Z\", |\\n| 15 | \"completed_in\": 1, |\\n| 16 | \"in_policy\": true, |\\n| 17 | \"is_out_of_schedule\": true, |\\n| 18 | \"next_schedule_transition\": \"2023-01-01T12:00:00.000Z\", |\\n| 19 | \"org_schedule\": { |\\n| 20 | \"id\": \"string\", |\\n| 21 | \"status\": \"archived\", |\\n| 22 | \"display_id\": \"string\", |\\n| 23 | \"name\": \"string\", |\\n| 24 | \"timezone\": \"string\", |\\n| 25 | \"valid_until\": \"2023-01-01T12:00:00.000Z\" |\\n|", - "title": "List SLA Trackers (POST) | DevRev | Docs" + "id": "ART-4181_KNOWLEDGE_NODE-20", + "text": "breach\\n\\n![]()\\n\\nSLA timers on Conversation and Ticket panel\\n\\nEquip agents with the comprehensive context they need to prioritize based on service level commitments\\n\\n![]()\\n\\nSLA timers on Conversation and Ticket panel\\n\\nEquip agents with the comprehensive context they need to prioritize based on service level commitments\\n\\n![]()\\n\\nView SLA targets in Inbox view\\n\\nSee critical SLA information directly on your Omnichannel Inbox to prioritize and take action before breach", + "title": "Support like a lightning fast pit-crew" } ] }, @@ -2580,53 +2580,53 @@ "query": "how to find secondary ticket", "retrievals": [ { - "id": "ART-1979_KNOWLEDGE_NODE-54", - "text": "already raised in the primary ticket. Duplicate tickets often arise from customers submitting multiple requests through different channels (email, portal, Slack). All duplicate tickets become *immutable* after merging.\\n\\n**Primary ticket**\\n\\nA primary ticket is the main record that consolidates all relevant information from duplicate tickets. It serves as the primary source of communication for all merged duplicate tickets, ensuring that all customer interactions, updates, and resolutions are", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-15376_KNOWLEDGE_NODE-2", + "text": "tickets, parts\\netc. owned by the secondary Dev user will be transferred to the primary\\nDev user.\\n\\n### Headers\\n\\nAuthorizationstringRequired\\n\\nBearer authentication of the form `Bearer `, where token is your auth token.\\n\\n### Request\\n\\nThis endpoint expects an object.\\n\\nprimary\\\\_userstringRequired`format: \"id\"`\\n\\nThe unique ID of the primary user.\\n\\nsecondary\\\\_userstringRequired`format: \"id\"`\\n\\nThe unique ID of the secondary user.\\n\\n### Response\\n\\nResponse object for", + "title": "Merge Dev Users | DevRev | Docs" }, { - "id": "ART-1979_KNOWLEDGE_NODE-59", - "text": "duplicate tickets transfer to the primary ticket.\\n* The older messages and attachments on the duplicate ticket remains within the duplicate ticket post merge.\\n* Any new customer message on duplicate tickets post merge sync to the primary ticket.\\n* Duplicate tickets remain accessible through the **Linked Objects** section of the primary ticket.\\n* CSAT triggers only for the primary ticket resolution.\\n* Merge actions cannot be reversed, and merged tickets cannot be merged again.\\n\\nFollow up", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-12995_KNOWLEDGE_NODE-0", + "text": "b'[](/public/api-reference/dev-users/merge)\\n\\nPublic\\n\\n[API Reference](/public/api-reference/getting-started)[Dev Users](/public/api-reference/dev-users/activate)\\n\\n# Merge Dev Users\\n\\nPOST\\n\\nhttps://api.devrev.ai/dev-users.merge\\n\\nTry it\\n\\nMerges the identity of a secondary Dev user with the primary Dev user. The account of the secondary Dev user will be deactivated and will no longer be able to log into DevRev. All objects - issues, tickets, parts etc. owned by the secondary Dev user", + "title": "Merge Dev Users \u2014 DevRev | Docs" }, { - "id": "ART-1979_KNOWLEDGE_NODE-57", - "text": "only when users configure the post merge stage in the ticket preference settings page.\\n\\n### Merge tickets\\n\\n1. Open the primary ticket and select the merge option from the side panel.\\n\\n ![]()\\n\\n The ticket from which you initiate the merge becomes the primary ticket.\\n2. In the modal window that appears, review the suggested duplicate tickets based on the pre-filled primary ticket title.\\n3. Select the appropriate duplicate tickets and confirm the merge action.\\n\\n There is no limit", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-4267_KNOWLEDGE_NODE-0", + "text": "b'[](/beta/api-reference/dev-users/merge)\\n\\nBeta\\n\\n[API Reference](/beta/api-reference/accounts/create)[Dev Users](/beta/api-reference/dev-users/activate)\\n\\n# Merge Dev Users\\n\\nPOST\\n\\nhttps://api.devrev.ai/dev-users.merge\\n\\nTry it\\n\\nMerges the identity of a secondary Dev user with the primary Dev user. The account of the secondary Dev user will be deactivated and will no longer be able to log into DevRev. All objects - issues, tickets, parts etc. owned by the secondary Dev user will be", + "title": "Merge Dev Users (Beta) \u2014 DevRev | Docs" }, { - "id": "ART-1979_KNOWLEDGE_NODE-58", - "text": "on the number of tickets that can be merged.\\n4. Review the automatic communication sent to primary and duplicate ticket owners (configurable in ticket preferences).\\n\\n### Post-merge conditions\\n\\n* The primary ticket retains all key fields (description, part, group, owner, creator, priority, stage), and the SLA remains unchanged.\\n* Events are updated to reflect all merge actions.\\n* Subscribers and reporters from duplicate tickets are added to the primary ticket.\\n* Linked objects from", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-15716_KNOWLEDGE_NODE-5", + "text": "ticket, selecting the merge option, and choosing the duplicate tickets to merge. Only unclosed tickets with the same reporters can be merged. After merging, duplicate tickets are archived, and all future messages go to the primary ticket.\\n\\nStep-by-step guide:\\xc2\\xa0[How to merge tickets](https://devrev.ai/docs/product/tickets#merging-guidelines)\\n\\n2. Creating Tickets in DevRevYou can create tickets from the app, support portal, Slack, or via API. Fill in required fields (like title, part,", + "title": "Support queries related playbook" }, { - "id": "ART-1979_KNOWLEDGE_NODE-56", - "text": "reporters or no reporters.\\n* Active status: Only unclosed tickets can be selected as primary or duplicate tickets.\\n* Channel flexibility: Tickets from any channel can be merged if they share the same reporters.\\n\\n### Merge settings\\n\\nYou can configure the following options in the ticket preferences page:\\n\\n* Communication messages for duplicate and primary ticket owners\\n* Stage of duplicate tickets after merge\\n* Accounts to exclude from automated messages\\n\\n![]()\\n\\nMerge can be enabled", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-2012_KNOWLEDGE_NODE-29", + "text": "[email integration snap-in](../integrations/email). This is to ensure that your customer receives an email about the follow-up ticket creation.\\n\\n## Installation\\n\\n 1. In DevRev, go to **Settings** > **Snap-ins** and click **Explore Marketplace** in the top-right corner.\\n 2. In the DevRev marketplace, find **Follow-up ticket** and click **Install**.\\n\\n[PreviousDescope identity validation](/docs/automations/descope-identity-validation)[NextHTTP archive file upload &", + "title": "Follow-up ticket | Automate | Snap-ins | DevRev" }, { - "id": "ART-1979_KNOWLEDGE_NODE-39", - "text": "other tickets or issues that relate to this ticket, click **Link Records** and select the relevant items.\\n7. If you would like to immediately create another ticket, select **Create multiple**.\\n8. Click **Create**.\\n\\nIf a ticket is created from an existing conversation, then the ticket's title and description are populated automatically from the conversation.\\n\\n![]()\\n\\nYou can create a child issue by clicking **+ Link issue** > **Add a child issue**. You can link the other existing issue as", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-1290_KNOWLEDGE_NODE-18", + "text": "\"SECONDARY\", |\\n| 19 | \"action_type\": \"remote\", |\\n| 20 | \"style\": \"secondary\", |\\n| 21 | \"text\": { |\\n| 22 | \"text\": \"SECONDARY\", |\\n| 23 | \"type\": \"plain_text\" |\\n| 24 | }, |\\n| 25 | \"type\": \"button\", |\\n| 26 | \"value\": \"SECONDARY\" |\\n| 27 | }, |\\n| 28 | { |\\n| 29 | \"action_id\": \"DESTRUCTIVE\", |\\n| 30 | \"action_type\": \"remote\", |\\n| 31 | \"style\": \"destructive\", |\\n| 32 | \"text\": { |\\n| 33 | \"text\": \"DESTRUCTIVE\", |\\n| 34 | \"type\": \"plain_text\" |\\n| 35 | }, |\\n| 36 | \"type\": \"button\", |\\n| 37", + "title": "Snapkit | DevRev | Docs" }, { - "id": "ART-1979_KNOWLEDGE_NODE-60", - "text": "tickets\\n-----------------\\n\\nFollow up tickets allow support teams to seamlessly address unresolved issues, recurring problems, or additional concerns without losing context. By linking follow-up tickets to the original ticket(archived/immutable), teams can track ongoing issues more effectively, minimize duplicate work and enhance customer experience. A follow-up ticket is a new ticket that is created and linked when a customer responds in reference to an archived/immutable ticket. The", + "id": "ART-1979_KNOWLEDGE_NODE-28", + "text": "and group tickets in various views.\\nYou can find all the stock attributes listed in **Settings** > **Object customization** > **Ticket** > **Stock fields**.\\nThese are the stock attributes that come with DevRev:\\n\\n* **Owner**: The person responsible for the ticket. Tickets are assigned to an engineer, PM, designer, or any other team member through the **Owner** attribute.\\n* **Group**: The group to which the ticket belongs. For more information on groups, see [groups](./groups).\\n*", "title": "Tickets | Computer for Support Teams | DevRev" }, { - "id": "ART-1979_KNOWLEDGE_NODE-52", - "text": "don\\xe2\\x80\\x99t forget to give \\xf0\\x9f\\x91\\x8d on the suggestion if you like it or \\xf0\\x9f\\x91\\x8e to dislike it.\\n\\n![]()\\n\\nDuplicate ticket merging\\n------------------------\\n\\nDuplicate tickets in a support system pose a significant challenge by creating inefficiencies, increasing the workload for support agents, and negatively impacting user experience. These tickets often result from user frustration or misunderstandings of the resolution process, leading to confusion and disrupting", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-1947_KNOWLEDGE_NODE-36", + "text": "Conversations can be immediately linked to a ticket, a ticket to an issue and subsequently to a part (product capabilities and features).\\n\\n| Link | Control |\\n| --- | --- |\\n| Conversation \\xe2\\x86\\x92 Ticket | Open the conversation and click **Tickets > + Link tickets**. Either create a new ticket or select an existing ticket. |\\n| Ticket \\xe2\\x86\\x92 Issue | Open the ticket and click **Issues > + Link issues**. Either create a new issue or select an existing issue. |\\n| Issue \\xe2\\x86\\x92", + "title": "Apps | Computer by DevRev | DevRev" }, { - "id": "ART-1979_KNOWLEDGE_NODE-64", - "text": "internal tickets.\\n\\nTo create an internal ticket, click the **Create Ticket** button. At the bottom of the ticket creation panel, click the dropdown menu on **Create external ticket** and select **Create internal ticket**.\\n\\nYou can convert an internal ticket to an external ticket by clicking **Convert to External** within the **Customer Messages** tab. Once a ticket is converted to external, it cannot be reverted back to internal.\\n\\n[PreviousConversation to ticket", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-1484_KNOWLEDGE_NODE-20", + "text": "\"action_type\": \"remote\", \\n 20| \"style\": \"secondary\", \\n 21| \"text\": { \\n 22| \"text\": \"SECONDARY\", \\n 23| \"type\": \"plain_text\" \\n 24| }, \\n 25| \"type\": \"button\", \\n 26| \"value\": \"SECONDARY\" \\n 27| }, \\n 28| { \\n 29| \"action_id\": \"DESTRUCTIVE\", \\n 30| \"action_type\": \"remote\", \\n 31| \"style\": \"destructive\", \\n 32|", + "title": "Snapkit \u2014 DevRev | Docs" }, { - "id": "ART-1979_KNOWLEDGE_NODE-61", - "text": "following scenarios can lead to the creation of follow up ticket:\\n\\n* Customers communicated on an archived/immutable ticket from any channel such as email.\\n* Customer communicated on a merged ticket and the primary ticket is also archived.\\n\\nAfter creation of a follow up ticket the customer messages will reflect only on the new followup ticket and the customer will continue to see response on the same thread in channels like email & slack. The user can continue responding on the new follow", + "id": "ART-1979_KNOWLEDGE_NODE-65", + "text": "conversion](/docs/product/conversation-ticket)[NextRouting](/docs/product/routing)\\n\\n#### On this page\\n\\n* [Attributes](#attributes)\\n* [Create a ticket](#create-a-ticket)\\n* [Tags](#tags)\\n* [Stages](#stages)\\n* [Subtypes](#subtypes)\\n* [Viewing attachments on tickets](#viewing-attachments-on-tickets)\\n* [Turing suggests](#turing-suggests)\\n* [Duplicate ticket merging](#duplicate-ticket-merging)\\n* [Merging guidelines](#merging-guidelines)\\n* [Merge settings](#merge-settings)\\n* [Merge", "title": "Tickets | Computer for Support Teams | DevRev" } ] @@ -2635,25 +2635,20 @@ "query_id": "05e8a3ee-fe67-4ece-b8c8-5088330b0864", "query": "converting conversations to tickets issue customer channel acme", "retrievals": [ - { - "id": "ART-4271_KNOWLEDGE_NODE-29", - "text": "end user.\\n\\n## Why you should convert a Conversation to a Ticket\\n\\nConsider converting a conversation to a ticket in these scenarios:\\n\\n * **Complex issues** : When a customer inquiry requires in-depth investigation that can't be resolved in a quick conversation.\\n * **Cross-team collaboration** : Issues requiring input from multiple departments or specialists.\\n * **Escalation needs** : When a conversation needs to be escalated to a higher support tier.\\n * **Feature requests** :", - "title": "Convert Conversations to Tickets | Conversations | Support | DevRev" - }, { "id": "ART-4271_KNOWLEDGE_NODE-26", "text": "conversation metadata including: \\n * Source channel\\n * Customer account information\\n * External members added as **reported by** on the ticket\\n * An AI-generated ticket title and description based on customer messages.\\n\\n### How to convert Conversations to Tickets\\n\\n**Manual Conversion**\\n\\nTo manually convert a conversation to a ticket:\\n\\n 1. Open the conversation record pane view.\\n 2. Click **Convert to Ticket** to initiate the conversion.\\n\\n**Automated Conversion", "title": "Convert Conversations to Tickets | Conversations | Support | DevRev" }, { - "id": "ART-4271_KNOWLEDGE_NODE-31", - "text": "AI-handled conversation reaches its capability limits and needs human expertise.\\n * **Extended troubleshooting** : Issues requiring multiple steps or follow-ups over time.\\n\\n## Key information\\n\\n * **Channel support** : Currently, the conversion feature is only available for PLuG and Slack conversations. Other channels still use the traditional **Link Ticket** functionality.\\n\\n * **CSAT surveys** : CSAT surveys are not sent when a conversation is converted to a ticket. Surveys are only", - "title": "Convert Conversations to Tickets | Conversations | Support | DevRev" + "id": "ART-6174_KNOWLEDGE_NODE-28", + "text": "tickets\\n--------------------------------\\n\\n**Manual conversion**\\n\\nGo to the conversation record pane and select **Convert to Ticket** to create a new ticket from the conversation.\\n\\n![]()\\n\\n**Automated conversion via workflows**\\n\\nSet up automated [workflows](./workflow-engine) to convert conversations to tickets based on specific triggers:\\n\\n* When a conversation meets defined criteria\\n* When the AI agent identifies an issue requiring escalation\\n* According to custom business", + "title": "Conversation to ticket conversion | Conversations | Computer for Support Teams | DevRev" }, { - "id": "ART-6174_KNOWLEDGE_NODE-32", - "text": "handling**: Conversation and ticket SLAs operate independently. When converting:\\n\\n + The new ticket starts with its own response and resolution SLA timers\\n + All active SLA metrics on the original conversation are marked as completed\\n\\n[PreviousConversations](/docs/product/conversation)[NextTickets](/docs/product/tickets)\\n\\n#### On this page\\n\\n* [Conversation conversion process](#conversation-conversion-process)\\n* [Convert conversations to tickets](#convert-conversations-to-tickets)\\n*", - "title": "Conversation to ticket conversion | Conversations | Computer for Support Teams | DevRev" + "id": "ART-1947_KNOWLEDGE_NODE-36", + "text": "Conversations can be immediately linked to a ticket, a ticket to an issue and subsequently to a part (product capabilities and features).\\n\\n| Link | Control |\\n| --- | --- |\\n| Conversation \\xe2\\x86\\x92 Ticket | Open the conversation and click **Tickets > + Link tickets**. Either create a new ticket or select an existing ticket. |\\n| Ticket \\xe2\\x86\\x92 Issue | Open the ticket and click **Issues > + Link issues**. Either create a new issue or select an existing issue. |\\n| Issue \\xe2\\x86\\x92", + "title": "Apps | Computer by DevRev | DevRev" }, { "id": "ART-6174_KNOWLEDGE_NODE-27", @@ -2661,29 +2656,34 @@ "title": "Conversation to ticket conversion | Conversations | Computer for Support Teams | DevRev" }, { - "id": "ART-6174_KNOWLEDGE_NODE-28", - "text": "tickets\\n--------------------------------\\n\\n**Manual conversion**\\n\\nGo to the conversation record pane and select **Convert to Ticket** to create a new ticket from the conversation.\\n\\n![]()\\n\\n**Automated conversion via workflows**\\n\\nSet up automated [workflows](./workflow-engine) to convert conversations to tickets based on specific triggers:\\n\\n* When a conversation meets defined criteria\\n* When the AI agent identifies an issue requiring escalation\\n* According to custom business", - "title": "Conversation to ticket conversion | Conversations | Computer for Support Teams | DevRev" + "id": "ART-4271_KNOWLEDGE_NODE-25", + "text": "is being replaced with a new **Convert to Ticket** feature. This change provides a more seamless transition from conversation to ticket management.\\n\\n## How Conversation conversion works\\n\\nWhen you convert a conversation to a ticket, the following happens automatically:\\n\\n * The original conversation is moved to _Archived_ stage and cannot be reopened.\\n * A new ticket is created with: \\n * All internal discussions and customer messages copied from the conversation.\\n * Preserved", + "title": "Convert Conversations to Tickets | Conversations | Support | DevRev" }, { - "id": "ART-6174_KNOWLEDGE_NODE-31", - "text": "Cross-team collaboration needs\\n* Escalation requirements\\n* Feature requests\\n* Bug reports\\n* SLA tracking requirements\\n* Documentation needs\\n* Resource allocation requirements\\n* AI capability limitations\\n* Extended troubleshooting needs\\n\\nSupport workflows\\n-----------------\\n\\n* **CSAT surveys**: CSAT surveys are not sent when a conversation is converted to a ticket. Surveys are only triggered when a conversation is resolved, not when it's archived through conversion.\\n* **SLA", - "title": "Conversation to ticket conversion | Conversations | Computer for Support Teams | DevRev" + "id": "ART-4271_KNOWLEDGE_NODE-24", + "text": "[Support](/docs/product/support?)\\n 4. [Conversations](/docs/product/conversation?)\\n 5. [Convert Conversations to Tickets](/docs/product/Conversation-Tickets?)\\n\\n# Convert Conversations to Tickets\\n\\nYou can now convert conversations from PLuG and Slack directly into tickets. Previously, conversations were only linked to tickets. This update streamlines workflows and enhances the customer experience.\\n\\nFor conversations originating from PLuG or Slack, the **Link to Ticket** functionality", + "title": "Convert Conversations to Tickets | Conversations | Support | DevRev" }, { - "id": "ART-6174_KNOWLEDGE_NODE-26", - "text": "functionality is replaced with a new **Convert to Ticket** feature. Currently, the conversion feature is available only for Plug and Slack conversations. Other channels still use the traditional **Link Ticket** functionality.\\n\\nConversion cannot be undone. Once a conversation is converted to a ticket, this action is permanent and the conversation remains archived.\\n\\nConversation conversion process\\n-------------------------------\\n\\nWhen you convert a conversation to a ticket, the following", + "id": "ART-6174_KNOWLEDGE_NODE-25", + "text": "Teams](/docs/product/support)\\n[Conversations](/docs/product/conversation)\\n[Conversation to ticket conversion](/docs/product/conversation-ticket)\\n\\nConversation to ticket conversion\\n=================================\\n\\nYou can convert conversations from Plug and Slack directly into tickets. Previously, conversations were only linked to tickets. This update streamlines workflows and enhances the customer experience.\\n\\nFor conversations originating from Plug or Slack, the **Link to Ticket**", "title": "Conversation to ticket conversion | Conversations | Computer for Support Teams | DevRev" }, { - "id": "ART-6174_KNOWLEDGE_NODE-30", - "text": "there.\\n\\n![]()\\n\\nSlack end-user experience\\n-------------------------\\n\\nWhen a conversation is converted to a ticket in Slack:\\n\\n* Ticket information appears within the same thread.\\n* All subsequent messages sync with the newly created ticket.\\n* The transition is seamless for the end user.\\n\\nConversation conversion scenarios\\n---------------------------------\\n\\nConsider converting a conversation to a ticket in these scenarios:\\n\\n* Complex issues requiring in-depth investigation\\n*", - "title": "Conversation to ticket conversion | Conversations | Computer for Support Teams | DevRev" + "id": "ART-4271_KNOWLEDGE_NODE-29", + "text": "end user.\\n\\n## Why you should convert a Conversation to a Ticket\\n\\nConsider converting a conversation to a ticket in these scenarios:\\n\\n * **Complex issues** : When a customer inquiry requires in-depth investigation that can't be resolved in a quick conversation.\\n * **Cross-team collaboration** : Issues requiring input from multiple departments or specialists.\\n * **Escalation needs** : When a conversation needs to be escalated to a higher support tier.\\n * **Feature requests** :", + "title": "Convert Conversations to Tickets | Conversations | Support | DevRev" }, { - "id": "ART-4271_KNOWLEDGE_NODE-8", - "text": "* [Automatic customer reply](/docs/automations/auto-reply?)\\n * [Auto parts to conversation](/docs/automations/auto-parts?)\\n * [Automate opportunities](/docs/automations/opportunity?)\\n * [Bulk delete data](/docs/automations/bulk-delete?)\\n * [Bulk work item uploader](/docs/automations/bulk-upload?)\\n * [Commands surface expander](/docs/automations/commands-surface-expander?)\\n * [Convergence](/docs/automations/converge?)\\n * [Conversation", - "title": "Convert Conversations to Tickets | Conversations | Support | DevRev" + "id": "ART-2737_KNOWLEDGE_NODE-5", + "text": "ticket conversion](/docs/product/conversation-ticket)\\n + [Tickets](/docs/product/tickets)\\n + [Routing](/docs/product/routing)\\n + [Support best practices](/docs/product/support-bp)\\n + [Customer portal](/docs/product/support-portal)\\n + [Questions & answers](/docs/product/qa)\\n + [Knowledge Base](/docs/product/knowledge-base)\\n\\n - [Articles](/docs/product/articles)\\n - [Collections](/docs/product/collection)\\n + [Turing AI agent](/docs/product/conversational-bot)\\n\\n - [Best", + "title": "Smart issue creator | Automate | Snap-ins | DevRev" + }, + { + "id": "ART-2874_KNOWLEDGE_NODE-5", + "text": "ticket conversion](/docs/product/conversation-ticket)\\n + [Tickets](/docs/product/tickets)\\n + [Routing](/docs/product/routing)\\n + [Support best practices](/docs/product/support-bp)\\n + [Customer portal](/docs/product/support-portal)\\n + [Questions & answers](/docs/product/qa)\\n + [Knowledge Base](/docs/product/knowledge-base)\\n\\n - [Articles](/docs/product/articles)\\n - [Collections](/docs/product/collection)\\n + [Turing AI agent](/docs/product/conversational-bot)\\n\\n - [Best", + "title": "Ticket issue field migrator | Automate | Snap-ins | DevRev" } ] }, @@ -2692,54 +2692,54 @@ "query": "add subtype in conversation in DevRev", "retrievals": [ { - "id": "ART-5010_KNOWLEDGE_NODE-0", - "text": "b'Subtype Migration | Automate | Snap-ins | DevRev\\n\\n* Computer\\n* Resources\\n* [Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nComputer\\n\\nResources\\n\\n[Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nSearch\\n\\n`CTRL`\\xc2\\xa0+\\xc2\\xa0`K`\\n\\n* [Introduction](/docs)\\n* [Computer by DevRev](/docs/intro)\\n\\n + [Core concepts](/docs/product/core)\\n + [Apps](/docs/product/apps)\\n +", - "title": "Subtype Migration | Automate | Snap-ins | DevRev" + "id": "ART-1956_KNOWLEDGE_NODE-29", + "text": "specific subtypes:\\n 1. In the subtype section of the object, select **Add**.\\n 2. Select the subtype to update privileges.\\n 3. To further restrict privileges, add a custom condition as with object\\n roles.\\n7. Select **Save**.\\n\\n### Update a customer role\\n\\n1. In [**Settings > Customer Management > Roles**](https://app.devrev.ai/devrev/settings/customer-roles), select the role to update.\\n2. Select **Edit**.\\n3. Update the role details.\\n4. Select **Save**.\\n\\n### Assign a", + "title": "Roles | Computer by DevRev | DevRev" }, { - "id": "ART-17231_KNOWLEDGE_NODE-58", - "text": "top](/airsync/supported-object-types#summary)\\n\\nconversation\\n------------\\n\\n**Resource Type:** `conversation`\\n\\n**Capabilities:** Can Load, Can Subtype\\n\\n### Fields\\n\\n| Field | Type | Required | Description |\\n| --- | --- | --- | --- |\\n| `applies_to_part_ids` | reference (collection)\\xe2\\x86\\x92[#category:part] | | Details of the parts relevant to the conversation. |\\n| `broadcast_channels` | text (collection) | | Active channels for the conversation |\\n| `channels` | reference", - "title": "Supported DevRev object types | DevRev | Docs" + "id": "ART-1992_KNOWLEDGE_NODE-40", + "text": "inherits all the attributes of its parent issue type. You can add custom attributes to a subtype.\\nTo know how to create subtypes and add custom attributes to them, see [object customization](./object-customization).\\n\\n[PreviousComputer for Builders](/docs/product/build)[NextNow, Next, Later](/docs/product/nnl)\\n\\n#### On this page\\n\\n* [Attributes](#attributes)\\n* [Discussion and events](#discussion-and-events)\\n* [Create an issue](#create-an-issue)\\n* [Tags](#tags)\\n* [Stages](#stages)\\n*", + "title": "Issues | Computer for Builders | DevRev" }, { - "id": "ART-5010_KNOWLEDGE_NODE-32", - "text": "[Marketplace](https://marketplace.devrev.ai/)\\n\\nResources\\n\\n* [Blog](/blog)\\n* [Our Customers](/case-study)\\n* [Snap-In Extensions](https://developer.devrev.ai/public/snapin-development/concepts)\\n* [DevRevU training](/docs/DevRevU)\\n* [Documentation](https://docs.devrev.ai/)\\n* [API References](https://docs.devrev.ai/api/)\\n\\nCompany\\n\\n* [About](/about)\\n* [Events](/events)\\n* [Careers](/careers)\\n* [What Why How](/what-why-how)\\n\\nInitiatives\\n\\n* [Partner Program](/partners)\\n* [Startups", - "title": "Subtype Migration | Automate | Snap-ins | DevRev" + "id": "ART-1957_KNOWLEDGE_NODE-36", + "text": "object.\\n\\n1. Click **+** on the right side of **Objects**. A **New subtype** popup will appear.\\n2. Provide a name and description and select which object this belongs to. Click **Proceed**.\\n3. You can now customize this subtype as per your wish. Click **Edit** in the top right corner.\\n4. [Add new fields](#add-a-new-field-to-an-object-or-a-subtype) that you need.\\n5. Publish the subtype to make it live.\\n\\nTo delete the subtype, **\\xe2\\x8b\\xae** next to **Edit** then **Deprecate", + "title": "Object customization | Computer by DevRev | DevRev" }, { - "id": "ART-4116_KNOWLEDGE_NODE-10", - "text": "Agents?](https://devrev.ai/what-are-ai-agents)\\n * [What is Agentic AI?](https://devrev.ai/what-is-agentic-ai)\\n * [What is Enterprise Search?](https://devrev.ai/what-is-enterprise-search)\\n * [What is Conversational AI?](https://devrev.ai/what-is-conversational-ai)\\n\\n[](https://devrev.ai)\\n\\n[](https://www.linkedin.com/company/devrev)[](https://medium.com/devrev)[](https://twitter.com/devrev)\\n\\n[System Status](https://devrev.ai/status)\\n\\n\\xc2\\xa9 2025 DevRev", - "title": "Prepare-Update Schemas Subtypes (Beta) \u2014 DevRev | Docs" + "id": "ART-1524_KNOWLEDGE_NODE-10", + "text": "112| } \\n 113| }, \\n 114| \"stock_schema_fragment\": \"don:core:dvrv-us-1:devo/example:custom_type_fragment/custom-type-fragment-id\", \\n 115| \"subtype\": \"subtype\", \\n 116| \"tags\": [ \\n 117| { \\n 118| \"tag\": { \\n 119| \"id\": \"id\", \\n 120| \"name\": \"name\" \\n 121| } \\n 122| } \\n 123| ], \\n 124| \"title\": \"title\" \\n 125| } \\n 126| }\\n[/code] \\n \\n[List ConversationsUp", + "title": "Get Conversation (POST) (Beta) \u2014 DevRev | Docs" }, { - "id": "ART-1593_KNOWLEDGE_NODE-318", - "text": "subtype \" : \" string \" , 35 \" tags \" : [ 36 { 37 \" tag \" : { 38 \" name \" : \" string \" , 39 \" display_id \" : \" string \" , 40 \" id \" : \" string \" 41 } , 42 \" value \" : \" string \" 43 } 44 ] , 45 \" created_by \" : { 46 \" type \" : \" dev_user \" , 47 \" display_name \" : \" string \" , 48 \" display_picture \" : { 49 \" display_id \" : \" string \" , 50 \" id \" : \" string \" 51 } , 52 \" email \" : \" string \" , 53 \" full_name \" : \" string \" , 54 \" state \" : \" active \" , 55 \" display_id \" : \" string \" , 56 \" id \" : \"", - "title": "Get \u2014 DevRev | Docs" + "id": "ART-12390_KNOWLEDGE_NODE-31", + "text": "Conversation object |\\n| GetCustomer | Retrieves customer (rev\\\\_user) details. | * id: ID of the customer * subtype: (Optional) Customer subtype * apps: (Optional) Related apps | Rev\\\\_user object |\\n| GetEnhancement | Retrieves enhancement details. | * id: ID of the enhancement * subtype: (Optional) Enhancement subtype * apps: (Optional) Related apps | Enhancement object |\\n| GetFeature | Retrieves feature details. | * id: ID of the feature * subtype: (Optional) Feature subtype * apps:", + "title": "Workflow action library | Workflows | Computer by DevRev | DevRev" }, { - "id": "ART-1957_KNOWLEDGE_NODE-24", - "text": "subtype](#add-a-new-subtype)\\n\\n1. [Documentation](/docs)\\n3. [Computer by DevRev](/docs/intro)\\n[Object customization](/docs/product/object-customization)\\n\\nObject customization\\n====================\\n\\nDevRev powers your organization with the ability to customize DevRev objects for your organization\\'s needs. You can add custom fields to the objects along with the pre-existing fields or add new subtypes to the objects which helps you extend an object\\'s capabilities.\\nObjects are the core", - "title": "Object customization | Computer by DevRev | DevRev" + "id": "ART-12390_KNOWLEDGE_NODE-39", + "text": "to update * subtype: (Optional) Ticket subtype * apps: (Optional) Related apps * app\\\\_custom\\\\_fields: (Optional) Custom fields * stage: (Optional) New stage | Updated ticket object |\\n\\nObject links\\n------------\\n\\n| Operation | Description | Input Parameters | Output |\\n| --- | --- | --- | --- |\\n| LinkConversationWithTicket | Creates a link between a conversation and a ticket. | * source: Conversation ID * link\\\\_type: Type of link (usually \"is\\\\_related\\\\_to\") * target: Ticket ID | Empty", + "title": "Workflow action library | Workflows | Computer by DevRev | DevRev" }, { - "id": "ART-5010_KNOWLEDGE_NODE-2", - "text": "[Object customization](/docs/product/object-customization)\\n + [Glossary \\xe2\\x86\\x97\\xef\\xb8\\x8f](https://support.devrev.ai/devrev/article/ART-16784-glossary)\\n + [Search](/docs/product/search)\\n + [Workflows](/docs/product/workflow-engine)\\n\\n - [Workflow action library](/docs/product/action-library)\\n - [Triggers](/docs/product/trigger-library)\\n - [Conversational workflows](/docs/product/conversational-workflows)\\n - [Workflow management](/docs/product/workflow-management)\\n", - "title": "Subtype Migration | Automate | Snap-ins | DevRev" + "id": "ART-12390_KNOWLEDGE_NODE-30", + "text": "Parameters | Output |\\n| --- | --- | --- | --- |\\n| GetAccount | Retrieves account details. | * id: ID of the account * subtype: (Optional) Account subtype * apps: (Optional) Related apps | Account object |\\n| GetAirdropSyncUnit | Retrieves information about an Airdrop sync unit. | * id: ID of the sync unit | Sync unit object |\\n| GetConversation | Retrieves conversation details. | * id: ID of the conversation * subtype: (Optional) Conversation subtype * apps: (Optional) Related apps |", + "title": "Workflow action library | Workflows | Computer by DevRev | DevRev" }, { - "id": "ART-5010_KNOWLEDGE_NODE-4", - "text": "insights](/docs/dashboards/conversation-insights)\\n - [Conversation-SLA Analytics](/docs/dashboards/conversation-sla-analytics)\\n - [Conversation-Team Performance](/docs/dashboards/conversation-team-performance)\\n - [Ticket insights](/docs/dashboards/ticket-insights)\\n - [Ticket-SLA Analytics](/docs/dashboards/ticket-sla-analytics)\\n - [Ticket-Team Performance](/docs/dashboards/ticket-team-performance)\\n + [Conversations](/docs/product/conversation)\\n\\n - [Conversation to", + "id": "ART-5010_KNOWLEDGE_NODE-27", + "text": "in object customization.\\n\\n ![]()\\n\\n * Each source\\\\_field must exist in the source subtype and each target\\\\_field must exist in the target subtype.\\n * Field types between source and target must be compatible for successful data transfer.\\n * Duplicate field names should not be present in the same subtype.\\n3. Click **Save** and **Install**.\\n4. Enter /migrate\\\\_subtype in the Discussion section of the snap-in to start the migration process.\\n5. On successful validation, the snap-in", "title": "Subtype Migration | Automate | Snap-ins | DevRev" }, { - "id": "ART-5010_KNOWLEDGE_NODE-33", - "text": "Program](/startups)\\n* [Gr.ai.ce](/graice)\\n\\n* [Security](https://security.devrev.ai/)\\n* [SLA](/legal/sla)\\n* [DPA](/legal/dpa)\\n* [Subprocessors](/security/sub-processors)\\n* [Cookie Policy](/legal/cookie-policy)\\n* [Privacy Policy](/legal/privacy-policy)\\n* [Terms of Service](/legal/terms-of-service)\\n\\n[System Status](/status)\\n\\n\\xc2\\xa9 2025 DevRev Inc.'", - "title": "Subtype Migration | Automate | Snap-ins | DevRev" + "id": "ART-1956_KNOWLEDGE_NODE-26", + "text": "subtype section of the object, select **Add**.\\n 2. Select the subtype to update privileges.\\n 3. To further restrict privileges, add a custom condition as with object\\n roles.\\n7. Select **Save**.\\n\\n### Update a user role\\n\\n1. In [**Settings > User Management > Roles**](https://app.devrev.ai/devrev/settings/user-roles), select the role to update.\\n2. Select **Edit**.\\n3. Update the role details.\\n4. Select **Save**.\\n\\n### Assign a user role\\n\\n1. In [**Settings > User Management >", + "title": "Roles | Computer by DevRev | DevRev" }, { - "id": "ART-4116_KNOWLEDGE_NODE-8", - "text": "[About](https://devrev.ai/about)\\n * [People](https://devrev.ai/people)\\n * [Careers](https://devrev.ai/careers)\\n * [Places](https://devrev.ai/places)\\n * [Invest](https://revd.devrev.ai/)\\n * [What Why How](https://devrev.ai/what-why-how)\\n\\nConnect\\n\\n * [Contact ](mailto:humansofdevrev@devrev.ai)\\n * [Instagram ](https://www.instagram.com/devrev)\\n * [Medium ](https://medium.com/devrev)\\n * [Linkedin ](https://www.linkedin.com/company/devrev)\\n * [X (formerly", - "title": "Prepare-Update Schemas Subtypes (Beta) \u2014 DevRev | Docs" + "id": "ART-12390_KNOWLEDGE_NODE-29", + "text": "Ticket | Creates a new ticket in DevRev. | * Ticket details like title, body, applies\\\\_to\\\\_part, etc. * subtype: (Optional) Ticket subtype * apps: (Optional) Related apps * app\\\\_custom\\\\_fields: (Optional) Custom fields | Created ticket object |\\n| Convert Conversation To Ticket | Converts a conversation to a ticket. | * conversation\\\\_id: ID of the conversation to convert | ticket\\\\_id: ID of the created ticket |\\n\\nObject retrieval\\n----------------\\n\\n| Operation | Description | Input", + "title": "Workflow action library | Workflows | Computer by DevRev | DevRev" } ] }, @@ -2748,29 +2748,24 @@ "query": "DevRev Platform Orientation & Navigation Guide video login options", "retrievals": [ { - "id": "ART-1944_KNOWLEDGE_NODE-0", - "text": "b\"Product Platform Solutions Marketplace Company Resources Pricing\\n\\nLogin Book a demo\\nProduct Platform Solutions Marketplace Company Resources Pricing\\nLogin Book a demo\\nSearch CTRL + K\\n\\nIntroduction AgentOS platform\\n\\nCore concepts Apps Groups Parts & trails Vistas Vista Reports\\nTasks Updates Customer email notifications Roles Default privileges by group\\nAccess control Object customization Glossary Search People insights Workflow Templates Accessing DevRev External identity provider", - "title": "DevRev Documentation" - }, - { - "id": "ART-2076_KNOWLEDGE_NODE-2", - "text": "applications](https://rise.articulate.com/share/yTvcdwN0dMgzhiU_Kgbbs2t8lfkpnC5O)[![]()\\n\\nDevRev: Admin management and set-up\\n\\nSet up, manage, and streamline workflows for smooth operations](https://devrevu.reach360.com/share/course/d238d6fd-ab6a-41b3-a99b-44e1d2a8d221)\\n\\nExplore more courses\\n--------------------\\n\\nDiscover more courses to expand your DevRev skills and continue your learning journey\\n\\n[![]()\\n\\nDevRev platform fundamentals\\n\\nYour first step to navigating and mastering", - "title": "DevRev University" + "id": "ART-2665_KNOWLEDGE_NODE-0", + "text": "b'Session recording options | Session analytics | Computer for Your Customers | DevRev\\n\\n* Computer\\n* Resources\\n* [Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nComputer\\n\\nResources\\n\\n[Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nSearch\\n\\n`CMD`\\xc2\\xa0+\\xc2\\xa0`K`\\n\\n* [Introduction](/docs)\\n* [Computer by DevRev](/docs/intro)\\n\\n + [Core concepts](/docs/product/core)\\n +", + "title": "Session recording options | Session analytics | Computer for Your Customers | DevRev" }, { - "id": "ART-4179_KNOWLEDGE_NODE-2", - "text": "applications](https://rise.articulate.com/share/yTvcdwN0dMgzhiU_Kgbbs2t8lfkpnC5O)[![]()\\n\\nDevRev: Admin management and set-up\\n\\nSet up, manage, and streamline workflows for smooth operations](https://devrevu.reach360.com/share/course/d238d6fd-ab6a-41b3-a99b-44e1d2a8d221)\\n\\nExplore more courses\\n--------------------\\n\\nDiscover more courses to expand your DevRev skills and continue your learning journey\\n\\n[![]()\\n\\nDevRev platform fundamentals\\n\\nYour first step to navigating and mastering", - "title": "DevRev University" + "id": "ART-2666_KNOWLEDGE_NODE-0", + "text": "b\"[](/)\\n\\n * Product\\n * Platform\\n * Marketplace\\n * Company\\n * Resources\\n * Pricing\\n\\n __\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\n[](/)\\n\\n __\\n\\nProduct __\\n\\nPlatform __\\n\\nMarketplace __\\n\\nCompany __\\n\\nResources __\\n\\nPricing __\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nSearch\\n\\n`CTRL` \\\\+ `K`\\n\\n * [Introduction](/docs)\\n * [AgentOS platform](/docs/intro)\\n\\n * [Core concepts](/docs/product/core)\\n *", + "title": "October 5: Left navigation | Changelog | DevRev" }, { - "id": "ART-2666_KNOWLEDGE_NODE-27", - "text": "DevRev's left navigation is designed to provide a more customizable and intuitive navigation experience. This update introduces new sections for better organization, enhanced customization capabilities, and a dedicated **Explore** page for managing views, dashboards, and sprint boards.\\n\\nWhen existing users log in, a prompt appears to guide them in migrating to the new left navigation. Follow the on-screen instructions to complete the migration and begin customizing your experience.\\n\\n## Key", - "title": "October 5: Left navigation | Changelog | DevRev" + "id": "ART-15701_KNOWLEDGE_NODE-6", + "text": "Option: Keep it as default i.e. allow both incoming and outgoing calls to truly experience the features provided by DevRev integration.\\n\\nYou can customise data storage options here.Recommended Option: Keep this as default and click on Next.\\n\\nReview the details and click on Create Instance.\\n\\nUse the Emergency Access to login the first time to setup the instance. If you are an administrator, you can directly use the access URL to login.\\n\\nYou can directly follow the guide available at home", + "title": "Amazon Connect Telephony Integration Guide" }, { - "id": "ART-1362_KNOWLEDGE_NODE-15", - "text": "Inc.\\n\\n[](https://devrev.ai)\\n\\n * Product\\n * Platform\\n * Solutions\\n * Marketplace\\n * Company\\n * Resources\\n * [Pricing](https://devrev.ai/pricing)\\n\\n __\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[](https://devrev.ai)\\n\\n __\\n\\nProduct __\\n\\nPlatform __\\n\\nSolutions __\\n\\nMarketplace __\\n\\nCompany __\\n\\nResources __\\n\\n[Pricing](https://devrev.ai/pricing)\\n\\n[Login](https://app.devrev.ai/login)[Book a", - "title": "Authentication \u2014 DevRev | Docs" + "id": "ART-12450_KNOWLEDGE_NODE-13", + "text": "Company\\n * Resources\\n * [Pricing](https://devrev.ai/pricing)\\n\\n __\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[](https://devrev.ai)\\n\\n __\\n\\nProduct __\\n\\nPlatform __\\n\\nSolutions __\\n\\nMarketplace __\\n\\nCompany __\\n\\nResources __\\n\\n[Pricing](https://devrev.ai/pricing)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n'", + "title": "Quickstart guide \u2014 DevRev | Docs" }, { "id": "ART-12447_KNOWLEDGE_NODE-14", @@ -2778,24 +2773,29 @@ "title": "Quickstart guide \u2014 DevRev | Docs" }, { - "id": "ART-12450_KNOWLEDGE_NODE-13", - "text": "Company\\n * Resources\\n * [Pricing](https://devrev.ai/pricing)\\n\\n __\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[](https://devrev.ai)\\n\\n __\\n\\nProduct __\\n\\nPlatform __\\n\\nSolutions __\\n\\nMarketplace __\\n\\nCompany __\\n\\nResources __\\n\\n[Pricing](https://devrev.ai/pricing)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n'", - "title": "Quickstart guide \u2014 DevRev | Docs" + "id": "ART-1985_KNOWLEDGE_NODE-40", + "text": "inputting text, type the slash command /. This opens a drop-down menu of formatting options. The drop-down menu offers typical options like font styling and alignment, as well as special elements like adding hyperlinks, code, quotes, callouts, tables, and video embeds. DevRev Knowledge Base supports embedding videos directly in articles. Use the / slash command, select Video Link, paste your video URL (YouTube, Loom, Vimeo, Wistia supported), and save.\\n\\nWhen you select text in the editor, a", + "title": "Articles | Knowledge Base | Computer for Support Teams | DevRev" }, { - "id": "ART-4256_KNOWLEDGE_NODE-6", - "text": "the user logs in. If you have the user information available at app launch, call the function after the `DevRev.configure(appID:)` method.\\n\\n#####\\n\\nOn iOS, if you haven\\xe2\\x80\\x99t previously identified the user, the DevRev SDK will automatically create an anonymous user for you immediately after the SDK is configured.\\n\\n#####\\n\\nThe `Identity` structure allows for custom fields in the user, organization, and account traits. These fields must be configured through the DevRev app before", - "title": "DevRev SDK for React Native \u2014 DevRev | Docs" + "id": "ART-1459_KNOWLEDGE_NODE-0", + "text": "b'[](/public/guides/webhooks)\\n\\nPublic\\n\\n[](https://devrev.ai)\\n\\n * Product\\n * Platform\\n * Solutions\\n * Marketplace\\n * Company\\n * Resources\\n * [Pricing](https://devrev.ai/pricing)\\n\\n __\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[](https://devrev.ai)\\n\\n __\\n\\nProduct __\\n\\nPlatform __\\n\\nSolutions __\\n\\nMarketplace __\\n\\nCompany __\\n\\nResources __\\n\\n[Pricing](https://devrev.ai/pricing)\\n\\n[Login](https://app.devrev.ai/login)[Book", + "title": "Webhooks \u2014 DevRev | Docs" + }, + { + "id": "ART-12459_KNOWLEDGE_NODE-11", + "text": "Inc.\\n\\n[](https://devrev.ai)\\n\\n * Product\\n * Platform\\n * Solutions\\n * Marketplace\\n * Company\\n * Resources\\n * [Pricing](https://devrev.ai/pricing)\\n\\n __\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[](https://devrev.ai)\\n\\n __\\n\\nProduct __\\n\\nPlatform __\\n\\nSolutions __\\n\\nMarketplace __\\n\\nCompany __\\n\\nResources __\\n\\n[Pricing](https://devrev.ai/pricing)\\n\\n[Login](https://app.devrev.ai/login)[Book a", + "title": "Migration guide \u2014 DevRev | Docs" }, { - "id": "ART-12475_KNOWLEDGE_NODE-0", - "text": "b'This document serves as a guide for migrating from UserExperior ( plug.devrev.ai ) to DevRev ( app.devrev.ai ).\\n\\nLog in to your DevRev account at app.devrev.ai/login .\\n\\nPin the relevant views in the left navigation panel for Session Analytics. The views to pin are Session Replays , Session Analytics: Web , and Session Analytics: Mobile . For detailed instructions on this process, click here .\\n\\nLocate the SDK integration key by navigating to Settings > Support > Session Replays", - "title": "Migrating from UserExperior to DevRev" + "id": "ART-2007_KNOWLEDGE_NODE-0", + "text": "b'Automate opportunities | Automate | Snap-ins | DevRev\\n\\n* Computer\\n* Resources\\n* [Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nComputer\\n\\nResources\\n\\n[Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nSearch\\n\\n`CTRL`\\xc2\\xa0+\\xc2\\xa0`K`\\n\\n* [Introduction](/docs)\\n* [Computer by DevRev](/docs/intro)\\n\\n + [Core concepts](/docs/product/core)\\n + [Apps](/docs/product/apps)\\n +", + "title": "Automate opportunities | Automate | Snap-ins | DevRev" }, { - "id": "ART-2662_KNOWLEDGE_NODE-0", - "text": "b'DevRev Documentation\\n\\n* Computer\\n* Resources\\n* [Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nComputer\\n\\nResources\\n\\n[Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nSearch\\n\\n`CTRL`\\xc2\\xa0+\\xc2\\xa0`K`\\n\\n* [Introduction](/docs)\\n* [Computer by DevRev](/docs/intro)\\n\\n + [Core concepts](/docs/product/core)\\n + [Apps](/docs/product/apps)\\n + [Groups](/docs/product/groups)\\n +", - "title": "DevRev Documentation" + "id": "ART-12461_KNOWLEDGE_NODE-0", + "text": "b'[](/public/sdks/cordova/quickstart)\\n\\nPublic\\n\\n[](https://devrev.ai)\\n\\n * Product\\n * Platform\\n * Solutions\\n * Marketplace\\n * Company\\n * Resources\\n * [Pricing](https://devrev.ai/pricing)\\n\\n __\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[](https://devrev.ai)\\n\\n __\\n\\nProduct __\\n\\nPlatform __\\n\\nSolutions __\\n\\nMarketplace __\\n\\nCompany __\\n\\nResources", + "title": "Quickstart guide \u2014 DevRev | Docs" } ] }, @@ -2804,54 +2804,54 @@ "query": "change subtype of ticket error something went wrong", "retrievals": [ { - "id": "ART-5010_KNOWLEDGE_NODE-5", - "text": "ticket conversion](/docs/product/conversation-ticket)\\n + [Tickets](/docs/product/tickets)\\n + [Routing](/docs/product/routing)\\n + [Support best practices](/docs/product/support-bp)\\n + [Customer portal](/docs/product/support-portal)\\n + [Questions & answers](/docs/product/qa)\\n + [Knowledge Base](/docs/product/knowledge-base)\\n\\n - [Articles](/docs/product/articles)\\n - [Collections](/docs/product/collection)\\n + [Turing AI agent](/docs/product/conversational-bot)\\n\\n - [Best", - "title": "Subtype Migration | Automate | Snap-ins | DevRev" + "id": "ART-1959_KNOWLEDGE_NODE-34", + "text": "subtype: :\\n```\\n```\\n\\n**Examples**\\n\\nSearch for tickets related to access issues with tenant field escalated:\\n\\n```\\n```\\n1 tnt__escalated:true access issues\\n```\\n```\\n\\nSearch for bugs related to access issues with subtype field customer\\\\_impact:\\n\\n```\\n```\\n1 subtype:Bug ctype__customer_impact:true access issues\\n```\\n```\\n\\nSearch across multiple subtypes for tickets related to access issues:\\n\\n```\\n```\\n1 subtype:Bug,Events access", + "title": "Search | Computer by DevRev | DevRev" }, { - "id": "ART-1979_KNOWLEDGE_NODE-49", - "text": "tickets. Resolved means that the customer's concerns which led to the ticket have been addressed.\\n\\nSubtypes\\n--------\\n\\nYou can create subtypes for tickets to categorize them based on the type of issue. For example, you can create subtypes for bugs, feature requests, or questions.\\nA subtype inherits all the attributes of its parent ticket type. You can add custom attributes to a subtype.\\nTo know how to create subtypes and add custom attributes to them, see [object", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-1304_KNOWLEDGE_NODE-465", + "text": "provided source channels.\\nticket.subtype string Optional\\nFilters for tickets with any of the provided subtypes.\\ntype enum Optional\\nFilters for work of the provided types.\\nAllowed values: issue opportunity task ticket\\nResponse.\\n\\nThis endpoint returns an object.\\nworks list of objects\\nThe list of works.\\nShow 4 variants\\nnext_cursor string Optional\\nThe cursor used to iterate subsequent results in accordance to the sort order. If not set, then no later elements exist.\\nprev_cursor string", + "title": "Get \u2014 DevRev | Docs" }, { - "id": "ART-5010_KNOWLEDGE_NODE-26", - "text": "**Work Item Type**: Select either \"ticket\" or \"issue\" based on the type of work items you want to migrate\\n * **Source Subtype**: Enter the name of the current subtype from which you want to migrate work items\\n * **Target Subtype**: Enter the name of the target subtype to which you want to migrate work items\\n * **Field Mappings**: Enter each mapping as source\\\\_field, target\\\\_field, one mapping per line\\n\\n ![]()\\n\\n Field names and subtype names must exactly match how they appear", - "title": "Subtype Migration | Automate | Snap-ins | DevRev" + "id": "ART-1779_KNOWLEDGE_NODE-462", + "text": "provided source channels.\\nticket.subtype string Optional\\nFilters for tickets with any of the provided subtypes.\\ntype enum Optional\\nFilters for work of the provided types.\\nAllowed values: issue opportunity task ticket\\nResponse.\\n\\nThis endpoint returns an object.\\nworks list of objects\\nThe list of works.\\nShow 4 variants\\nnext_cursor string Optional\\nThe cursor used to iterate subsequent results in accordance to the sort order. If not set, then no later elements exist.\\nprev_cursor string", + "title": "Get \u2014 DevRev | Docs" }, { - "id": "ART-1979_KNOWLEDGE_NODE-24", - "text": "[Subtypes](#subtypes)\\n* [Viewing attachments on tickets](#viewing-attachments-on-tickets)\\n* [Turing suggests](#turing-suggests)\\n* [Duplicate ticket merging](#duplicate-ticket-merging)\\n* [Merging guidelines](#merging-guidelines)\\n* [Merge settings](#merge-settings)\\n* [Merge tickets](#merge-tickets)\\n* [Post-merge conditions](#postmerge-conditions)\\n* [Follow up tickets](#follow-up-tickets)\\n* [Internal Tickets](#internal-tickets)\\n\\n1. [Documentation](/docs)\\n3. [Computer for Support", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-16749_KNOWLEDGE_NODE-1", + "text": "request\"\\n}\\n\\nHow to Fix:\\n\\nRefresh the page to load the latest blueprint and status versions.\\n\\nComplete your field mappings again.\\n\\nSubmit the mappings \\xe2\\x80\\x94 the request should now succeed.'", + "title": "Troubleshooting Airdrop Mapping Error: \u201cSomething Went Wrong\u201d" }, { - "id": "ART-1959_KNOWLEDGE_NODE-34", - "text": "subtype: :\\n```\\n```\\n\\n**Examples**\\n\\nSearch for tickets related to access issues with tenant field escalated:\\n\\n```\\n```\\n1 tnt__escalated:true access issues\\n```\\n```\\n\\nSearch for bugs related to access issues with subtype field customer\\\\_impact:\\n\\n```\\n```\\n1 subtype:Bug ctype__customer_impact:true access issues\\n```\\n```\\n\\nSearch across multiple subtypes for tickets related to access issues:\\n\\n```\\n```\\n1 subtype:Bug,Events access", - "title": "Search | Computer by DevRev | DevRev" + "id": "ART-1979_KNOWLEDGE_NODE-49", + "text": "tickets. Resolved means that the customer's concerns which led to the ticket have been addressed.\\n\\nSubtypes\\n--------\\n\\nYou can create subtypes for tickets to categorize them based on the type of issue. For example, you can create subtypes for bugs, feature requests, or questions.\\nA subtype inherits all the attributes of its parent ticket type. You can add custom attributes to a subtype.\\nTo know how to create subtypes and add custom attributes to them, see [object", + "title": "Tickets | Computer for Support Teams | DevRev" }, { - "id": "ART-1566_KNOWLEDGE_NODE-521", - "text": "response.\\n\\nticket.rev_org string Optional\\n\\nFilters for tickets that are associated with any of the provided Rev organizations.\\n\\nticket.severity enum Optional\\n\\nFilters for tickets with any of the provided severities.\\n\\nAllowed values: blocker high low medium\\nticket.sla_summary.stage enum Optional\\n\\nFilters for records with any of the provided SLA stages.\\n\\nAllowed values: breached completed paused running warning\\nticket.source_channel string Optional\\n\\nFilters for tickets with any", - "title": "Transition (Beta) \u2014 DevRev | Docs" + "id": "ART-1308_KNOWLEDGE_NODE-463", + "text": "provided source channels.\\nticket.subtype string Optional\\nFilters for tickets with any of the provided subtypes.\\ntype enum Optional\\nFilters for work of the provided types.\\nAllowed values: issue opportunity task ticket\\nResponse.\\n\\nThis endpoint returns an object.\\nworks list of objects\\nThe list of works.\\nShow 4 variants\\nnext_cursor string Optional\\nThe cursor used to iterate subsequent results in accordance to the sort order. If not set, then no later elements exist.\\nprev_cursor string", + "title": "Update \u2014 DevRev | Docs" }, { - "id": "ART-15664_KNOWLEDGE_NODE-14", - "text": "> | \"leaf_type\": \"issue\", |\\n| > | \"subtype\": \"social_media\" |\\n| > | } |\\n| > | ], |\\n| > | \"target_types\": [ |\\n| > | { |\\n| > | \"leaf_type\": \"ticket\" |\\n| > | } |\\n| > | ], |\\n| > | \"forward_name\": \"is related to\", |\\n| > | \"backward_name\": \"is related to\" |\\n| > | }\\' |\\n```\\n\\nThis configuration:\\n\\n* Allows issues of subtype \\xe2\\x80\\x9csocial\\\\_media\\xe2\\x80\\x9d to be linked to tickets\\n* Rejects attempts to link issues with no subtype or with other subtypes\\n\\n##### \\n\\nThe subtype", - "title": "Links | DevRev | Docs" + "id": "ART-1792_KNOWLEDGE_NODE-464", + "text": "provided source channels.\\nticket.subtype string Optional\\nFilters for tickets with any of the provided subtypes.\\ntype enum Optional\\nFilters for work of the provided types.\\nAllowed values: issue opportunity task ticket\\nResponse.\\n\\nThis endpoint returns an object.\\nworks list of objects\\nThe list of works.\\nShow 4 variants\\nnext_cursor string Optional\\nThe cursor used to iterate subsequent results in accordance to the sort order. If not set, then no later elements exist.\\nprev_cursor string", + "title": "Update \u2014 DevRev | Docs" }, { - "id": "ART-5010_KNOWLEDGE_NODE-13", - "text": "group](/docs/automations/set-user-preference)\\n - [SLA status change Slack notifier](/docs/automations/sla-change-notifier)\\n - [Slash commands](/docs/automations/slash-commands)\\n - [Spam Shield](/docs/automations/spam-shield)\\n - [Subtype Migration](/docs/automations/subtype-migration)\\n - [Ticket age in engineering](/docs/automations/ticket-age-in-engineering)\\n - [Ticket issue field migrator](/docs/automations/ticket-issue-field-migrator)\\n - [Ticket", - "title": "Subtype Migration | Automate | Snap-ins | DevRev" + "id": "ART-1592_KNOWLEDGE_NODE-463", + "text": "provided source channels.\\nticket.subtype string Optional\\nFilters for tickets with any of the provided subtypes.\\ntype enum Optional\\nFilters for work of the provided types.\\nAllowed values: issue opportunity task ticket\\nResponse.\\n\\nThis endpoint returns an object.\\nworks list of objects\\nThe list of works.\\nShow 4 variants\\nnext_cursor string Optional\\nThe cursor used to iterate subsequent results in accordance to the sort order. If not set, then no later elements exist.\\nprev_cursor string", + "title": "Update \u2014 DevRev | Docs" }, { - "id": "ART-2874_KNOWLEDGE_NODE-5", - "text": "ticket conversion](/docs/product/conversation-ticket)\\n + [Tickets](/docs/product/tickets)\\n + [Routing](/docs/product/routing)\\n + [Support best practices](/docs/product/support-bp)\\n + [Customer portal](/docs/product/support-portal)\\n + [Questions & answers](/docs/product/qa)\\n + [Knowledge Base](/docs/product/knowledge-base)\\n\\n - [Articles](/docs/product/articles)\\n - [Collections](/docs/product/collection)\\n + [Turing AI agent](/docs/product/conversational-bot)\\n\\n - [Best", - "title": "Ticket issue field migrator | Automate | Snap-ins | DevRev" + "id": "ART-1605_KNOWLEDGE_NODE-462", + "text": "provided source channels.\\nticket.subtype string Optional\\nFilters for tickets with any of the provided subtypes.\\ntype enum Optional\\nFilters for work of the provided types.\\nAllowed values: issue opportunity task ticket\\nResponse.\\n\\nThis endpoint returns an object.\\nworks list of objects\\nThe list of works.\\nShow 4 variants\\nnext_cursor string Optional\\nThe cursor used to iterate subsequent results in accordance to the sort order. If not set, then no later elements exist.\\nprev_cursor string", + "title": "Create \u2014 DevRev | Docs" }, { - "id": "ART-1979_KNOWLEDGE_NODE-65", - "text": "conversion](/docs/product/conversation-ticket)[NextRouting](/docs/product/routing)\\n\\n#### On this page\\n\\n* [Attributes](#attributes)\\n* [Create a ticket](#create-a-ticket)\\n* [Tags](#tags)\\n* [Stages](#stages)\\n* [Subtypes](#subtypes)\\n* [Viewing attachments on tickets](#viewing-attachments-on-tickets)\\n* [Turing suggests](#turing-suggests)\\n* [Duplicate ticket merging](#duplicate-ticket-merging)\\n* [Merging guidelines](#merging-guidelines)\\n* [Merge settings](#merge-settings)\\n* [Merge", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-1785_KNOWLEDGE_NODE-460", + "text": "provided source channels.\\nticket.subtype string Optional\\nFilters for tickets with any of the provided subtypes.\\ntype enum Optional\\nFilters for work of the provided types.\\nAllowed values: issue opportunity task ticket\\nResponse.\\n\\nThis endpoint returns an object.\\nworks list of objects\\nThe list of works.\\nShow 4 variants\\nnext_cursor string Optional\\nThe cursor used to iterate subsequent results in accordance to the sort order. If not set, then no later elements exist.\\nprev_cursor string", + "title": "Create \u2014 DevRev | Docs" } ] }, @@ -2860,54 +2860,54 @@ "query": "Why would I use DevRev?", "retrievals": [ { - "id": "ART-1487_KNOWLEDGE_NODE-7", - "text": "Program](https://devrev.ai/startups)\\n\\nCompany\\n\\n * [About](https://devrev.ai/about)\\n * [People](https://devrev.ai/people)\\n * [Careers](https://devrev.ai/careers)\\n * [Places](https://devrev.ai/places)\\n * [Invest](https://revd.devrev.ai/)\\n * [What Why How](https://devrev.ai/what-why-how)\\n\\nConnect\\n\\n * [Contact ](mailto:humansofdevrev@devrev.ai)\\n * [Instagram ](https://www.instagram.com/devrev)\\n * [Medium ](https://medium.com/devrev)\\n * [Linkedin", - "title": "Install DevRev CLI \u2014 DevRev | Docs" + "id": "ART-1005_KNOWLEDGE_NODE-17", + "text": "integration for authentication\\n Groups synchronization\\n Customization\\n Simplicity\\n\\n\\nWhat did we choose?\\nDevRev\\n\\nWhy did we choose this?\\nOne of the core pillars of the DevRev platform is work so we worked to build what we would eventually use. Previously, we had used JIRA for 10+ years at our previous companies, and while we could have used that when building DevRev, we decided to not as it would force us to build fast so we could start leveraging.\\n\\nWe currently run 100% of our", + "title": "Choosing the Right Systems For Your Startup" }, { - "id": "ART-12989_KNOWLEDGE_NODE-6", - "text": "[Documentation](https://docs.devrev.ai/)\\n * [API Reference](https://docs.devrev.ai/api/)\\n * [The Book of DevRev](https://thebook.devrev.ai/)\\n * [Partner Program](https://devrev.ai/partners)\\n * [Startup Program](https://devrev.ai/startups)\\n\\nCompany\\n\\n * [About](https://devrev.ai/about)\\n * [People](https://devrev.ai/people)\\n * [Careers](https://devrev.ai/careers)\\n * [Places](https://devrev.ai/places)\\n * [Invest](https://revd.devrev.ai/)\\n * [What Why", - "title": "Activate Dev Users \u2014 DevRev | Docs" + "id": "ART-722_KNOWLEDGE_NODE-8", + "text": "unknown thing. However, by enabling everyone to have the same context, we can enable everyone to work in unison towards a common goal; driving a much more efficient and productive experience for all.\\n\\nWe understand this is a journey, and greenfield scenarios aside; some products may fit in some of these spots today.\\nWhile we would love to displace all, the platform doesn\\xe2\\x80\\x99t require you to do so. For example, you may use us for build and support today in conjunction with Salesforce", + "title": "Busting silos, the WHY of DevRev" }, { - "id": "ART-17231_KNOWLEDGE_NODE-157", - "text": "with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", - "title": "Supported DevRev object types | DevRev | Docs" + "id": "ART-984_KNOWLEDGE_NODE-23", + "text": "per-seat basis, which means provisioning accounts for a user in each system can be very expensive.\\n\\nIf systems are disjointed, integrate\\n\\nAs mentioned above, very few platforms provide everything you need in one place (nor would likely displace all systems in a single moment anyways). So some form of integration is usually required.\\n\\nIn this disjoint system approach, ensuring the integrations between systems are key. If you\\xe2\\x80\\x99re using DevRev for support/chat/issue management and", + "title": "Why you Should be Looking at Support Differently" }, { - "id": "ART-1400_KNOWLEDGE_NODE-12", - "text": "[Documentation](https://docs.devrev.ai/)\\n * [API Reference](https://docs.devrev.ai/api/)\\n * [The Book of DevRev](https://thebook.devrev.ai/)\\n * [Partner Program](https://devrev.ai/partners)\\n * [Startup Program](https://devrev.ai/startups)\\n\\nCompany\\n\\n * [About](https://devrev.ai/about)\\n * [People](https://devrev.ai/people)\\n * [Careers](https://devrev.ai/careers)\\n * [Places](https://devrev.ai/places)\\n * [Invest](https://revd.devrev.ai/)\\n * [What Why", - "title": "Get Dev User \u2014 DevRev | Docs" + "id": "ART-1903_KNOWLEDGE_NODE-0", + "text": "b\"I worked with Jar, one of India's fastest-growing fintech startups helping over 15 million users save in digital gold. As they aimed to scale to a million more users yearly, they struggled to understand why users dropped off in the app.\\n\\nThe short story is that by using DevRev PLuG, Jar gained deep visibility into user behavior at scale. Instead of spending weeks on manual interviews, the product team could quickly filter user segments, spot unusual patterns, and drill down into technical", + "title": "Jar Story" }, { - "id": "ART-13031_KNOWLEDGE_NODE-5", - "text": "[Documentation](https://docs.devrev.ai/)\\n * [API Reference](https://docs.devrev.ai/api/)\\n * [The Book of DevRev](https://thebook.devrev.ai/)\\n * [Partner Program](https://devrev.ai/partners)\\n * [Startup Program](https://devrev.ai/startups)\\n\\nCompany\\n\\n * [About](https://devrev.ai/about)\\n * [People](https://devrev.ai/people)\\n * [Careers](https://devrev.ai/careers)\\n * [Places](https://devrev.ai/places)\\n * [Invest](https://revd.devrev.ai/)\\n * [What Why", - "title": "Merge Rev Users \u2014 DevRev | Docs" + "id": "ART-722_KNOWLEDGE_NODE-0", + "text": "b'Start With \\xe2\\x80\\x98WHY\\xe2\\x80\\x99\\n\\nIn order to understand the Why of DevRev, it\\xe2\\x80\\x99s essential to understand the history and lessons of the past.\\n\\nWhen Nutanix was founded, we started with everyone co-located in the same room which was easy to keep everyone coordinated due to the benefit of locality. At the time it was just engineering and we were all on the same Jira system (yeah, I know). However, as we grew, we added new teams (e.g., support, marketing, sales), each", + "title": "Busting silos, the WHY of DevRev" }, { - "id": "ART-12988_KNOWLEDGE_NODE-7", - "text": "DevRev](https://thebook.devrev.ai/)\\n * [Partner Program](https://devrev.ai/partners)\\n * [Startup Program](https://devrev.ai/startups)\\n\\nCompany\\n\\n * [About](https://devrev.ai/about)\\n * [People](https://devrev.ai/people)\\n * [Careers](https://devrev.ai/careers)\\n * [Places](https://devrev.ai/places)\\n * [Invest](https://revd.devrev.ai/)\\n * [What Why How](https://devrev.ai/what-why-how)\\n\\nConnect\\n\\n * [Contact ](mailto:humansofdevrev@devrev.ai)\\n * [Instagram", - "title": "Get Dev Org \u2014 DevRev | Docs" + "id": "ART-722_KNOWLEDGE_NODE-3", + "text": "natively having it in the context of the work.\\n\\n\\n Why not just give everyone access to everything? Cost All of these have per-seat licensing, so it was not fiscally possible.\\n\\n\\n\\n Why not just build a ton of integrations to replicate all data everywhere? Opportunity Cost. Integrations take time and each of these would have to be done point-to-point which doesn\\xe2\\x80\\x99t scale and/or work when things change.\\n\\n\\nWe pondered if this was just isolated to us, however, after many", + "title": "Busting silos, the WHY of DevRev" }, { - "id": "ART-1487_KNOWLEDGE_NODE-10", - "text": "Status](https://devrev.ai/status)\\n\\n\\xc2\\xa9 2025 DevRev Inc.\\n\\n[](https://devrev.ai)\\n\\n * Product\\n * Platform\\n * Solutions\\n * Marketplace\\n * Company\\n * Resources\\n * [Pricing](https://devrev.ai/pricing)\\n\\n __\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[](https://devrev.ai)\\n\\n __\\n\\nProduct __\\n\\nPlatform __\\n\\nSolutions __\\n\\nMarketplace __\\n\\nCompany __\\n\\nResources", - "title": "Install DevRev CLI \u2014 DevRev | Docs" + "id": "ART-2777_KNOWLEDGE_NODE-9", + "text": "previous vendor to DevRev empowered Velocity Global\\'s teams to manage global operations more precisely, fostering a collaborative and supportive work environment.\\n\\nThe product is objectively better than anything I\\'ve seen before. I did not expect that in just 6 weeks, our teams would be well acclimatized to working all day every day in DevRev. After implementing the AI automations, we\\'re already seeing a reduction in overall ticket handling times. That\\'s a big metric for", + "title": "Velocity Global transforms worldwide operations with DevRev" }, { - "id": "ART-1487_KNOWLEDGE_NODE-8", - "text": "](https://www.linkedin.com/company/devrev)\\n * [X (formerly Twitter)](https://twitter.com/devrev)\\n * [Gr.ai.ce](https://devrev.ai/graice)\\n\\nLegal\\n\\n * [Security](https://security.devrev.ai/)\\n * [SLA](https://devrev.ai/legal/sla)\\n * [DPA](https://devrev.ai/legal/dpa)\\n * [Subprocessors](https://devrev.ai/security/sub-processors)\\n * [Cookie Policy](https://devrev.ai/legal/cookie-policy)\\n * [Privacy Policy](https://devrev.ai/legal/privacy-policy)\\n * [Terms of", - "title": "Install DevRev CLI \u2014 DevRev | Docs" + "id": "ART-4179_KNOWLEDGE_NODE-9", + "text": "environment.\\n\\n[Join](https://discord.gg/k7YYTZexKd)\\n\\nFrequently asked questions\\n\\n### What is DevRevU?\\n\\nDevRevU is a comprehensive learning initiative to help you master DevRev's AI-driven solutions with on-demand courses and exclusive certifications\\n\\n### How can I get started with DevRevU?\\n\\n### What kind of training does DevRevU offer?\\n\\n### What should I do if I need help or have a question about using DevRev?\\n\\nChoose another country or region to see content specific to your", + "title": "DevRev University" }, { - "id": "ART-1487_KNOWLEDGE_NODE-11", - "text": "__\\n\\n[Pricing](https://devrev.ai/pricing)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n'", - "title": "Install DevRev CLI \u2014 DevRev | Docs" + "id": "ART-2076_KNOWLEDGE_NODE-9", + "text": "environment.\\n\\n[Join](https://discord.gg/k7YYTZexKd)\\n\\nFrequently asked questions\\n\\n### What is DevRevU?\\n\\nDevRevU is a comprehensive learning initiative to help you master DevRev's AI-driven solutions with on-demand courses and exclusive certifications\\n\\n### How can I get started with DevRevU?\\n\\n### What kind of training does DevRevU offer?\\n\\n### What should I do if I need help or have a question about using DevRev?\\n\\nChoose another country or region to see content specific to your", + "title": "DevRev University" }, { - "id": "ART-4096_KNOWLEDGE_NODE-14", - "text": "[Documentation](https://docs.devrev.ai/)\\n * [API Reference](https://docs.devrev.ai/api/)\\n * [The Book of DevRev](https://thebook.devrev.ai/)\\n * [Partner Program](https://devrev.ai/partners)\\n * [Startup Program](https://devrev.ai/startups)\\n\\nCompany\\n\\n * [About](https://devrev.ai/about)\\n * [People](https://devrev.ai/people)\\n * [Careers](https://devrev.ai/careers)\\n * [Places](https://devrev.ai/places)\\n * [Invest](https://revd.devrev.ai/)\\n * [What Why", - "title": "Create Rev User \u2014 DevRev | Docs" + "id": "ART-3184_KNOWLEDGE_NODE-8", + "text": "homegrown system. We didn\\xe2\\x80\\x99t have a competitors\\xe2\\x80\\x99 product to which we are comparing our DevRev journey. Though, as a Director of Customer Success, I know with DevRev that there\\'s been an improvement, I know that our efficiency is higher, and I know things aren\\'t falling through the cracks like they did previously.\\n\\n![]()\\n\\nGreg JohnsonCustomer Support Services Executive, LuxCreo\\n\\n### The impact\\n\\nThrough DevRev LuxCreo transformed data management and reseller", + "title": "LuxCreo boosts operational efficiency and agility with DevRev" } ] }, @@ -2916,54 +2916,54 @@ "query": "apply repeated multiple fields on tickets with one click", "retrievals": [ { - "id": "ART-3107_KNOWLEDGE_NODE-24", - "text": "existing tickets](#triggering-tag-checks-for-existing-tickets)\\n\\n1. [Documentation](/docs)\\n3. [Snap-ins](/docs/snapins)\\n[Automate](/docs/automate)\\n[Ticket Tagger](/docs/automations/ticket-tagger)\\n\\nTicket tagger\\n=============\\n\\nThe **Ticket Tagger** is an automation tool designed to streamline ticket\\nmanagement. It automatically assigns appropriate tags to tickets based on the\\ntags of the contact or their account.\\n\\nKey features\\n------------\\n\\n* Automatically tags tickets created by", - "title": "Ticket Tagger | Automate | Snap-ins | DevRev" + "id": "ART-1979_KNOWLEDGE_NODE-40", + "text": "a child issue or create a new one by clicking on **+ New issue**.\\nJust update the title of the child issue and click enter. All other fields will be populated automatically by DevRev. You can edit them later.\\n\\nTags\\n----\\n\\n* Stalled\\n* Priority/Escalated\\n* Fast/Slow Moving\\n* Blocked\\n* Resolution: [*value*]\\n* Impact: [*value*]\\n* Reason: [*value*]\\n\\nStages\\n------\\n\\nThe following figure shows the state machine for tickets.\\n\\n```\\nClosed\\n\\n\\n\\nIn", + "title": "Tickets | Computer for Support Teams | DevRev" }, { - "id": "ART-6175_KNOWLEDGE_NODE-5", - "text": "ticket conversion](/docs/product/conversation-ticket)\\n + [Tickets](/docs/product/tickets)\\n + [Routing](/docs/product/routing)\\n + [Support best practices](/docs/product/support-bp)\\n + [Customer portal](/docs/product/support-portal)\\n + [Questions & answers](/docs/product/qa)\\n + [Knowledge Base](/docs/product/knowledge-base)\\n\\n - [Articles](/docs/product/articles)\\n - [Collections](/docs/product/collection)\\n + [Turing AI agent](/docs/product/conversational-bot)\\n\\n - [Best", - "title": "Airtable | Automate | Snap-ins | DevRev" + "id": "ART-4965_KNOWLEDGE_NODE-25", + "text": "permitted. This includes restrictions on RTE access, field updates, object linking, and other changes, ensuring ticket integrity and compliance with data governance standards\\n\\nInstallation\\n------------\\n\\n1. In DevRev, go to **Settings > Snap-ins** and click **Explore Marketplace** in the top-right corner.\\n2. In the DevRev marketplace, find **Ticket Immutability** and click **Install**.\\n3. Set-up the snap-in\\'s configurations.\\n4. Click **Save > Install**", + "title": "Ticket Immutability | Automate | Snap-ins | DevRev" }, { - "id": "ART-2874_KNOWLEDGE_NODE-5", - "text": "ticket conversion](/docs/product/conversation-ticket)\\n + [Tickets](/docs/product/tickets)\\n + [Routing](/docs/product/routing)\\n + [Support best practices](/docs/product/support-bp)\\n + [Customer portal](/docs/product/support-portal)\\n + [Questions & answers](/docs/product/qa)\\n + [Knowledge Base](/docs/product/knowledge-base)\\n\\n - [Articles](/docs/product/articles)\\n - [Collections](/docs/product/collection)\\n + [Turing AI agent](/docs/product/conversational-bot)\\n\\n - [Best", - "title": "Ticket issue field migrator | Automate | Snap-ins | DevRev" + "id": "ART-3107_KNOWLEDGE_NODE-26", + "text": "If multiple tags are selected, only one needs to match.\\n * **Search for tags on**: Specify where to search for tags\\xe2\\x80\\x94on the contact,\\n the account, or both.\\n * **Assign tags if found**: Choose the tags to add to the ticket if matching\\n tags are found.\\n * (Optional) **Assign tags if not found**: Choose tags to add if no matching\\n tags are found.\\n3. Click **Save**.\\n4. Click **Install** to activate the snap-in.\\n\\nHow to use\\n----------\\n\\nOnce the snap-in is", + "title": "Ticket Tagger | Automate | Snap-ins | DevRev" }, { - "id": "ART-13083_KNOWLEDGE_NODE-13", - "text": "field migrator](/docs/automations/ticket-issue-field-migrator)\\n * [Ticket Immutability](/docs/automations/ticket-immutability)\\n * [Ticket email notifier](/docs/automations/ticket-email-notifier)\\n * [Task tracker](/docs/automations/task-tracker)\\n * [Ticket Tagger](/docs/automations/ticket-tagger)\\n * [Tracxn sync](/docs/automations/tracxn-sync)\\n * [User group validator](/docs/automations/user-group-validator)\\n *", - "title": "| Automate | Snap-ins | DevRev" + "id": "ART-1992_KNOWLEDGE_NODE-32", + "text": "other [tickets](./tickets) or issues that relate to this issue, click **Link Records** and select the relevant items.\\n7. If you would like to immediately create another issue, select **Create multiple**.\\n8. Click **Create**.\\n\\nTags\\n----\\n\\n* Stalled\\n* Priority/Escalated\\n* Fast/Slow Moving\\n* Blocked\\n* Resolution: [*values*]\\n* Impact: [*values*]\\n* Reason: [*values*]\\n\\nAn *autonomous issue* is an issue created automatically from an external event, such as a new VCS branch or pull", + "title": "Issues | Computer for Builders | DevRev" }, { - "id": "ART-2874_KNOWLEDGE_NODE-26", - "text": "> **Ticket Issue Field Migrator** > **Configure**.\\n2. Specify the **Field Names** to migrate values from the ticket to the issue when fields are empty or undefined.\\n3. Click **Save** and **Install** to complete the setup.\\n4. Link an issue to a ticket to begin the migration of values from the ticket fields to the issue fields.\\n5. After the migration process is complete, you will receive a summary message in the snap-in **Discussion** tab, informing you of the number of fields processed,", - "title": "Ticket issue field migrator | Automate | Snap-ins | DevRev" + "id": "ART-16615_KNOWLEDGE_NODE-28", + "text": "reassign Owner while keeping the same Stage.\\n * Drag diagonally to change both Stage and Owner simultaneously. For example, moving a card from *In Progress/John* to *Review/Sarah*.\\n3. **Edit inline**: Click directly on editable fields within cards to make quick updates.\\n4. **Bulk edit**: Select multiple cards using hover or Shift + click and apply bulk actions in one go.\\n\\n![]()\\n\\n### Customize your view\\n\\n1. **Create new items**: Click the **+** icon in any column or swimlane", + "title": "Board view | Vistas | Computer by DevRev | DevRev" }, { - "id": "ART-2010_KNOWLEDGE_NODE-5", - "text": "ticket conversion](/docs/product/conversation-ticket)\\n + [Tickets](/docs/product/tickets)\\n + [Routing](/docs/product/routing)\\n + [Support best practices](/docs/product/support-bp)\\n + [Customer portal](/docs/product/support-portal)\\n + [Questions & answers](/docs/product/qa)\\n + [Knowledge Base](/docs/product/knowledge-base)\\n\\n - [Articles](/docs/product/articles)\\n - [Collections](/docs/product/collection)\\n + [Turing AI agent](/docs/product/conversational-bot)\\n\\n - [Best", - "title": "Bulk work item uploader | Automate | Snap-ins | DevRev" + "id": "ART-1961_KNOWLEDGE_NODE-35", + "text": "or one from a previous node.\\n8. Click **Deploy**.\\n9. If you need to modify the workflow after is has been deployed, click **Pause**, edit the workflow, then click **Deploy** to reactivate it.\\n\\nWorkflow example: Ticket auto-response\\n--------------------------------------\\n\\n```\\nControl\\n\\n\\n\\nIf true\\n\\n\\n\\nAction\\n\\n\\n\\nAction\\n\\n\\n\\nIf false\\n\\n\\n\\nAdd comment\\n\\n\\n\\nObject:\\xc2\\xa0Ticket\\xc2\\xa0Created\\xc2\\xa0>\\xc2\\xa0Output\\xc2\\xa0>\\xc2\\xa0ID \\nVisibility: External \\nBody:", + "title": "Workflows | Computer by DevRev | DevRev" }, { - "id": "ART-4185_KNOWLEDGE_NODE-15", - "text": "[Custom field migration](/docs/automations/custom-field-migration)\\n - [Slack scraper](/docs/automations/slack-scraper)\\n - [Slack Broadcaster](/docs/automations/slack-broadcaster)\\n - [Reported by enricher](/docs/automations/ticket-reported-by)\\n - [Ticket approval workflow](/docs/automations/ticket-approval-workflow)\\n - [Ticket linked issues comment sync](/docs/automations/ticket-linked-issues-comment-sync)\\n - [Slack message agent](/docs/automations/slack-message-agent)\\n", - "title": "Ticket approval workflow | Automate | Snap-ins | DevRev" + "id": "ART-1979_KNOWLEDGE_NODE-39", + "text": "other tickets or issues that relate to this ticket, click **Link Records** and select the relevant items.\\n7. If you would like to immediately create another ticket, select **Create multiple**.\\n8. Click **Create**.\\n\\nIf a ticket is created from an existing conversation, then the ticket's title and description are populated automatically from the conversation.\\n\\n![]()\\n\\nYou can create a child issue by clicking **+ Link issue** > **Add a child issue**. You can link the other existing issue as", + "title": "Tickets | Computer for Support Teams | DevRev" }, { - "id": "ART-2874_KNOWLEDGE_NODE-10", - "text": "data](/docs/automations/bulk-delete)\\n - [Bulk work item uploader](/docs/automations/bulk-upload)\\n - [Commands surface expander](/docs/automations/commands-surface-expander)\\n - [Convergence](/docs/automations/converge)\\n - [Conversation reminder](/docs/automations/conversation-reminder)\\n - [CSAT on conversation](/docs/automations/csat-conv)\\n - [CSAT on ticket](/docs/automations/csat-tickets)\\n - [CSV work item uploader](/docs/automations/csv-work-item-uploader)\\n -", + "id": "ART-2874_KNOWLEDGE_NODE-0", + "text": "b'Ticket issue field migrator | Automate | Snap-ins | DevRev\\n\\n* Computer\\n* Resources\\n* [Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nComputer\\n\\nResources\\n\\n[Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nSearch\\n\\n`CMD`\\xc2\\xa0+\\xc2\\xa0`K`\\n\\n* [Introduction](/docs)\\n* [Computer by DevRev](/docs/intro)\\n\\n + [Core concepts](/docs/product/core)\\n + [Apps](/docs/product/apps)\\n +", "title": "Ticket issue field migrator | Automate | Snap-ins | DevRev" }, { - "id": "ART-2874_KNOWLEDGE_NODE-14", - "text": "Immutability](/docs/automations/ticket-immutability)\\n - [Ticket email notifier](/docs/automations/ticket-email-notifier)\\n - [Task tracker](/docs/automations/task-tracker)\\n - [Ticket Tagger](/docs/automations/ticket-tagger)\\n - [Tracxn sync](/docs/automations/tracxn-sync)\\n - [User group validator](/docs/automations/user-group-validator)\\n - [Work duration](/docs/automations/work-duration)\\n - [Operational SLA Metrics](/docs/automations/operational-sla-metrics)\\n -", - "title": "Ticket issue field migrator | Automate | Snap-ins | DevRev" + "id": "ART-2046_KNOWLEDGE_NODE-28", + "text": "configuration.\\n3. Enable the desired features by toggling them on. Only enabled features will be visible to all users within your Atlassian organization.\\n\\nFeatures\\n--------\\n\\n* The side panel on the Jira issue displays DevRev tickets linked to the Jira issue and their counterparts in DevRev.\\n\\n ![]()\\n* If there are multiple tickets linked to the issue, look at the details of each ticket by selecting a ticket with the dropdown field provided.\\n\\n ![]()\\n* Click on the **Create New", + "title": "DevRev for Jira app | Jira Software AirSync | AirSync | Snap-ins | DevRev" }, { - "id": "ART-2874_KNOWLEDGE_NODE-27", - "text": "updated, and not updated. If the fields specified in the configuration are not found, a notification will be provided in the **Discussion** tab.\\n\\n[PreviousTicket age in engineering](/docs/automations/ticket-age-in-engineering)[NextTicket Immutability](/docs/automations/ticket-immutability)\\n\\n#### On this page\\n\\n* [Ticket issue field migrator](#ticket-issue-field-migrator)\\n* [Installation](#installation)\\n* [Configuration](#configuration)\\n\\n[Enterprise grade security to protect customer", - "title": "Ticket issue field migrator | Automate | Snap-ins | DevRev" + "id": "ART-2016_KNOWLEDGE_NODE-25", + "text": "more information, refer to the\\n[StageFlow Automator snap-in](https://marketplace.devrev.ai/custom-covergence) on the DevRev marketplace.\\n\\nInstallation\\n------------\\n\\n1. In DevRev, go to **Settings** > **Snap-ins** and click **Explore Marketplace** in the top-right corner.\\n2. In the DevRev marketplace, find **StageFlow Automator** and click **Install**.\\n\\nConfiguration\\n-------------\\n\\nYou need to create a mapping between the tickets and issues/enhancement stages so that when the stage", + "title": "StageFlow automator | Automate | Snap-ins | DevRev" } ] }, @@ -2972,54 +2972,54 @@ "query": "configure contact to open ticket in different workspace", "retrievals": [ { - "id": "ART-1979_KNOWLEDGE_NODE-55", - "text": "centralized in one location. This ticket not only retains the most comprehensive data but also acts as the focal point for tracking the progress of the customer's issue.\\n\\n### Merging guidelines\\n\\nTo ensure consistency and accuracy in the merging process, apply these guidelines when determining eligible tickets for merging:\\n\\n* Same workspace: All selected tickets must belong to the same customer workspace or have no workspace.\\n* Matching reporters: All selected tickets must have the same", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-2039_KNOWLEDGE_NODE-25", + "text": "create DevRev tickets from Marker.io issues, you can configure the\\nsnap-in to use this email to auto-fill the **Reported By** and **Customer\\nWorkspace** fields in tickets. If no contact or accounts match the email, they\\nare automatically created.\\n\\nInstalling the Marker.io integration snap-in\\n--------------------------------------------\\n\\n1. Install the [Marker.io](/marketplace/marker-io) from the\\n DevRev Marketplace.\\n2. Configure the snap-in as needed.\\n\\n * (Optional) Select the", + "title": "Marker.io | Integrate | Snap-ins | DevRev" }, { - "id": "ART-1978_KNOWLEDGE_NODE-41", - "text": "If no such contact is found, JIT provisioning automatically creates a user account, allowing immediate access to the portal. This means users can sign up and log in without manual contact creation within the app.\\n* **Existing contacts without mapped accounts**: If a user is already a contact within the app but does not have a mapped account, they can still log in and create a ticket. In this scenario, the login is performed under the default workspace assigned to the contact.\\n* **Account", - "title": "Customer portal | Computer for Support Teams | DevRev" + "id": "ART-2874_KNOWLEDGE_NODE-25", + "text": "mappings specified in the configuration input. The process features robust error handling, detailed logging, and appends a summary comment to the timeline for easy update tracking.\\n\\nInstallation\\n------------\\n\\n1. Install the **Ticket Issue Field Migrator** snap-in from the DevRev marketplace.\\n2. Select the workspace where you want to install the snap-in, confirm your selection, and click **Deploy snap-in**.\\n\\nConfiguration\\n-------------\\n\\n1. In DevRev, go to **Settings** > **Snap-ins**", + "title": "Ticket issue field migrator | Automate | Snap-ins | DevRev" }, { - "id": "ART-1979_KNOWLEDGE_NODE-38", - "text": "the top-right corner of your screen.\\n3. Add a title and description for your new ticket. You can also attach files related to the ticket in the description.\\n4. Select which part of the company/product this ticket is related to.\\n\\n ![]()\\n5. Enter other attributes for the ticket: change the assignee or accept the default; enter the severity; add any relevant tags to help employees identify any relevant traits of the ticket; select the workspace that the ticket pertains to.\\n6. If there are", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-1957_KNOWLEDGE_NODE-27", + "text": "[Issues](./issues#attributes)\\n* [Tickets](./tickets#attributes)\\n* [Opportunity](./grow#opportunity-attributes)\\n* [Account](./grow#account-attributes)\\n* [Contact](./grow#contact-attributes)\\n* [Parts](./parts#attributes)\\n\\n![]()\\n\\nAdding custom fields can be done by workspace admins only. Members of your organization can only view the custom fields and subtypes.\\n\\nTo get started with object customization, go to [**Settings** > **Object", + "title": "Object customization | Computer by DevRev | DevRev" }, { - "id": "ART-6174_KNOWLEDGE_NODE-17", - "text": "* [Email snap-in configuration](/docs/integrations/email-config)\\n - [Exotel](/docs/integrations/exotel)\\n - [Slack](/docs/integrations/slack)\\n - [WhatsApp](/docs/integrations/whatsapp)\\n - [GitHub](/docs/integrations/github)\\n - [GitLab](/docs/integrations/gitlab)\\n - [Harness](/docs/integrations/harness)\\n - [Marker.io](/docs/integrations/marker-io)\\n - [Instabug](/docs/integrations/instabug)\\n - [Qase](/docs/integrations/qase)\\n - [Tracxn", - "title": "Conversation to ticket conversion | Conversations | Computer for Support Teams | DevRev" + "id": "ART-1979_KNOWLEDGE_NODE-63", + "text": "support tickets on behalf of customers\\xe2\\x80\\x94without granting customers access to these tickets. This feature enables internal collaboration while keeping the ticket invisible to the customer until explicitly made external.\\n\\nEven if a ticket contains customer-related information (such as the customer workspace or the **Reported by** field), it remains inaccessible to the customer unless it is explicitly converted into an external ticket. The **Customer Messages** tab is unavailable for", + "title": "Tickets | Computer for Support Teams | DevRev" }, { - "id": "ART-1979_KNOWLEDGE_NODE-30", - "text": "the ticket was created.\\n* **Modified date**: The date the ticket was last modified.\\n* **Tags**: Tags are used to categorize tickets.\\n* **Customer workspace**: The workspace that the ticket pertains to. You can create a new account or workspace if it doesn't exist.\\n* **Target close date**: The date by which the issue is expected to be resolved.\\n* **Modified by**: The user who last modified the ticket.\\n* **Reported by**: Which customer is experiencing the issue. When a ticket is created", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-2027_KNOWLEDGE_NODE-30", + "text": "or @mentioned in the DevRev app.\\n\\n *Is able to:* View the ticket on the portal and reply via email as an email member.\\n* A customer admin for the same workspace\\n\\n *Added to:* **Customer Admins** group.\\n\\n *Is able to:* View the ticket on the portal once their workspace is updated on the ticket.\\n* An end user outside original sender's organization\\n\\n *Added to:* **To** or **CC** fields in the email thread, or mentioned in the DevRev app (adds them to **CC**).\\n\\n *Is able to:* Reply", + "title": "Email | Integrate | Snap-ins | DevRev" }, { - "id": "ART-1979_KNOWLEDGE_NODE-62", - "text": "up ticket.\\n\\nThe below fields would be copied on the new follow up ticket from the archived/immutable ticket:\\n\\n* Part\\n* Channel\\n* Account\\n* Workspace\\n* Reported by\\n* Description\\n* Title\\n* Channel specific custom fields\\n* Subtype\\n\\nThe follow up trigger is added in the workflows and admins configure the changes required on new follow up ticket, for example, copying of any other fields.\\n\\nInternal Tickets\\n----------------\\n\\nInternal tickets allow your team to create and manage", + "id": "ART-1979_KNOWLEDGE_NODE-33", + "text": "members** does not remove them from the **Reported by** field.\\n\\nShadow users can also be subscribers and email members.\\n\\n* **CCed members in email**: The CCed members in emails will be added to reporters if they are contacts in the workspace to which the ticket belongs. They will be added to email members if they are part of the ongoing email thread, without any workspace restriction.\\n* **Shadow users**: Users created for tracking and record-keeping purposes that do not have access to the", "title": "Tickets | Computer for Support Teams | DevRev" }, { - "id": "ART-1947_KNOWLEDGE_NODE-28", - "text": "members from your own workspace and other members from the user\\'s workspace without starting a new thread or email chain. Because there can be many tickets attached to a single conversation, there is no need to start a new thread for new topics either.\\n\\nWe recommend closing the conversation whenever you feel the interaction has reached a natural end. Closing the conversation does not close the tickets and your external users are still able to see them in the widget.\\n\\nTickets\\n-------\\n\\nA", - "title": "Apps | Computer by DevRev | DevRev" + "id": "ART-1978_KNOWLEDGE_NODE-41", + "text": "If no such contact is found, JIT provisioning automatically creates a user account, allowing immediate access to the portal. This means users can sign up and log in without manual contact creation within the app.\\n* **Existing contacts without mapped accounts**: If a user is already a contact within the app but does not have a mapped account, they can still log in and create a ticket. In this scenario, the login is performed under the default workspace assigned to the contact.\\n* **Account", + "title": "Customer portal | Computer for Support Teams | DevRev" }, { - "id": "ART-2002_KNOWLEDGE_NODE-25", - "text": "about the customer initiating the conversation. Similarly, tickets on DevRev can capture who the ticket was reported by (or reported for).\\n\\nConcepts\\n--------\\n\\nCustomer identity in DevRev includes the following important constructs:\\n\\n* **External User/contact**: Your end user or customer or users associated with organization Accounts or Workspaces.\\n* **Account/workspace**: Any logical grouping that an external user is part of. It could represent a customer account for your B2B product", - "title": "Contacts | Computer for Growth Teams | DevRev" + "id": "ART-1979_KNOWLEDGE_NODE-32", + "text": "**Reported by** field, first choose the corresponding account and workspace in the **Customer** attribute. After this selection, the contact's name will appear in the **Reported by** list.\\n* **Email members**: Participants in the ongoing email thread, dependent on the last email. This attribute automatically updates based on the last email sent from or received on DevRev.\\n\\n![]()\\n\\nAdding members to **Email members** also adds them to the **Reported by** field. Removing members from **Email", + "title": "Tickets | Computer for Support Teams | DevRev" }, { - "id": "ART-1981_KNOWLEDGE_NODE-30", - "text": "conversation of which you are not the owner, let the owner know to respond. It's beneficial to retain the same point of contact for the duration of the conversation unless the owner refers some another user.\\n* If the conversation has a customer org that's unidentified or is new, add yourself (the customer experience engineer) as the owner of the ticket. Try to find the appropriate owner for the customer org and update the customer record accordingly.\\n* Change the stage of the conversation to", - "title": "Support best practices | Computer for Support Teams | DevRev" + "id": "ART-1960_KNOWLEDGE_NODE-28", + "text": "Individual prospects or users associated with an organization\\'s workspaces or accounts.\\n: Contacts can be associated with an account or workspace, but not always.\\n: Terms related to\\xc2\\xa0*contact*:\\n\\n * *[account](#account)*\\n * *[workspace](#workspace)*\\n: Read more about\\xc2\\xa0[*contact*](https://docs.devrev.ai/product/grow)\\n\\nconversation\\n\\n: An interaction between the builder and consumer that may be escalated to a ticket.\\n: Terms related", + "title": "Glossary | Computer by DevRev | DevRev" }, { - "id": "ART-1976_KNOWLEDGE_NODE-25", - "text": "and effective resolution. Users can design workflows tailored to various scenarios; the example below illustrates a basic routing use case.\\n\\n| NODE | ACTIVITY |\\n| --- | --- |\\n| Trigger | Ticket created |\\n| Action | Pick user by group |\\n| Action | Update ticket |\\n| | ID: Ticket created > Output > ID |\\n| | Group > Output > ID |\\n| | Owned by > Set: Pick user > Output > User |\\n\\nOrgs can set up pull-based routing by updating the group instead of the user ID in the workflow illustrated", - "title": "Routing | Computer for Support Teams | DevRev" + "id": "ART-16264_KNOWLEDGE_NODE-28", + "text": "**Account** and **Reported By**. This provides a more streamlined approach to managing customer data.\\n* **Automatic workspace display:** When a ticket reporter is associated with a specific workspace within an account, adding that user to the **Reported By** field will automatically reveal three fields: **Account**, **Workspace**, and **Reported By**.\\n* **Dynamic user listing:**\\n\\n + Upon selection of an account, the **Reported By** list is filtered to show only users associated with that", + "title": "June 2025 | Changelog | DevRev" } ] }, @@ -3028,19 +3028,19 @@ "query": "link an agent with the search agent so that the search agent can ask the other agent", "retrievals": [ { - "id": "ART-2897_KNOWLEDGE_NODE-20", - "text": "agent is currently open or closed.\\n\\n[code]\\n\\n 1| window.plugSDK.isSearchAgentOpen \\n ---|---\\n[/code] \\n \\nThis returns `true` if the search agent is open and `false` if it is closed.\\n\\n## Prefill search query in search agent\\n\\nUse the `prefillSearchQuery` method to prefill a search query when opening and initializing the search agent.\\n\\n[code]\\n\\n 1| window.plugSDK.prefillSearchQuery(\"search_query\"); \\n ---|---\\n[/code] \\n \\n## Add session properties\\n\\nThe", - "title": "Methods \u2014 DevRev | Docs" + "id": "ART-15490_KNOWLEDGE_NODE-6", + "text": "Setup for React\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | |\\n```\\n\\nYou can modify the keydown event listener to bind it to other", + "title": "Install Plug search | DevRev | Docs" }, { - "id": "ART-15509_KNOWLEDGE_NODE-19", - "text": "status\\n-------------------------\\n\\nUse `isSearchAgentOpen` to determine whether the search agent is currently open or closed.\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | window.plugSDK.isSearchAgentOpen |\\n```\\n\\nThis returns `true` if the search agent is open and `false` if it is closed.\\n\\nPrefill search query in search agent\\n------------------------------------\\n\\nUse the `prefillSearchQuery` method to prefill a search query when opening and initializing the search agent.\\n\\n```\\n| | |\\n| ---", - "title": "Methods | DevRev | Docs" + "id": "ART-4206_KNOWLEDGE_NODE-6", + "text": "OK |\\n| 2 | { |\\n| 3 | \"challenge\": \"DlrVaK7zRyZWwbJhj5dZHDlrVaK7Jhj5dZZjH\" |\\n| 4 | } |\\n```\\n\\nYou should follow the documentation provided for webhooks [here](https://developer.devrev.ai/public/guides/webhooks)\\n\\nMake async API calls\\n--------------------\\n\\n**Key parameters:**\\n\\n* `agent`: Your agent\\xe2\\x80\\x99s ID.\\n* `event.input_message.message`: The query for your agent.\\n* `session_object`: A unique identifier for the conversation session (maintains agent memory).\\n*", + "title": "Agents async API | DevRev | Docs" }, { - "id": "ART-1466_KNOWLEDGE_NODE-27", - "text": "Toggle search agent.\\n\\nThe toggleSearchAgent method allows you to control the visibility of the search agent.\\n\\nIf no input is provided, the method toggles the search bar: opening it if it\\xe2\\x80\\x99s closed, and closing it if it\\xe2\\x80\\x99s open.\\n\\n1 window. plugSDK. toggleSearchAgent ( true ) ; Prefill search query in search agent.\\n\\nUse the prefillSearchQuery method to prefill a search query when opening and initializing the search agent.\\n\\n1 window. plugSDK. prefillSearchQuery ( \"", - "title": "Methods \u2014 DevRev | Docs" + "id": "ART-15509_KNOWLEDGE_NODE-17", + "text": "the `initSearchAgent()` method sets up the Plug search agent on your website. This initialization is required before performing any other actions with the Plug widget SDK.\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | useEffect(() => { |\\n| 2 | window.plugSDK.init({ |\\n| 3 | app_id: \\'\\', |\\n| 4 | disable_plug_chat_window: true, |\\n| 5 | }); |\\n| 6 | |\\n| 7 | window.plugSDK.onEvent((payload) => { |\\n| 8 | if (payload.type === \\'ON_PLUG_WIDGET_READY\\') { |\\n| 9 |", + "title": "Methods | DevRev | Docs" }, { "id": "ART-1466_KNOWLEDGE_NODE-26", @@ -3048,19 +3048,24 @@ "title": "Methods \u2014 DevRev | Docs" }, { - "id": "ART-2897_KNOWLEDGE_NODE-19", - "text": "10| } \\n 11| }); \\n 12| }, []);\\n[/code] \\n \\n## Toggle search agent\\n\\nThe `toggleSearchAgent` method allows you to control the visibility of the search agent.\\n\\nIf no input is provided, the method toggles the search bar: opening it if it\\xe2\\x80\\x99s closed, and closing it if it\\xe2\\x80\\x99s open.\\n\\n[code]\\n\\n 1| window.plugSDK.toggleSearchAgent(true); \\n ---|---\\n[/code] \\n \\n## Check Search Agent status\\n\\nUse `isSearchAgentOpen` to determine whether the search", + "id": "ART-2897_KNOWLEDGE_NODE-18", + "text": "search agent on your website. This initialization is required before performing any other actions with the PLuG widget SDK.\\n\\n[code]\\n\\n 1| useEffect(() => { \\n ---|--- \\n 2| window.plugSDK.init({ \\n 3| app_id: \\'\\', \\n 4| disable_plug_chat_window: true, \\n 5| }); \\n 6| \\n 7| window.plugSDK.onEvent((payload) => { \\n 8| if (payload.type === \\'ON_PLUG_WIDGET_READY\\') { \\n 9| window.plugSDK.initSearchAgent(); \\n", "title": "Methods \u2014 DevRev | Docs" }, { - "id": "ART-15509_KNOWLEDGE_NODE-18", - "text": "window.plugSDK.initSearchAgent(); |\\n| 10 | } |\\n| 11 | }); |\\n| 12 | }, []); |\\n```\\n\\nToggle search agent\\n-------------------\\n\\nThe `toggleSearchAgent` method allows you to control the visibility of the search agent.\\n\\nIf no input is provided, the method toggles the search bar: opening it if it\\xe2\\x80\\x99s closed, and closing it if it\\xe2\\x80\\x99s open.\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | window.plugSDK.toggleSearchAgent(true); |\\n```\\n\\nCheck Search Agent", - "title": "Methods | DevRev | Docs" + "id": "ART-2897_KNOWLEDGE_NODE-2", + "text": "conversation](/public/sdks/web/methods#start-conversation)\\n * [Shutdown](/public/sdks/web/methods#shutdown)\\n * [Initialize the search agent](/public/sdks/web/methods#initialize-the-search-agent)\\n * [Toggle search agent](/public/sdks/web/methods#toggle-search-agent)\\n * [Check Search Agent status](/public/sdks/web/methods#check-search-agent-status)\\n * [Prefill search query in search agent](/public/sdks/web/methods#prefill-search-query-in-search-agent)\\n * [Add session", + "title": "Methods \u2014 DevRev | Docs" }, { - "id": "ART-15490_KNOWLEDGE_NODE-5", - "text": "shared any information.\\n\\nAfter integrating the Plug widget, you can personalize and contextualize customer engagement. Learn how to [identify your customers](/sdks/web/user-identity) and update their information.\\n\\nBind a hotkey to toggle search agent\\n------------------------------------\\n\\nYou can bind the `toggleSearchAgent` method to a hotkey, such as `Cmd + K` (or `Ctrl + K` for Windows), to toggle the search agent. Here\\xe2\\x80\\x99s an example implementation:\\n\\n###### Setup\\n\\n######", - "title": "Install Plug search | DevRev | Docs" + "id": "ART-2897_KNOWLEDGE_NODE-20", + "text": "agent is currently open or closed.\\n\\n[code]\\n\\n 1| window.plugSDK.isSearchAgentOpen \\n ---|---\\n[/code] \\n \\nThis returns `true` if the search agent is open and `false` if it is closed.\\n\\n## Prefill search query in search agent\\n\\nUse the `prefillSearchQuery` method to prefill a search query when opening and initializing the search agent.\\n\\n[code]\\n\\n 1| window.plugSDK.prefillSearchQuery(\"search_query\"); \\n ---|---\\n[/code] \\n \\n## Add session properties\\n\\nThe", + "title": "Methods \u2014 DevRev | Docs" + }, + { + "id": "ART-1270_KNOWLEDGE_NODE-1", + "text": "widget.\\n\\nplugSDK.initSearchAgent() Initialize PLuG search agent.\\n\\nplugSDK.shutdown() End the user session which is currently initialized in PLuG widget.\\n\\nplugSDK.toggleWidget() Open/close the chat widget.\\n\\nplugSDK.toggleSearchAgent() Open/close the search agent.\\n\\nplugSDK.onEvent() Perform specific actions based on the payload type received from the PLuG widget.\\n\\nplugSDK.toggleTheme(\\'light/dark\\') Toggle PLuG widget theme.\\n\\nplugSDK.toggleWidget(true, \\'create_conversation\\',", + "title": "Methods \u2014 DevRev | Docs" }, { "id": "ART-15509_KNOWLEDGE_NODE-1", @@ -3068,14 +3073,9 @@ "title": "Methods | DevRev | Docs" }, { - "id": "ART-2894_KNOWLEDGE_NODE-4", - "text": "2| window.plugSDK.init({ \\n 3| app_id: \\'\\', \\n 4| disable_plug_chat_window: true, \\n 5| }); \\n 6| \\n 7| window.plugSDK.onEvent((payload) => { \\n 8| if (payload.type === \\'ON_PLUG_WIDGET_READY\\') { \\n 9| window.plugSDK.initSearchAgent(); \\n 10| } \\n 11| }); \\n 12| \\n[/code] \\n \\nTo toggle `searchAgent`, call the following method on any event required:\\n\\n[code]\\n\\n", - "title": "Install PLuG search \u2014 DevRev | Docs" - }, - { - "id": "ART-4090_KNOWLEDGE_NODE-13", - "text": "[Subprocessors](https://devrev.ai/security/sub-processors)\\n * [Cookie Policy](https://devrev.ai/legal/cookie-policy)\\n * [Privacy Policy](https://devrev.ai/legal/privacy-policy)\\n * [Terms of Service](https://devrev.ai/legal/terms-of-service)\\n\\nLearn\\n\\n * [What are AI Agents?](https://devrev.ai/what-are-ai-agents)\\n * [What is Agentic AI?](https://devrev.ai/what-is-agentic-ai)\\n * [What is Enterprise Search?](https://devrev.ai/what-is-enterprise-search)\\n * [What is Conversational", - "title": "Create Link \u2014 DevRev | Docs" + "id": "ART-1466_KNOWLEDGE_NODE-27", + "text": "Toggle search agent.\\n\\nThe toggleSearchAgent method allows you to control the visibility of the search agent.\\n\\nIf no input is provided, the method toggles the search bar: opening it if it\\xe2\\x80\\x99s closed, and closing it if it\\xe2\\x80\\x99s open.\\n\\n1 window. plugSDK. toggleSearchAgent ( true ) ; Prefill search query in search agent.\\n\\nUse the prefillSearchQuery method to prefill a search query when opening and initializing the search agent.\\n\\n1 window. plugSDK. prefillSearchQuery ( \"", + "title": "Methods \u2014 DevRev | Docs" } ] }, @@ -3089,49 +3089,49 @@ "title": "October 5: Left navigation | Changelog | DevRev" }, { - "id": "ART-1944_KNOWLEDGE_NODE-0", - "text": "b\"Product Platform Solutions Marketplace Company Resources Pricing\\n\\nLogin Book a demo\\nProduct Platform Solutions Marketplace Company Resources Pricing\\nLogin Book a demo\\nSearch CTRL + K\\n\\nIntroduction AgentOS platform\\n\\nCore concepts Apps Groups Parts & trails Vistas Vista Reports\\nTasks Updates Customer email notifications Roles Default privileges by group\\nAccess control Object customization Glossary Search People insights Workflow Templates Accessing DevRev External identity provider", - "title": "DevRev Documentation" + "id": "ART-2666_KNOWLEDGE_NODE-0", + "text": "b\"[](/)\\n\\n * Product\\n * Platform\\n * Marketplace\\n * Company\\n * Resources\\n * Pricing\\n\\n __\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\n[](/)\\n\\n __\\n\\nProduct __\\n\\nPlatform __\\n\\nMarketplace __\\n\\nCompany __\\n\\nResources __\\n\\nPricing __\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nSearch\\n\\n`CTRL` \\\\+ `K`\\n\\n * [Introduction](/docs)\\n * [AgentOS platform](/docs/intro)\\n\\n * [Core concepts](/docs/product/core)\\n *", + "title": "October 5: Left navigation | Changelog | DevRev" }, { - "id": "ART-2666_KNOWLEDGE_NODE-26", - "text": "[Developer](https://developer.devrev.ai/)\\n * [DevRevU](/docs/DevRevU)\\n\\n * [Product demos](/docs/DevRevU/demos)\\n\\nOn this page\\n\\n * Key changes\\n * New navigation sections\\n * Explore the section for boards and views\\n * Search and filter options in Explore\\n * Pinning and unpinning views\\n * Recents section\\n\\n 1. [Documentation](/docs)\\n 2. 3. [Changelog](/docs/changelog)\\n 4. [October 5: Left navigation](/docs/product/left-navigation)\\n\\n# Left navigation\\n\\nThe updated", + "id": "ART-2666_KNOWLEDGE_NODE-29", + "text": "views\\n\\nAn **Explore** section has been introduced where all your shared, personal, and sprint boards are now conveniently located.\\n\\nTo access your boards and views, navigate to **Explore** in the left navigation menu. The **Explore** section is divided into three categories:\\n\\n * **Stock Views** : Default views provided by DevRev.\\n * **My Views** : Views that you have created.\\n * **Shared** : Views that have been shared with you or your organization.\\n\\n#### Search and filter options", "title": "October 5: Left navigation | Changelog | DevRev" }, { - "id": "ART-2666_KNOWLEDGE_NODE-0", - "text": "b\"[](/)\\n\\n * Product\\n * Platform\\n * Marketplace\\n * Company\\n * Resources\\n * Pricing\\n\\n __\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\n[](/)\\n\\n __\\n\\nProduct __\\n\\nPlatform __\\n\\nMarketplace __\\n\\nCompany __\\n\\nResources __\\n\\nPricing __\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nSearch\\n\\n`CTRL` \\\\+ `K`\\n\\n * [Introduction](/docs)\\n * [AgentOS platform](/docs/intro)\\n\\n * [Core concepts](/docs/product/core)\\n *", + "id": "ART-2666_KNOWLEDGE_NODE-28", + "text": "changes\\n\\n### New navigation sections\\n\\nThe updated left navigation includes the following sections:\\n\\n * **Work**\\n * **Product**\\n * **Customer**\\n * **People**\\n\\nThese new sections replace the former categories of **Build** , **Product** , **Support** , and **Grow** , offering a more personalized user experience. You can set defaults based on your primary application preferences and add custom views to these sections for easier access.\\n\\n### Explore the section for boards and", "title": "October 5: Left navigation | Changelog | DevRev" }, { - "id": "ART-12450_KNOWLEDGE_NODE-7", - "text": "page helpful?YesNo\\n\\n[FeaturesUp Next](/public/sdks/ios/features)\\n\\n[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)\\n\\n[Enterprise grade security to protect customer dataLearn more about it.](https://devrev.ai/blog/soc-compliance)\\n\\nProduct\\n\\n * [Build](https://devrev.ai/build)\\n * [Support](https://devrev.ai/support)\\n * [Search](https://devrev.ai/search)\\n * [PLuG - User", + "id": "ART-12447_KNOWLEDGE_NODE-14", + "text": "Inc.\\n\\n[](https://devrev.ai)\\n\\n * Product\\n * Platform\\n * Solutions\\n * Marketplace\\n * Company\\n * Resources\\n * [Pricing](https://devrev.ai/pricing)\\n\\n __\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[](https://devrev.ai)\\n\\n __\\n\\nProduct __\\n\\nPlatform __\\n\\nSolutions __\\n\\nMarketplace __\\n\\nCompany __\\n\\nResources __\\n\\n[Pricing](https://devrev.ai/pricing)\\n\\n[Login](https://app.devrev.ai/login)[Book a", "title": "Quickstart guide \u2014 DevRev | Docs" }, { - "id": "ART-2666_KNOWLEDGE_NODE-28", - "text": "changes\\n\\n### New navigation sections\\n\\nThe updated left navigation includes the following sections:\\n\\n * **Work**\\n * **Product**\\n * **Customer**\\n * **People**\\n\\nThese new sections replace the former categories of **Build** , **Product** , **Support** , and **Grow** , offering a more personalized user experience. You can set defaults based on your primary application preferences and add custom views to these sections for easier access.\\n\\n### Explore the section for boards and", - "title": "October 5: Left navigation | Changelog | DevRev" + "id": "ART-15500_KNOWLEDGE_NODE-0", + "text": "b'Migration guide | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nPublic\\n\\nPublic\\n\\nSearch\\n\\n`/`\\n\\nOn this page\\n\\n* [Feature equivalence chart](/sdks/android/migration-guide#feature-equivalence-chart)\\n\\n[SDKs](/sdks)[DevRev SDK for Android](/sdks/android/quickstart)\\n\\nMigration guide\\n===============\\n\\nCopy page\\n\\nThis guide helps transition from the legacy UserExperior SDK to the new DevRev SDK.\\n\\nFeature equivalence chart\\n-------------------------\\n\\n| Feature |", + "title": "Migration guide | DevRev | Docs" }, { - "id": "ART-15498_KNOWLEDGE_NODE-8", - "text": "helpful?\\n\\nYesNo\\n\\n[Previous](/sdks/web/migration)[#### Features\\n\\nNext](/sdks/android/features)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", - "title": "Quickstart guide | DevRev | Docs" + "id": "ART-15520_KNOWLEDGE_NODE-0", + "text": "b'Migration guide | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nPublic\\n\\nPublic\\n\\nSearch\\n\\n`/`\\n\\nOn this page\\n\\n* [Feature Equivalence Chart](/sdks/cordova/migration-guide#feature-equivalence-chart)\\n\\n[SDKs](/sdks)[DevRev SDK for Cordova](/sdks/cordova/quickstart)\\n\\nMigration guide\\n===============\\n\\nCopy page\\n\\nThis guide and chart should help facilitate the transition from the legacy UserExperior SDK to the new DevRev SDK in your Cordova application, providing", + "title": "Migration guide | DevRev | Docs" }, { - "id": "ART-2662_KNOWLEDGE_NODE-1", - "text": "[Parts & trails](/docs/product/parts)\\n + [Vistas](/docs/product/vistas)\\n\\n - [Vista Reports](/docs/product/vista-reports)\\n - [Board view](/docs/product/board-view)\\n + [Tasks](/docs/product/tasks)\\n + [Updates](/docs/product/updates)\\n + [Customer email notifications](/docs/product/customer-emails)\\n + [Roles](/docs/product/roles)\\n\\n - [Default privileges by group](/docs/product/privs)\\n + [Access control](/docs/product/access-control)\\n + [Object", - "title": "DevRev Documentation" + "id": "ART-15503_KNOWLEDGE_NODE-0", + "text": "b\"Migration guide | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nPublic\\n\\nPublic\\n\\nSearch\\n\\n`/`\\n\\nOn this page\\n\\n* [Feature equivalence chart](/sdks/ios/migration-guide#feature-equivalence-chart)\\n\\n[SDKs](/sdks)[DevRev SDK for iOS](/sdks/ios/quickstart)\\n\\nMigration guide\\n===============\\n\\nCopy page\\n\\nThis guide and chart should help facilitate the transition from the legacy UserExperior SDK to the new DevRev SDK in your iOS application, providing insights into feature", + "title": "Migration guide | DevRev | Docs" }, { - "id": "ART-2662_KNOWLEDGE_NODE-0", - "text": "b'DevRev Documentation\\n\\n* Computer\\n* Resources\\n* [Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nComputer\\n\\nResources\\n\\n[Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nSearch\\n\\n`CTRL`\\xc2\\xa0+\\xc2\\xa0`K`\\n\\n* [Introduction](/docs)\\n* [Computer by DevRev](/docs/intro)\\n\\n + [Core concepts](/docs/product/core)\\n + [Apps](/docs/product/apps)\\n + [Groups](/docs/product/groups)\\n +", - "title": "DevRev Documentation" + "id": "ART-12459_KNOWLEDGE_NODE-11", + "text": "Inc.\\n\\n[](https://devrev.ai)\\n\\n * Product\\n * Platform\\n * Solutions\\n * Marketplace\\n * Company\\n * Resources\\n * [Pricing](https://devrev.ai/pricing)\\n\\n __\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[](https://devrev.ai)\\n\\n __\\n\\nProduct __\\n\\nPlatform __\\n\\nSolutions __\\n\\nMarketplace __\\n\\nCompany __\\n\\nResources __\\n\\n[Pricing](https://devrev.ai/pricing)\\n\\n[Login](https://app.devrev.ai/login)[Book a", + "title": "Migration guide \u2014 DevRev | Docs" }, { - "id": "ART-12461_KNOWLEDGE_NODE-0", - "text": "b'[](/public/sdks/cordova/quickstart)\\n\\nPublic\\n\\n[](https://devrev.ai)\\n\\n * Product\\n * Platform\\n * Solutions\\n * Marketplace\\n * Company\\n * Resources\\n * [Pricing](https://devrev.ai/pricing)\\n\\n __\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[](https://devrev.ai)\\n\\n __\\n\\nProduct __\\n\\nPlatform __\\n\\nSolutions __\\n\\nMarketplace __\\n\\nCompany __\\n\\nResources", - "title": "Quickstart guide \u2014 DevRev | Docs" + "id": "ART-12452_KNOWLEDGE_NODE-0", + "text": "b\"[](/public/sdks/ios/migration-guide)\\n\\nPublic\\n\\nOn this page\\n\\n * [Migration guide](/public/sdks/ios/migration-guide#migration-guide)\\n * [Feature Equivalence Chart](/public/sdks/ios/migration-guide#feature-equivalence-chart)\\n\\n[SDKs](/public/sdks)[DevRev SDK for iOS](/public/sdks/ios/quickstart)\\n\\n#\\n\\nMigration guide\\n\\nThis guide and chart should help facilitate the transition from the legacy UserExperior SDK to the new DevRev SDK in your iOS application, providing insights into", + "title": "Migration guide \u2014 DevRev | Docs" } ] }, @@ -3140,54 +3140,54 @@ "query": "common causes of Bad_Request error in DevRev", "retrievals": [ { - "id": "ART-1364_KNOWLEDGE_NODE-3", - "text": "\\n`429`| `Too Many Requests`| The user is currently throttled due to exceeding their permitted rate limit. The `Retry-After` response header contains the number of seconds before the user should retry. \\n`500`| `Internal Server Error`| An internal error was encountered in the handling of the request which couldn\\xe2\\x80\\x99t be processed to completion. DevRev is automatically alerted to any occurrence of this error. The user should retry after a short delay and contact DevRev support if the", - "title": "Errors \u2014 DevRev | Docs" + "id": "ART-1274_KNOWLEDGE_NODE-13", + "text": "version. If you have an existing snap-in version in the package, the following error message is shown:\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | { |\\n| 2 | \"debug_message\": \"can\\'t create a new snap_in_version under snap_in_package because there is already a non-published snap_in_version under it\", |\\n| 3 | \"message\": \"Bad Request\", |\\n| 4 | \"type\": \"bad_request\" |\\n| 5 | } |\\n```\\n\\nTo list snap-in versions under the package, run the following command:\\n\\n```\\n| | |\\n| --- | --- |\\n| $ |", + "title": "Getting started | DevRev | Docs" }, { - "id": "ART-15376_KNOWLEDGE_NODE-3", - "text": "request to merge Dev users.\\n\\n### Errors\\n\\n400\\n\\nBad Request Error\\n\\n401\\n\\nUnauthorized Error\\n\\n403\\n\\nForbidden Error\\n\\n404\\n\\nNot Found Error\\n\\n429\\n\\nToo Many Requests Error\\n\\n500\\n\\nInternal Server Error\\n\\n503\\n\\nService Unavailable Error\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/api-reference/dev-users/list-post)[#### Self Dev User\\n\\nNext](/api-reference/dev-users/self)[Built", - "title": "Merge Dev Users | DevRev | Docs" + "id": "ART-1470_KNOWLEDGE_NODE-17", + "text": "have only one snap-in version. If you have an existing snap-in version in the package, the following error message is shown:\\n\\n[code]\\n\\n 1| { \\n ---|--- \\n 2| \"debug_message\": \"can\\'t create a new snap_in_version under snap_in_package because there is already a non-published snap_in_version under it\", \\n 3| \"message\": \"Bad Request\", \\n 4| \"type\": \"bad_request\" \\n 5| }\\n[/code] \\n \\nTo list snap-in versions under the package, run the following", + "title": "Getting started \u2014 DevRev | Docs" }, { - "id": "ART-1204_KNOWLEDGE_NODE-9", - "text": "Error\\n\\n429\\n\\nToo Many Requests Error\\n\\n500\\n\\nInternal Server Error\\n\\n503\\n\\nService Unavailable Error\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/api-reference/dev-users/get)[#### Link Dev Users Identities\\n\\nNext](/api-reference/dev-users/identities-link)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", - "title": "Get Dev User (POST) | DevRev | Docs" + "id": "ART-15314_KNOWLEDGE_NODE-8", + "text": "Errors\\n\\n400\\n\\nBad Request Error\\n\\n401\\n\\nUnauthorized Error\\n\\n403\\n\\nForbidden Error\\n\\n404\\n\\nNot Found Error\\n\\n429\\n\\nToo Many Requests Error\\n\\n500\\n\\nInternal Server Error\\n\\n503\\n\\nService Unavailable Error\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/api-reference/code-changes/update)[#### Get Command\\n\\nNext](/api-reference/commands/get)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Create Command | DevRev | Docs" }, { - "id": "ART-15449_KNOWLEDGE_NODE-3", - "text": "Error\\n\\n429\\n\\nToo Many Requests Error\\n\\n500\\n\\nInternal Server Error\\n\\n503\\n\\nService Unavailable Error\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/api-reference/rev-users/list-post)[#### Scan Rev Users\\n\\nNext](/api-reference/rev-users/scan)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", - "title": "Merge Rev Users | DevRev | Docs" + "id": "ART-15315_KNOWLEDGE_NODE-8", + "text": "Errors\\n\\n400\\n\\nBad Request Error\\n\\n401\\n\\nUnauthorized Error\\n\\n403\\n\\nForbidden Error\\n\\n404\\n\\nNot Found Error\\n\\n429\\n\\nToo Many Requests Error\\n\\n500\\n\\nInternal Server Error\\n\\n503\\n\\nService Unavailable Error\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/api-reference/commands/list-post)[#### Create Conversation\\n\\nNext](/api-reference/conversations/create)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Update Command | DevRev | Docs" }, { - "id": "ART-1364_KNOWLEDGE_NODE-2", - "text": "{\"message\":\"route not found\"}\\n[/code] \\n \\nStatus Code| Status| Description \\n---|---|--- \\n`400`| `Bad Request`| The request was malformed or contained invalid arguments. \\n`401`| `Unauthorized`| The user attempted to access an endpoint that requires authentication and no credentials were provided or their validation failed. \\n`403`| `Forbidden`| The user isn\\xe2\\x80\\x99t authorized to perform the requested action. \\n`404`| `Not Found`| The requested endpoint doesn\\xe2\\x80\\x99t exist.", - "title": "Errors \u2014 DevRev | Docs" + "id": "ART-15307_KNOWLEDGE_NODE-7", + "text": "Errors\\n\\n400\\n\\nBad Request Error\\n\\n401\\n\\nUnauthorized Error\\n\\n403\\n\\nForbidden Error\\n\\n429\\n\\nToo Many Requests Error\\n\\n500\\n\\nInternal Server Error\\n\\n503\\n\\nService Unavailable Error\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/api-reference/code-changes/get-post)[#### List Code Changes (POST)\\n\\nNext](/api-reference/code-changes/list-post)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "List Code Changes | DevRev | Docs" }, { - "id": "ART-15440_KNOWLEDGE_NODE-9", - "text": "Error\\n\\n409\\n\\nConflict Error\\n\\n429\\n\\nToo Many Requests Error\\n\\n500\\n\\nInternal Server Error\\n\\n503\\n\\nService Unavailable Error\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/api-reference/rev-users/scan-post)[#### Create Service Account\\n\\nNext](/api-reference/service-accounts/create)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", - "title": "Update Rev User | DevRev | Docs" + "id": "ART-1247_KNOWLEDGE_NODE-16", + "text": "variants\\n\\n### Errors\\n\\n400\\n\\nBad Request Error\\n\\n401\\n\\nUnauthorized Error\\n\\n403\\n\\nForbidden Error\\n\\n404\\n\\nNot Found Error\\n\\n429\\n\\nToo Many Requests Error\\n\\n500\\n\\nInternal Server Error\\n\\n503\\n\\nService Unavailable Error\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/api-reference/works/get)[#### List Works\\n\\nNext](/api-reference/works/list)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Get Work (POST) | DevRev | Docs" }, { - "id": "ART-4097_KNOWLEDGE_NODE-1", - "text": "Error\\n\\n401\\n\\nUnauthorized Error\\n\\n403\\n\\nForbidden Error\\n\\n404\\n\\nNot Found Error\\n\\n429\\n\\nToo Many Requests Error\\n\\n500\\n\\nInternal Server Error\\n\\n503\\n\\nService Unavailable Error\\n\\nPOST\\n\\n/rev-users.delete\\n\\n[code]\\n\\n $| curl -X POST https://api.devrev.ai/rev-users.delete \\\\ \\n ---|--- \\n >| -H \"Authorization: Bearer \" \\\\ \\n >| -H \"Content-Type: application/json\" \\\\ \\n >| -d \\'{ \\n >| \"id\": \"foo\" \\n >| }\\'\\n[/code] \\n \\nTry", - "title": "Delete Rev User \u2014 DevRev | Docs" + "id": "ART-16173_KNOWLEDGE_NODE-6", + "text": "Response\\n\\nThe response to vista creation.\\n\\nvistaobject\\n\\nRepresents a collection of DevRev objects.\\n\\nShow 3 variants\\n\\n### Errors\\n\\n400\\n\\nBad Request Error\\n\\n401\\n\\nUnauthorized Error\\n\\n403\\n\\nForbidden Error\\n\\n409\\n\\nConflict Error\\n\\n429\\n\\nToo Many Requests Error\\n\\n500\\n\\nInternal Server Error\\n\\n503\\n\\nService Unavailable Error\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/beta/api-reference/uoms/update)[#### Delete Vista\\n\\nNext](/beta/api-reference/vistas/delete)[Built", + "title": "Create Vista | DevRev | Docs" }, { - "id": "ART-1213_KNOWLEDGE_NODE-5", - "text": "properties\\n\\n### Errors\\n\\n400\\n\\nBad Request Error\\n\\n401\\n\\nUnauthorized Error\\n\\n403\\n\\nForbidden Error\\n\\n404\\n\\nNot Found Error\\n\\n429\\n\\nToo Many Requests Error\\n\\n500\\n\\nInternal Server Error\\n\\n503\\n\\nService Unavailable Error\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/api-reference/rev-orgs/delete)[#### Get Rev Org (POST)\\n\\nNext](/api-reference/rev-orgs/get-post)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", - "title": "Get Rev Org | DevRev | Docs" + "id": "ART-1245_KNOWLEDGE_NODE-19", + "text": "Response\\n\\nSuccess.\\n\\nworkslist of objects\\n\\nThe resulting collection of work items.\\n\\nShow 2 variants\\n\\n### Errors\\n\\n400\\n\\nBad Request Error\\n\\n401\\n\\nUnauthorized Error\\n\\n403\\n\\nForbidden Error\\n\\n429\\n\\nToo Many Requests Error\\n\\n500\\n\\nInternal Server Error\\n\\n503\\n\\nService Unavailable Error\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/api-reference/works/export)[#### Get Work\\n\\nNext](/api-reference/works/get)[Built", + "title": "Export Works (POST) | DevRev | Docs" }, { - "id": "ART-15314_KNOWLEDGE_NODE-8", - "text": "Errors\\n\\n400\\n\\nBad Request Error\\n\\n401\\n\\nUnauthorized Error\\n\\n403\\n\\nForbidden Error\\n\\n404\\n\\nNot Found Error\\n\\n429\\n\\nToo Many Requests Error\\n\\n500\\n\\nInternal Server Error\\n\\n503\\n\\nService Unavailable Error\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/api-reference/code-changes/update)[#### Get Command\\n\\nNext](/api-reference/commands/get)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", - "title": "Create Command | DevRev | Docs" + "id": "ART-1199_KNOWLEDGE_NODE-6", + "text": "token metadata.\\n\\ntokenslist of objects\\n\\nThe list of token metadata.\\n\\nShow 14 properties\\n\\n### Errors\\n\\n400\\n\\nBad Request Error\\n\\n401\\n\\nUnauthorized Error\\n\\n403\\n\\nForbidden Error\\n\\n404\\n\\nNot Found Error\\n\\n429\\n\\nToo Many Requests Error\\n\\n500\\n\\nInternal Server Error\\n\\n503\\n\\nService Unavailable Error\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/api-reference/auth-tokens/list)[#### Delete Auth Tokens Self\\n\\nNext](/api-reference/auth-tokens/self-delete)[Built", + "title": "List Auth Tokens (POST) | DevRev | Docs" }, { - "id": "ART-1205_KNOWLEDGE_NODE-11", - "text": "Error\\n\\n403\\n\\nForbidden Error\\n\\n429\\n\\nToo Many Requests Error\\n\\n500\\n\\nInternal Server Error\\n\\n503\\n\\nService Unavailable Error\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/api-reference/dev-users/identities-unlink)[#### List Dev Users (POST)\\n\\nNext](/api-reference/dev-users/list-post)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", - "title": "List Dev Users | DevRev | Docs" + "id": "ART-1370_KNOWLEDGE_NODE-1", + "text": "an object.\\n\\nartifactslist of objects\\n\\nThe artifact\\xe2\\x80\\x99s information.\\n\\nShow 7 properties\\n\\n### Errors\\n\\n400\\n\\nBad Request Error\\n\\n401\\n\\nUnauthorized Error\\n\\n403\\n\\nForbidden Error\\n\\n404\\n\\nNot Found Error\\n\\n429\\n\\nToo Many Requests Error\\n\\n500\\n\\nInternal Server Error\\n\\n503\\n\\nService Unavailable Error\\n\\nPOST\\n\\n/artifacts.list\\n\\n[code]\\n\\n $| curl -X POST https://api.devrev.ai/artifacts.list \\\\ \\n ---|--- \\n >| -H \"Authorization: Bearer \" \\\\ \\n", + "title": "List Artifacts (POST) \u2014 DevRev | Docs" } ] }, @@ -3196,24 +3196,19 @@ "query": "associate multiple workspaces to a contact", "retrievals": [ { - "id": "ART-1210_KNOWLEDGE_NODE-0", - "text": "b'Workspaces | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nPublic\\n\\nPublic\\n\\nSearch\\n\\n`/`\\n\\n[API Reference](/api-reference/getting-started)[rev-orgs](/api-reference/rev-orgs/workspaces)\\n\\nWorkspaces\\n==========\\n\\nCopy page\\n\\n`rev-orgs` endpoint\\n\\n\\xe2\\x84\\xb9\\xef\\xb8\\x8f Workspaces (or rev orgs) are the organizations that your customers belong to. A workspace offers more granularity than accounts to define the instances of your product. Users can be mapped to track", - "title": "Workspaces | DevRev | Docs" - }, - { - "id": "ART-1414_KNOWLEDGE_NODE-1", - "text": "__\\n\\n[Pricing](https://devrev.ai/pricing)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[API Reference](/public/api-reference/getting-started)[rev-orgs](/public/api-reference/rev-orgs/workspaces)\\n\\n#\\n\\nWorkspaces\\n\\n`rev-orgs` endpoint\\n\\n\\xe2\\x84\\xb9\\xef\\xb8\\x8f Workspaces (or rev orgs) are the organizations that your customers belong to. A workspace offers more granularity than accounts to define the instances of your product. Users can be mapped", - "title": "Workspaces \u2014 DevRev | Docs" + "id": "ART-2000_KNOWLEDGE_NODE-25", + "text": "address.\\n\\nAccounts are associated with a workspace. An account can be a part of multiple workspaces at the same time. An account can also be linked to multiple opportunities. Accounts help you keep track of your customer contacts. Contacts are always linked to a workspace or an account.\\n\\nCreate an account\\n-----------------\\n\\nYou can create accounts in the following ways:\\n\\n### Using the DevRev app\\n\\n1. Go to **Accounts** > **+ Account**.\\n2. Fill in the details like account name,", + "title": "Accounts | Computer for Growth Teams | DevRev" }, { - "id": "ART-1960_KNOWLEDGE_NODE-28", - "text": "Individual prospects or users associated with an organization\\'s workspaces or accounts.\\n: Contacts can be associated with an account or workspace, but not always.\\n: Terms related to\\xc2\\xa0*contact*:\\n\\n * *[account](#account)*\\n * *[workspace](#workspace)*\\n: Read more about\\xc2\\xa0[*contact*](https://docs.devrev.ai/product/grow)\\n\\nconversation\\n\\n: An interaction between the builder and consumer that may be escalated to a ticket.\\n: Terms related", - "title": "Glossary | Computer by DevRev | DevRev" + "id": "ART-1986_KNOWLEDGE_NODE-30", + "text": "its own SLA, and a single customer can have multiple workspaces.\\n\\n**Adding assignment rules**\\n\\nGo to **Assignment rules** to add conditions for an account to be assigned a particular SLA.\\n\\n1. Click **+ Create Rule**.\\n2. In the **New SLA assignment rule** pane, select the account attributes and their values to check for.\\n3. Click **Save and Apply**.\\n\\n**Editing/Deleting an assignment rule**\\n\\nOnce an assignment rule is created, you have the option to edit or delete it. Any changes made", + "title": "Service-level agreement | Computer for Support Teams | DevRev" }, { - "id": "ART-1210_KNOWLEDGE_NODE-1", - "text": "usage per workspace.\\n\\n\\xf0\\x9f\\x93\\x8c For more information about workspaces, refer to [Customers](https://docs.devrev.ai/product/customers).\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/api-reference/parts/update)[#### Create Rev Org\\n\\nNext](/api-reference/rev-orgs/create)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", - "title": "Workspaces | DevRev | Docs" + "id": "ART-1997_KNOWLEDGE_NODE-27", + "text": "timeline.\\n\\nYou can use a customizable set of states and stages to manage the lifecycle of an account, from prospect to customer to churned.\\n\\n\\xf0\\x9f\\x96\\xa5\\xef\\xb8\\x8f Workspace\\n------------\\n\\nA [workspace](https://docs.devrev.ai/product/glossary) represents an instance of a signed-up organization on your application. A workspace is also known as rev-org in the DevRev API. Customers can create multiple workspaces on your application. Therefore, you can link multiple workspaces to a", + "title": "Computer for Growth Teams | DevRev" }, { "id": "ART-16264_KNOWLEDGE_NODE-29", @@ -3221,14 +3216,14 @@ "title": "June 2025 | Changelog | DevRev" }, { - "id": "ART-15506_KNOWLEDGE_NODE-17", - "text": "Contacts linked to the account | User and account information | Recommended for most B2B cases |\\n| **Three-level** | Account with linked workspaces and contacts | User, workspace and account information | Used for B2B cases but only recommended if your business model requires workspace organization |\\n\\n**What happens when you send different combinations:**\\n\\nUser reference:\\n\\n* A user reference is mandatory, ensuring its constant presence.\\n* If a user with the provided reference", - "title": "Identify your users with Plug | DevRev | Docs" + "id": "ART-1997_KNOWLEDGE_NODE-31", + "text": "users associated with an organization's workspaces or accounts. A contact is also known as a rev-user in the DevRev API.\\n\\nContacts represent customers, leads, and stakeholders with whom a business interacts. Contacts can be associated with an account or workspace, but not always.\\n\\n\\xf0\\x9f\\xa4\\x9d Engagement\\n------------\\n\\nDevRev uses engagements to capture all interactions between employees and customers, encompassing communications across various channels and touchpoints. DevRev records", + "title": "Computer for Growth Teams | DevRev" }, { - "id": "ART-1414_KNOWLEDGE_NODE-2", - "text": "to track usage per workspace.\\n\\n\\xf0\\x9f\\x93\\x8c For more information about workspaces, refer to [Customers](https://docs.devrev.ai/product/customers).\\n\\nWas this page helpful?YesNo\\n\\n[ConceptsUp Next](/public/api-reference/tags/concepts)\\n\\n[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)\\n\\n[Enterprise grade security to protect customer dataLearn more about it.](https://devrev.ai/blog/soc-compliance)\\n\\nProduct\\n\\n *", - "title": "Workspaces \u2014 DevRev | Docs" + "id": "ART-1960_KNOWLEDGE_NODE-28", + "text": "Individual prospects or users associated with an organization\\'s workspaces or accounts.\\n: Contacts can be associated with an account or workspace, but not always.\\n: Terms related to\\xc2\\xa0*contact*:\\n\\n * *[account](#account)*\\n * *[workspace](#workspace)*\\n: Read more about\\xc2\\xa0[*contact*](https://docs.devrev.ai/product/grow)\\n\\nconversation\\n\\n: An interaction between the builder and consumer that may be escalated to a ticket.\\n: Terms related", + "title": "Glossary | Computer by DevRev | DevRev" }, { "id": "ART-16784_KNOWLEDGE_NODE-6", @@ -3236,13 +3231,18 @@ "title": "Glossary" }, { - "id": "ART-1414_KNOWLEDGE_NODE-0", - "text": "b'[](/public/api-reference/rev-orgs/workspaces)\\n\\nPublic\\n\\n[](https://devrev.ai)\\n\\n * Product\\n * Platform\\n * Solutions\\n * Marketplace\\n * Company\\n * Resources\\n * [Pricing](https://devrev.ai/pricing)\\n\\n __\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[](https://devrev.ai)\\n\\n __\\n\\nProduct __\\n\\nPlatform __\\n\\nSolutions __\\n\\nMarketplace __\\n\\nCompany __\\n\\nResources", - "title": "Workspaces \u2014 DevRev | Docs" + "id": "ART-2035_KNOWLEDGE_NODE-31", + "text": "creating conversations from any Slack channel:\\n\\n1. Link the DevRev Customer workspace to the channel by running /devrev link in the channel.\\n2. In the pop-up modal, search for the DevRev Customer workspace. \\n 2a. Select the preferred workspace and click **Link**. \\n 2b. If your channel is already linked to a workspace, the modal will show the details of the workspace and an option to unlink.\\n3. Once linked, new contacts identified via Slack are automatically added to the associated", + "title": "Slack | Integrate | Snap-ins | DevRev" + }, + { + "id": "ART-1997_KNOWLEDGE_NODE-28", + "text": "single account. This allows us to consolidate various workspaces under one account.\\n\\nTo create a new organization in DevRev:\\n\\n1. Click on your profile picture in the top left corner.\\n2. Go to the **Orgs** section and click on **+**.\\n3. Fill in the details and click **Create**.\\n4. Now you can find your newly created org in **Orgs**.\\n\\nIn modern SaaS applications, customers often create multiple workspaces for testing, production, and staging. All entities that drive support", + "title": "Computer for Growth Teams | DevRev" }, { - "id": "ART-1997_KNOWLEDGE_NODE-31", - "text": "users associated with an organization's workspaces or accounts. A contact is also known as a rev-user in the DevRev API.\\n\\nContacts represent customers, leads, and stakeholders with whom a business interacts. Contacts can be associated with an account or workspace, but not always.\\n\\n\\xf0\\x9f\\xa4\\x9d Engagement\\n------------\\n\\nDevRev uses engagements to capture all interactions between employees and customers, encompassing communications across various channels and touchpoints. DevRev records", + "id": "ART-1997_KNOWLEDGE_NODE-29", + "text": "workflows\\xe2\\x80\\x94such as creating tickets, conversations, and SLAs\\xe2\\x80\\x94are linked to workspaces.\\n\\n\\xf0\\x9f\\x92\\xa1 Opportunity\\n-------------\\n\\nAn opportunity record represents a potential source of revenue for your organization. Opportunities feature customizable states and stages that communicate their position within the sales pipeline.\\n\\nIf an account has multiple sales opportunities, you can connect multiple opportunities to it. You can also associate tickets with", "title": "Computer for Growth Teams | DevRev" } ] @@ -3252,14 +3252,14 @@ "query": "Slack notifications org name unknown organisation", "retrievals": [ { - "id": "ART-2035_KNOWLEDGE_NODE-60", - "text": "hidden.\\n\\n![]()\\n\\nSlack currently does not support custom objects or related automations.\\n\\nSlack snap-in user resolution\\n-----------------------------\\n\\n* The Slack snap-in uses email for user resolution between platforms. If a user or organization hides their emails, the integration cannot resolve the user to a DevRev Contact and will act on behalf of itself instead. It's recommended to ask customers to share their emails with your organization so apps, including DevRev, can access", - "title": "Slack | Integrate | Snap-ins | DevRev" + "id": "ART-1283_KNOWLEDGE_NODE-10", + "text": "https://www.googleapis.com/auth/gmail.send\\n\\ndevrev-github-oauth. : Facilitates OAuth connections for integrating with GitHub.\\n\\nscopes: repo admin:repo_hook admin:org notifications user write:discussion\\n\\ndevrev-zendesk-oauth. : Facilitates OAuth connections for integrating with Microsoft.\\n\\nscopes: read tickets:write\\n\\nManifest Declaration:\\n\\n1 keyrings : 2 organization : 3 - name : my-secret-org-token 4 description : Enables access to organization-wide resources (e.g., Slack workspace)", + "title": "Keyrings \u2014 DevRev | Docs" }, { - "id": "ART-2035_KNOWLEDGE_NODE-35", - "text": "the channel will not sync to DevRev.\\n\\nConversation notifications\\n--------------------------\\n\\nAny new message added to a conversation within your DevRev workspace, regardless of its originating source channel or platform, can trigger a notification in a designated Slack channel, helping your team stay updated on customer interactions.\\n\\n### To enable conversation notifications\\n\\n1. Turn on **Enable the conversation notification feature** in the Slack snap-in configuration.\\n2. Provide a", - "title": "Slack | Integrate | Snap-ins | DevRev" + "id": "ART-1491_KNOWLEDGE_NODE-10", + "text": "https://www.googleapis.com/auth/gmail.send\\n\\ndevrev-github-oauth. : Facilitates OAuth connections for integrating with GitHub.\\n\\nscopes: repo admin:repo_hook admin:org notifications user write:discussion\\n\\ndevrev-zendesk-oauth. : Facilitates OAuth connections for integrating with Microsoft.\\n\\nscopes: read tickets:write\\n\\nManifest Declaration:\\n\\n1 keyrings : 2 organization : 3 - name : my-secret-org-token 4 description : Enables access to organization-wide resources (e.g., Slack workspace)", + "title": "Keyrings \u2014 DevRev | Docs" }, { "id": "ART-2017_KNOWLEDGE_NODE-27", @@ -3267,39 +3267,39 @@ "title": "SLA status change Slack notifier | Automate | Snap-ins | DevRev" }, { - "id": "ART-2035_KNOWLEDGE_NODE-36", - "text": "Slack Channel ID in the **Channel ID to send conversation notifications** snap-in configuration as the target to post notifications.\\n\\n* Any new message within tickets in the customer messages panel is also subjected to the same automation.\\n* To prevent notification overload, each conversation or ticket is subject to a five minute cooldown period between notifications. Multiple consecutive messages within this window will not trigger additional notifications.\\n* Notification threads are not", - "title": "Slack | Integrate | Snap-ins | DevRev" + "id": "ART-1472_KNOWLEDGE_NODE-22", + "text": "([](https://docs.github.com/en/rest/orgs/orgs?apiVersion=2022-11-28#get-an-organization)) is used to confirm the specified organisation name.\\n[code]\\n\\n 1| const verifyOrgName = async (orgName: string, octokit: Octokit) => { \\n ---|--- \\n 2| try { \\n 3| await octokit.request(\"GET /orgs/{org}\", { \\n 4| headers: { \\n 5| \"X-GitHub-Api-Version\": \"2022-11-28\", \\n 6|", + "title": "Using a snap-in to perform an external action \u2014 DevRev | Docs" }, { - "id": "ART-2017_KNOWLEDGE_NODE-17", - "text": "* [Email snap-in configuration](/docs/integrations/email-config)\\n - [Exotel](/docs/integrations/exotel)\\n - [Slack](/docs/integrations/slack)\\n - [WhatsApp](/docs/integrations/whatsapp)\\n - [GitHub](/docs/integrations/github)\\n - [GitLab](/docs/integrations/gitlab)\\n - [Harness](/docs/integrations/harness)\\n - [Marker.io](/docs/integrations/marker-io)\\n - [Instabug](/docs/integrations/instabug)\\n - [Qase](/docs/integrations/qase)\\n - [Tracxn", - "title": "SLA status change Slack notifier | Automate | Snap-ins | DevRev" + "id": "ART-3233_KNOWLEDGE_NODE-15", + "text": "[Custom field migration](/docs/automations/custom-field-migration)\\n - [Slack scraper](/docs/automations/slack-scraper)\\n - [Slack Broadcaster](/docs/automations/slack-broadcaster)\\n - [Reported by enricher](/docs/automations/ticket-reported-by)\\n - [Ticket approval workflow](/docs/automations/ticket-approval-workflow)\\n - [Ticket linked issues comment sync](/docs/automations/ticket-linked-issues-comment-sync)\\n - [Slack message agent](/docs/automations/slack-message-agent)\\n", + "title": "Org tags sync | Automate | Snap-ins | DevRev" }, { - "id": "ART-4199_KNOWLEDGE_NODE-31", - "text": "Policy](/legal/cookie-policy)\\n* [Privacy Policy](/legal/privacy-policy)\\n* [Terms of Service](/legal/terms-of-service)\\n\\n[System Status](/status)\\n\\n\\xc2\\xa9 2025 DevRev Inc.\"", - "title": "Slack message agent | Automate | Snap-ins | DevRev" + "id": "ART-1953_KNOWLEDGE_NODE-29", + "text": "[support@yourdomain.com](mailto:support@yourdomain.com)\\n* **Subject**: \"You are missing messages from \"\\n\\nReply to the customer on a ticket\\n---------------------------------\\n\\n* **Trigger**: When a reply is made to a customer on a ticket.\\n* **Action**: The system sends out a notification to the customer with the reply message.\\n* **Sender**: {Company\\\\_Name} [support@yourdomain.com](mailto:support@yourdomain.com)\\n* **Subject**: \"[{Company\\\\_Name}] Update on TKT-XXX\"\\n\\nTicket", + "title": "Customer email notifications | Computer by DevRev | DevRev" }, { - "id": "ART-2017_KNOWLEDGE_NODE-16", - "text": "sync](/docs/automations/ticket-linked-issues-comment-sync)\\n - [Slack message agent](/docs/automations/slack-message-agent)\\n + [Integrate](/docs/integrate)\\n\\n - [Bitbucket](/docs/integrations/bitbucket)\\n - [Calendly](/docs/integrations/calendly)\\n - [Coralogix security integration](/docs/integrations/coralogix)\\n - [Datadog](/docs/integrations/datadog)\\n - [Google Calendar AirSync](/docs/integrations/google-calendar-airdrop)\\n - [Email](/docs/integrations/email)\\n\\n", - "title": "SLA status change Slack notifier | Automate | Snap-ins | DevRev" + "id": "ART-1472_KNOWLEDGE_NODE-23", + "text": "}, \\n 7| org: orgName, \\n 8| }); \\n 9| } catch (error) { \\n 10| console.error(error); \\n 11| throw new Error(\"Invalid Organisation Name\"); \\n 12| } \\n 13| };\\n[/code] \\n \\nSimilarly, the [GET Repository](https://docs.github.com/en/rest/repos/repos?apiVersion=2022-11-28#get-a-repository) is used to validate whether the entered repository name is correct.\\n[code]\\n\\n 1| const verifyRepoName = async ( \\n ---|--- \\n 2| orgName:", + "title": "Using a snap-in to perform an external action \u2014 DevRev | Docs" }, { - "id": "ART-2017_KNOWLEDGE_NODE-24", - "text": "[Product demos](/docs/DevRevU/demos)\\n\\nOn this page\\n\\n* [Installation](#installation)\\n* [Configure the snap-in](#configure-the-snapin)\\n\\n1. [Documentation](/docs)\\n3. [Snap-ins](/docs/snapins)\\n[Automate](/docs/automate)\\n[SLA status change Slack notifier](/docs/automations/sla-change-notifier)\\n\\nSLA status change Slack notifier\\n================================\\n\\nGet alerted on your ticket\\'s SLAs. This snap-in sends a notification through Slack to user configured channels, tagging the", - "title": "SLA status change Slack notifier | Automate | Snap-ins | DevRev" + "id": "ART-1276_KNOWLEDGE_NODE-18", + "text": "--- |\\n| 1 | const verifyOrgName = async (orgName: string, octokit: Octokit) => { |\\n| 2 | try { |\\n| 3 | await octokit.request(\"GET /orgs/{org}\", { |\\n| 4 | headers: { |\\n| 5 | \"X-GitHub-Api-Version\": \"2022-11-28\", |\\n| 6 | }, |\\n| 7 | org: orgName, |\\n| 8 | }); |\\n| 9 | } catch (error) { |\\n| 10 | console.error(error); |\\n| 11 | throw new Error(\"Invalid Organisation Name\"); |\\n| 12 | } |\\n| 13 | }; |\\n```\\n\\nSimilarly, the [GET", + "title": "Using a snap-in to perform an external action | DevRev | Docs" }, { - "id": "ART-2035_KNOWLEDGE_NODE-48", - "text": "channel.\\n\\n1. **Sync messages with the thread (for incidents created from Slack)**\\n\\n* Works only for incidents created from Slack.\\n* It syncs messages with the originating thread, similar to ticket and issue work items.\\n\\n1. **Sync messages with the notification thread**\\n\\n* Syncs with the thread of the incident notification sent on the channel mentioned in the **Channel ID to send incident notifications** configuration.\\n* Works for all incidents irrespective of source channel or", - "title": "Slack | Integrate | Snap-ins | DevRev" + "id": "ART-3233_KNOWLEDGE_NODE-17", + "text": "[Slack](/docs/integrations/slack)\\n - [WhatsApp](/docs/integrations/whatsapp)\\n - [GitHub](/docs/integrations/github)\\n - [GitLab](/docs/integrations/gitlab)\\n - [Harness](/docs/integrations/harness)\\n - [Marker.io](/docs/integrations/marker-io)\\n - [Instabug](/docs/integrations/instabug)\\n - [Qase](/docs/integrations/qase)\\n - [Tracxn Integration](/docs/integrations/tracxn-integration)\\n - [Twilio](/docs/integrations/twilio)\\n - [Glean](/docs/integrations/glean)\\n", + "title": "Org tags sync | Automate | Snap-ins | DevRev" }, { - "id": "ART-4199_KNOWLEDGE_NODE-23", - "text": "2025](/docs/changelog/_2025-06-01)\\n + [May 2025](/docs/changelog/_2025-05-01)\\n + [March and April 2025](/docs/changelog/_2025-04-01)\\n + [February 2025](/docs/changelog/_2025-02-01)\\n* [Developer \\xe2\\x86\\x97\\xef\\xb8\\x8f](https://developer.devrev.ai/)\\n* [DevRevU \\xe2\\x86\\x97\\xef\\xb8\\x8f](/docs/DevRevU)\\n\\n + [Product demos](/docs/DevRevU/demos)\\n\\nOn this page\\n\\n* [Install](#install)\\n* [Configure the custom Slack bot](#configure-the-custom-slack-bot)\\n* [Configure", - "title": "Slack message agent | Automate | Snap-ins | DevRev" + "id": "ART-15507_KNOWLEDGE_NODE-38", + "text": "chat.\\n\\n### Configuration\\n\\nTo receive push notifications, you need to configure your DevRev organization by following the instructions in the [push notifications](/sdks/push-notifications) section.\\n\\n### Register for push notifications\\n\\n##### \\n\\nPush notifications require that the SDK has been configured and the user has been identified, to ensure delivery to the correct user.\\n\\nThe DevRev SDK offers a method to register your device for receiving push notifications. You can register for", + "title": "Features | DevRev | Docs" } ] }, @@ -3308,54 +3308,54 @@ "query": "how to create tickets in DevRev MVP org", "retrievals": [ { - "id": "ART-1979_KNOWLEDGE_NODE-27", - "text": "also be used to engage customers for feedback/ideas (such as new feature ideas). Scoping is important for broadcast tickets as there needs to be a differentiation between broadcast (all revs) vs. multicast (particular revs).\\n\\nViews of tickets can be found under **Support** in the DevRev app.\\n\\n![]()\\n\\nYou can export views to CSV or JSON by selecting **Actions** in the upper-right corner and choosing the format.\\n\\nAttributes\\n----------\\n\\nTickets have attributes that can be used to filter", + "id": "ART-1979_KNOWLEDGE_NODE-37", + "text": "filters and **Group** conditions across various vistas in DevRev to track specific work, capacity, and more.\\n\\nYou can add custom attributes to tickets to track additional information. For more information on custom attributes, see [object customization](./object-customization).\\n\\nIssues are attached to tickets in order to track efforts with product priorities.\\n\\nCreate a ticket\\n---------------\\n\\n1. Go to **Support** > **Tickets** from the sidebar on the left.\\n2. Click **New Ticket** on", "title": "Tickets | Computer for Support Teams | DevRev" }, { - "id": "ART-1979_KNOWLEDGE_NODE-37", - "text": "filters and **Group** conditions across various vistas in DevRev to track specific work, capacity, and more.\\n\\nYou can add custom attributes to tickets to track additional information. For more information on custom attributes, see [object customization](./object-customization).\\n\\nIssues are attached to tickets in order to track efforts with product priorities.\\n\\nCreate a ticket\\n---------------\\n\\n1. Go to **Support** > **Tickets** from the sidebar on the left.\\n2. Click **New Ticket** on", + "id": "ART-1979_KNOWLEDGE_NODE-64", + "text": "internal tickets.\\n\\nTo create an internal ticket, click the **Create Ticket** button. At the bottom of the ticket creation panel, click the dropdown menu on **Create external ticket** and select **Create internal ticket**.\\n\\nYou can convert an internal ticket to an external ticket by clicking **Convert to External** within the **Customer Messages** tab. Once a ticket is converted to external, it cannot be reverted back to internal.\\n\\n[PreviousConversation to ticket", "title": "Tickets | Computer for Support Teams | DevRev" }, { - "id": "ART-1447_KNOWLEDGE_NODE-1", - "text": "[Tickets](https://docs.devrev.ai/product/tickets) and [Issues](https://docs.devrev.ai/product/issues).\\n\\nWas this page helpful?YesNo\\n\\n[Create WorkUp Next](/public/api-reference/works/create)\\n\\n[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)\\n\\n[Enterprise grade security to protect customer dataLearn more about it.](https://devrev.ai/blog/soc-compliance)\\n\\nProduct\\n\\n * [Build](https://devrev.ai/build)\\n *", - "title": "Tickets and issues \u2014 DevRev | Docs" + "id": "ART-1979_KNOWLEDGE_NODE-65", + "text": "conversion](/docs/product/conversation-ticket)[NextRouting](/docs/product/routing)\\n\\n#### On this page\\n\\n* [Attributes](#attributes)\\n* [Create a ticket](#create-a-ticket)\\n* [Tags](#tags)\\n* [Stages](#stages)\\n* [Subtypes](#subtypes)\\n* [Viewing attachments on tickets](#viewing-attachments-on-tickets)\\n* [Turing suggests](#turing-suggests)\\n* [Duplicate ticket merging](#duplicate-ticket-merging)\\n* [Merging guidelines](#merging-guidelines)\\n* [Merge settings](#merge-settings)\\n* [Merge", + "title": "Tickets | Computer for Support Teams | DevRev" }, { - "id": "ART-1605_KNOWLEDGE_NODE-461", - "text": "need response.\\nticket.rev_org string Optional\\nFilters for tickets that are associated with any of the provided Rev organizations.\\nticket.severity enum Optional\\nFilters for tickets with any of the provided severities.\\nAllowed values: blocker high low medium\\nticket.sla_summary.stage enum Optional\\nFilters for records with any of the provided SLA stages.\\nAllowed values: breached completed paused running warning\\nticket.source_channel string Optional\\nFilters for tickets with any of the", - "title": "Create \u2014 DevRev | Docs" + "id": "ART-1978_KNOWLEDGE_NODE-38", + "text": "conversations on the portal.\\n3. Under **Styling**, upload a banner image which should be in the ratio of 6:1. You can also set light/dark mode for appearance and select your accent color.\\n4. If you want to enable customers to create tickets from the portal, under **Tabs** turn on **Enable ticket creation**. Assign default owner and part.\\n5. If you want to enable public ticket creation wherein unauthenticated users can create tickets, contact DevRev support.\\n6. Turn on the **Enable banner**", + "title": "Customer portal | Computer for Support Teams | DevRev" }, { - "id": "ART-1785_KNOWLEDGE_NODE-459", - "text": "need response.\\nticket.rev_org string Optional\\nFilters for tickets that are associated with any of the provided Rev organizations.\\nticket.severity enum Optional\\nFilters for tickets with any of the provided severities.\\nAllowed values: blocker high low medium\\nticket.sla_summary.stage enum Optional\\nFilters for records with any of the provided SLA stages.\\nAllowed values: breached completed paused running warning\\nticket.source_channel string Optional\\nFilters for tickets with any of the", - "title": "Create \u2014 DevRev | Docs" + "id": "ART-1979_KNOWLEDGE_NODE-39", + "text": "other tickets or issues that relate to this ticket, click **Link Records** and select the relevant items.\\n7. If you would like to immediately create another ticket, select **Create multiple**.\\n8. Click **Create**.\\n\\nIf a ticket is created from an existing conversation, then the ticket's title and description are populated automatically from the conversation.\\n\\n![]()\\n\\nYou can create a child issue by clicking **+ Link issue** > **Add a child issue**. You can link the other existing issue as", + "title": "Tickets | Computer for Support Teams | DevRev" }, { - "id": "ART-1832_KNOWLEDGE_NODE-468", - "text": "need response.\\nticket.rev_org string Optional\\nFilters for tickets that are associated with any of the provided Rev organizations.\\nticket.severity enum Optional\\nFilters for tickets with any of the provided severities.\\nAllowed values: blocker high low medium\\nticket.sla_summary.stage enum Optional\\nFilters for records with any of the provided SLA stages.\\nAllowed values: breached completed paused running warning\\nticket.source_channel string Optional\\nFilters for tickets with any of the", - "title": "Create \u2014 DevRev | Docs" + "id": "ART-1947_KNOWLEDGE_NODE-36", + "text": "Conversations can be immediately linked to a ticket, a ticket to an issue and subsequently to a part (product capabilities and features).\\n\\n| Link | Control |\\n| --- | --- |\\n| Conversation \\xe2\\x86\\x92 Ticket | Open the conversation and click **Tickets > + Link tickets**. Either create a new ticket or select an existing ticket. |\\n| Ticket \\xe2\\x86\\x92 Issue | Open the ticket and click **Issues > + Link issues**. Either create a new issue or select an existing issue. |\\n| Issue \\xe2\\x86\\x92", + "title": "Apps | Computer by DevRev | DevRev" }, { - "id": "ART-4177_KNOWLEDGE_NODE-5", - "text": "Users, Not tickets\\n--------------------------\\n\\nDelve into the ways by which you can delight customers and build strong brand association early on, using DevRev.\\n\\n[![]()\\n\\nIntroducing Conversations and Inbox\\n\\nDelve into the basics of the DevRev Inbox and understand how to manage different types of customer conversations](https://vimeo.com/1027655861)[![]()\\n\\nExploring tickets and their attributes\\n\\nLearn more about the different stages on tickets, and how progress is communicated", - "title": "DevRev University - DevRev for Startups" + "id": "ART-6174_KNOWLEDGE_NODE-28", + "text": "tickets\\n--------------------------------\\n\\n**Manual conversion**\\n\\nGo to the conversation record pane and select **Convert to Ticket** to create a new ticket from the conversation.\\n\\n![]()\\n\\n**Automated conversion via workflows**\\n\\nSet up automated [workflows](./workflow-engine) to convert conversations to tickets based on specific triggers:\\n\\n* When a conversation meets defined criteria\\n* When the AI agent identifies an issue requiring escalation\\n* According to custom business", + "title": "Conversation to ticket conversion | Conversations | Computer for Support Teams | DevRev" }, { - "id": "ART-1979_KNOWLEDGE_NODE-23", - "text": "2025](/docs/changelog/_2025-06-01)\\n + [May 2025](/docs/changelog/_2025-05-01)\\n + [March and April 2025](/docs/changelog/_2025-04-01)\\n + [February 2025](/docs/changelog/_2025-02-01)\\n* [Developer \\xe2\\x86\\x97\\xef\\xb8\\x8f](https://developer.devrev.ai/)\\n* [DevRevU \\xe2\\x86\\x97\\xef\\xb8\\x8f](/docs/DevRevU)\\n\\n + [Product demos](/docs/DevRevU/demos)\\n\\nOn this page\\n\\n* [Attributes](#attributes)\\n* [Create a ticket](#create-a-ticket)\\n* [Tags](#tags)\\n* [Stages](#stages)\\n*", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-2039_KNOWLEDGE_NODE-25", + "text": "create DevRev tickets from Marker.io issues, you can configure the\\nsnap-in to use this email to auto-fill the **Reported By** and **Customer\\nWorkspace** fields in tickets. If no contact or accounts match the email, they\\nare automatically created.\\n\\nInstalling the Marker.io integration snap-in\\n--------------------------------------------\\n\\n1. Install the [Marker.io](/marketplace/marker-io) from the\\n DevRev Marketplace.\\n2. Configure the snap-in as needed.\\n\\n * (Optional) Select the", + "title": "Marker.io | Integrate | Snap-ins | DevRev" }, { - "id": "ART-1447_KNOWLEDGE_NODE-7", - "text": "Inc.\\n\\n[](https://devrev.ai)\\n\\n * Product\\n * Platform\\n * Solutions\\n * Marketplace\\n * Company\\n * Resources\\n * [Pricing](https://devrev.ai/pricing)\\n\\n __\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[](https://devrev.ai)\\n\\n __\\n\\nProduct __\\n\\nPlatform __\\n\\nSolutions __\\n\\nMarketplace __\\n\\nCompany __\\n\\nResources __\\n\\n[Pricing](https://devrev.ai/pricing)\\n\\n[Login](https://app.devrev.ai/login)[Book a", - "title": "Tickets and issues \u2014 DevRev | Docs" + "id": "ART-2035_KNOWLEDGE_NODE-37", + "text": "synchronized between DevRev and Slack.\\n\\nWork management using Slack\\n---------------------------\\n\\n### DevRev Tickets and Slack\\n\\nThe Slack snap-in allows users to create tickets directly from Slack. There are multiple ways to initiate ticket creation from any channel:\\n\\n* **Use the command:** Run /devrev create-ticket.\\n* **Message action:** Select **Create a new ticket** from the message actions.\\n* **Convert a Conversation:** Transform an ongoing conversation into a ticket. This is", + "title": "Slack | Integrate | Snap-ins | DevRev" }, { - "id": "ART-1447_KNOWLEDGE_NODE-8", - "text": "demo](https://devrev.ai/request-a-demo)\\n\\n'", - "title": "Tickets and issues \u2014 DevRev | Docs" + "id": "ART-1979_KNOWLEDGE_NODE-49", + "text": "tickets. Resolved means that the customer's concerns which led to the ticket have been addressed.\\n\\nSubtypes\\n--------\\n\\nYou can create subtypes for tickets to categorize them based on the type of issue. For example, you can create subtypes for bugs, feature requests, or questions.\\nA subtype inherits all the attributes of its parent ticket type. You can add custom attributes to a subtype.\\nTo know how to create subtypes and add custom attributes to them, see [object", + "title": "Tickets | Computer for Support Teams | DevRev" } ] }, @@ -3364,24 +3364,14 @@ "query": "manage multiple email addresses for one account", "retrievals": [ { - "id": "ART-888_KNOWLEDGE_NODE-48", - "text": "you use an email address provided by an organization (such as your work email address) to access the Services, then the owner of the domain associated with your email address (e.g. your employer) may assert administrative control over your account and use of the Services at a later date. You will be notified if this happens.If you do not want an administrator to be able to assert control over your account or use of the Services, you should deactivate your membership with the relevant", - "title": "Privacy Policy" - }, - { - "id": "ART-888_KNOWLEDGE_NODE-49", - "text": "enterprise, or use your personal email address to register for or access the Services. If an administrator has not already asserted control over your account or access to the Services, you can update the email address associated with your account through your account settings in your profile. Once an administrator asserts control over your account or use of the Services, you will no longer be able to change the email address associated with your account without administrator approval.Please", - "title": "Privacy Policy" - }, - { - "id": "ART-2027_KNOWLEDGE_NODE-45", - "text": "due to mail loops, the email integration has the provision to specify user-specific email limits. By default, the user-specific limit is set to 30 emails per 10 minutes.\\n\\nIf a user sends 30 emails in a 10-minute time frame, this particular user is marked with the tag spammer. Once marked as a spammer, the user can only send 100 emails in a 24-hour period. All of these emails are marked as spam by the system. Any emails beyond the 100 spam email default limit are dropped, and the blocked tag", - "title": "Email | Integrate | Snap-ins | DevRev" + "id": "ART-2575_KNOWLEDGE_NODE-28", + "text": "a database identifier or an email address.)\\n* account\\\\_external\\\\_reference (the external reference of the contact\\'s parent account)\\n\\n### Array fields\\n\\nFor fields that accept multiple values, such as **owners** and **industry**, values should be separated by commas (,). For example, Agriculture and Forestry should be written as Agriculture,Forestry.\\n\\n![]()\\n\\nIf a value contains a comma, enclose it in backticks. For example, enter \"Rail, Bus & Taxi\" as `Rail, Bus & Taxi`.\\n\\n###", + "title": "Account and contact import | Computer for Growth Teams | DevRev" }, { - "id": "ART-2027_KNOWLEDGE_NODE-27", - "text": "track interactions (**Support > Inbox** for conversations and **Support > Tickets** for tickets). All replies are sent from your organization\\xe2\\x80\\x99s own email addresses, maintaining a professional and personalized customer experience that strengthens your brand and fosters better engagement. This method builds trust with mailbox providers and recipients across any email service, reducing spam flags and protecting your brand identity by adhering to DMARC standards.\\n\\nYou can choose for an", - "title": "Email | Integrate | Snap-ins | DevRev" + "id": "ART-3207_KNOWLEDGE_NODE-28", + "text": "In the top-right corner, select **+ Connection**, choose Google, and enter your connection name and domain name.\\n3. Toggle on **Make public** to make the connection public for your organization and click **Next**.\\n4. Click **Sign in with Google** and add your organization\\xe2\\x80\\x99s Gmail account. If you are already logged in using a different Gmail account select **Use another account** and continue.\\n\\n If you are using Google Groups then use the same Gmail account which has permission", + "title": "Email snap-in configuration | Email | Integrate | Snap-ins | DevRev" }, { "id": "ART-2032_KNOWLEDGE_NODE-31", @@ -3389,9 +3379,9 @@ "title": "Google Calendar | Integrate | Snap-ins | DevRev" }, { - "id": "ART-2575_KNOWLEDGE_NODE-17", - "text": "* [Email snap-in configuration](/docs/integrations/email-config)\\n - [Exotel](/docs/integrations/exotel)\\n - [Slack](/docs/integrations/slack)\\n - [WhatsApp](/docs/integrations/whatsapp)\\n - [GitHub](/docs/integrations/github)\\n - [GitLab](/docs/integrations/gitlab)\\n - [Harness](/docs/integrations/harness)\\n - [Marker.io](/docs/integrations/marker-io)\\n - [Instabug](/docs/integrations/instabug)\\n - [Qase](/docs/integrations/qase)\\n - [Tracxn", - "title": "Account and contact import | Computer for Growth Teams | DevRev" + "id": "ART-3207_KNOWLEDGE_NODE-48", + "text": "Changes** to get this confirmation message on the top.\\n\\nOffice 365\\n\\nEmail forwarding requires that the **from** account has a license.\\n\\nYou must be an Exchange administrator or Global administrator in Microsoft 365 to forward emails.\\n\\n1. In the admin center, go to **Users** > **Active users**.\\n2. Select the name of the user whose email you want to forward, then open the **Properties** page.\\n3. On the **Mail** tab, select **Manage email forwarding**.\\n4. On the email forwarding page,", + "title": "Email snap-in configuration | Email | Integrate | Snap-ins | DevRev" }, { "id": "ART-3207_KNOWLEDGE_NODE-38", @@ -3399,19 +3389,29 @@ "title": "Email snap-in configuration | Email | Integrate | Snap-ins | DevRev" }, { - "id": "ART-1953_KNOWLEDGE_NODE-27", - "text": "conversation, ensuring seamless and continuous communication.\\n\\nBy default, notifications are sent from [notifications@devrev.ai](mailto:notifications@devrev.ai). However, this setting can be overridden to use the organization\\xe2\\x80\\x99s primary email address as the sender, or notifications can be turned off entirely.\\n\\nTo configure the notifications setting, under [**Settings** > **Snap-ins** > **Email Integration**](https://app.devrev.ai/devrev/settings/snap-ins/email-with-tickets), go to", - "title": "Customer email notifications | Computer by DevRev | DevRev" + "id": "ART-3905_KNOWLEDGE_NODE-42", + "text": "Connection\\n\\n* The Jira Service Management user who authorizes the connection to Jira Service\\n Management must be a site admin or the organization admin for AirSync to be\\n able to collect the email addresses of users. Otherwise, Jira users are\\n collected but they are created with generated email addresses. The DevRev\\n admin can [merge the user accounts manually](/docs/import).\\n\\n[PreviousPaligo AirSync](/docs/integrations/paligo)[NextBrowserStack", + "title": "Jira Service Management AirSync | AirSync | Snap-ins | DevRev" }, { - "id": "ART-3207_KNOWLEDGE_NODE-26", - "text": "Configure email forwarding for your email provider](#3-configure-email-forwarding-for-your-email-provider)\\n* [4. Verify configuration](#4-verify-configuration)\\n* [5. Events Panel](#5-events-panel)\\n\\n1. [Documentation](/docs)\\n3. [Snap-ins](/docs/snapins)\\n[Integrate](/docs/integrate)\\n[Email](/docs/integrations/email)\\n[Email snap-in configuration](/docs/integrations/email-config)\\n\\nEmail snap-in configuration\\n===========================\\n\\n1. Create a new", + "id": "ART-2045_KNOWLEDGE_NODE-55", + "text": "connection in DevRev for that source.\\n\\n### Data model constraints\\n\\n* Links\\n + Parent/child relationships deeper than 3 levels are not created in DevRev.\\n + Links from external systems are mapped to the closest equivalent in DevRev.\\n + Links with no plausible DevRev equivalent are dropped, such as links between tickets.\\n* Contacts\\n + DevRev does not support contacts in multiple accounts. Contacts imported that belong to multiple accounts are only created under one account in DevRev,", + "title": "AirSync | Snap-ins | DevRev" + }, + { + "id": "ART-2032_KNOWLEDGE_NODE-28", + "text": "Emails**: Events containing any of these email addresses are completely excluded from sync. No meetings are created in DevRev for events where these emails appear as attendees, organizers, or creators. Enter multiple emails separated by commas.\\n * **Add non-existing customers**: Enable this to allow people in meeting that are not customer to be added as a customer.\\n\\nIf a meeting is scheduled with people who are neither part of the company nor customers, this option allows them to be added", + "title": "Google Calendar | Integrate | Snap-ins | DevRev" + }, + { + "id": "ART-3207_KNOWLEDGE_NODE-29", + "text": "to send emails to the group and is a member of the group and continue.\\n5. In your Gmail account, go to **Settings** > **Accounts and Import** > **Send mail as** and add your group address.\\n6. Grant DevRev additional access to your Google account. Refer to our [privacy policy](/privacy-policy) for more information.\\n\\nEmail connection\\n\\n1. In DevRev app, go to **Integrations** > **Snap-ins** and click **Connections**.\\n2. In the top-right corner, select **+ Connection**, choose **Email", "title": "Email snap-in configuration | Email | Integrate | Snap-ins | DevRev" }, { - "id": "ART-2575_KNOWLEDGE_NODE-3", - "text": "management](/docs/product/workflow-management)\\n - [Workflow nodes](/docs/product/workflow-nodes)\\n - [Troubleshooting](/docs/product/troubleshooting-workflows)\\n + [Templates](/docs/product/template)\\n + [Accessing DevRev](/docs/product/ui)\\n + [External identity provider setup](/docs/product/sso-saml)\\n + [Remote MCP server](/docs/product/remote-mcp)\\n* [Computer for Support Teams](/docs/product/support)\\n\\n + [Inbox](/docs/product/inbox)\\n + [Support", - "title": "Account and contact import | Computer for Growth Teams | DevRev" + "id": "ART-2027_KNOWLEDGE_NODE-0", + "text": "b\"Email | Integrate | Snap-ins | DevRev\\n\\n* Computer\\n* Resources\\n* [Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nComputer\\n\\nResources\\n\\n[Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nSearch\\n\\n`CTRL`\\xc2\\xa0+\\xc2\\xa0`K`\\n\\n* [Introduction](/docs)\\n* [Computer by DevRev](/docs/intro)\\n\\n + [Core concepts](/docs/product/core)\\n + [Apps](/docs/product/apps)\\n +", + "title": "Email | Integrate | Snap-ins | DevRev" } ] }, @@ -3425,19 +3425,24 @@ "title": "Install PLuG chat on your website" }, { - "id": "ART-2059_KNOWLEDGE_NODE-10", - "text": "users that come to your site and haven\\'t yet logged in or shared any information.\\n\\nWe understand the importance of making your engagement more personalized and contextual with your customers. Learn how to identify your customers and update their information.\\n\\nPrevious PLuG Next Install PLuG search on your website\\nOn this page\\n\\nIntegration code Unique app ID Setup for HTML Setup for React\\n\\nEnterprise grade security to protect customer data\\nLearn more about it.\\nProduct\\n\\nBuild", - "title": "Install PLuG chat on your website" + "id": "ART-15716_KNOWLEDGE_NODE-10", + "text": "work perfectly in a mobile WebView\\n\\nSetting Up the PluG Widget on a Website\\n\\nGo to your DevRev workspace, open PluG settings, configure the widget, and copy the provided JavaScript snippet. Paste it before the closing tag in your website\\xe2\\x80\\x99s HTML. Deploy your site and the widget should appear.\\n\\n[PLuG installation steps](https://developer.devrev.ai/public/sdks/web/installation)\\n\\nRenaming the \\'DevRev Turing\\' Chatbot - asked in slack channel\\n\\nTroubleshooting PluG AI", + "title": "Support queries related playbook" }, { - "id": "ART-2059_KNOWLEDGE_NODE-6", - "text": "to the Customize documentation.\\n\\nAlternatively, for the most comprehensive customizations, refer to our SDK functions here.\\n\\nIntegration code.\\n\\nTo get the PLuG chat widget to appear on your website and web app, copy and paste the snippet below on every page where you want the widget to appear for website visitors.\\n\\nUnique app ID.\\n\\nMake sure to replace the app ID with your app ID which identifies your PLuG chat widget. You can access your app ID from your DevRev account by following", + "id": "ART-2059_KNOWLEDGE_NODE-9", + "text": "App.js.\\n\\n1 useEffect ( () => {\\n2 window. plugSDK. init ({\\n3 // Please ensure you replace the app_id with your unique app id\\n4 app_id : \"\" ,\\n5 });\\n6 }, []);\\n\\nYou should now have PLuG chat widget installed on your website. Facing some issues? Reach out to us through our own PLuG chat widget from the bottom right of your screen.\\n\\nOnce the widget is installed on your website, every user who visits your website is considered an anonymous user. Anonymous users are the", "title": "Install PLuG chat on your website" }, { - "id": "ART-2059_KNOWLEDGE_NODE-12", - "text": "width=\"0\" style=\"display:none;visibility:hidden\">'", - "title": "Install PLuG chat on your website" + "id": "ART-2893_KNOWLEDGE_NODE-1", + "text": "ID\\n\\nYou can access your app ID from your DevRev account by following these steps:\\n\\n 1. In DevRev, go to **Settings > Support > PLuG Settings** via the settings icon in the top-left corner.\\n\\n 2. If the PLuG feature is not already enabled, click **Enable PLuG**.\\n\\n 3. Under the **Configuration** tab, copy the **Unique App ID**.\\n\\n###### Setup\\n\\n###### Setup for React\\n\\nPlace the following code in the `` section of your HTML page:\\n\\n[code]\\n\\n 1| ;\\n\\nPlace this code inside the react component where you want to render the chat widget. Typically you should do it as top level component like", @@ -3475,34 +3475,29 @@ "query_id": "80fd3cb8-b4ff-4ca4-8d4b-2b0ac1fdab5b", "query": "send notification to slack when a ticket is manually assigned", "retrievals": [ - { - "id": "ART-2017_KNOWLEDGE_NODE-28", - "text": "you would like to tag on the message (the ticket owner gets tagged automatically); and the target Slack channel. The channel\\'s ID can be found by going to the channel details. Refer to the placeholder value on the input to see an example of how this looks.\\n2. Decide if notifications should go out even if the ticket has a target end date set. Set the toggle to the desired behavior.\\n3. Decide if a ticket should pass the check if it\\'s part is a descendant of the filter part. For example, if a", - "title": "SLA status change Slack notifier | Automate | Snap-ins | DevRev" - }, { "id": "ART-2035_KNOWLEDGE_NODE-42", "text": "ticket notifications\\n\\n* Enable through the **Notify on new ticket creation** snap-in configuration.\\n* Provide a Slack channel ID in the **Channel ID to send ticket notifications** configuration.\\n* Snap-in will send notifications to the target channel whenever a new ticket is created, regardless of the source channel or platform.\\n* Notification message threads are **not** synced between platforms.\\n\\n### Notifications for ticket state update\\n\\n* Enable through **Notify on ticket state", "title": "Slack | Integrate | Snap-ins | DevRev" }, { - "id": "ART-2017_KNOWLEDGE_NODE-25", - "text": "ticket\\'s owner and subscribers, when a ticket\\'s resolution time SLA changes into the *Warning* or *Breached* stage.\\n\\n![]()\\n\\nFor more information, refer to the\\n[SLA status change Slack notifier snap-in](/marketplace/sla-status-change-slack-notifier) on the DevRev\\nmarketplace.\\n\\nInstallation\\n------------\\n\\n1. Create a Slack app for your workspace in .\\n2. In App features, generate bot token in **OAuth & Permissions**.\\n3. Grant the app bot the following", - "title": "SLA status change Slack notifier | Automate | Snap-ins | DevRev" + "id": "ART-2035_KNOWLEDGE_NODE-38", + "text": "recommended if you already have a conversation in progress. Configure the snap-in to send or not send a ticket summary card to the Slack thread using the **Notify on conversation to ticket conversion** setting. Regardless, the Slack thread will sync with the new ticket instead of the ongoing conversation.\\n\\n![]()\\n\\nSlack does not support slash commands in threads.\\n\\nChoosing one of the first two options will open a pop-up modal with the new ticket form. Complete the required fields; some", + "title": "Slack | Integrate | Snap-ins | DevRev" }, { - "id": "ART-2035_KNOWLEDGE_NODE-36", - "text": "Slack Channel ID in the **Channel ID to send conversation notifications** snap-in configuration as the target to post notifications.\\n\\n* Any new message within tickets in the customer messages panel is also subjected to the same automation.\\n* To prevent notification overload, each conversation or ticket is subject to a five minute cooldown period between notifications. Multiple consecutive messages within this window will not trigger additional notifications.\\n* Notification threads are not", + "id": "ART-2035_KNOWLEDGE_NODE-43", + "text": "update** snap-in configuration.\\n* Applies only to tickets syncing with Slack threads.\\n* If enabled, the Slack snap-in will send notifications to the syncing thread whenever the ticket state changes.\\n\\n### Ticket digest\\n\\nTo see all open and in-progress tickets in Slack, use the /devrev ticket-digest command. This opens a modal with a paginated list of all open and in-progress tickets.\\n\\nDevRev Issues and Slack\\n-----------------------\\n\\nThe Slack snap-in allows issues to be created", "title": "Slack | Integrate | Snap-ins | DevRev" }, { - "id": "ART-2912_KNOWLEDGE_NODE-13", - "text": "group](/docs/automations/set-user-preference)\\n - [SLA status change Slack notifier](/docs/automations/sla-change-notifier)\\n - [Slash commands](/docs/automations/slash-commands)\\n - [Spam Shield](/docs/automations/spam-shield)\\n - [Subtype Migration](/docs/automations/subtype-migration)\\n - [Ticket age in engineering](/docs/automations/ticket-age-in-engineering)\\n - [Ticket issue field migrator](/docs/automations/ticket-issue-field-migrator)\\n - [Ticket", - "title": "Ticket email notifier | Automate | Snap-ins | DevRev" + "id": "ART-2035_KNOWLEDGE_NODE-36", + "text": "Slack Channel ID in the **Channel ID to send conversation notifications** snap-in configuration as the target to post notifications.\\n\\n* Any new message within tickets in the customer messages panel is also subjected to the same automation.\\n* To prevent notification overload, each conversation or ticket is subject to a five minute cooldown period between notifications. Multiple consecutive messages within this window will not trigger additional notifications.\\n* Notification threads are not", + "title": "Slack | Integrate | Snap-ins | DevRev" }, { - "id": "ART-2017_KNOWLEDGE_NODE-29", - "text": "ticket with part set as \"Feature 1\" should trigger a notification when the filter is set to \"Capability 1\" and this is a parent part of that feature. Set the toggle to the desired behavior.\\n4. Check the default message body and change it if you would like a different phrasing.\\n\\n[PreviousSet user preference for group](/docs/automations/set-user-preference)[NextSlash commands](/docs/automations/slash-commands)\\n\\n#### On this page\\n\\n* [Installation](#installation)\\n* [Configure the", + "id": "ART-2017_KNOWLEDGE_NODE-24", + "text": "[Product demos](/docs/DevRevU/demos)\\n\\nOn this page\\n\\n* [Installation](#installation)\\n* [Configure the snap-in](#configure-the-snapin)\\n\\n1. [Documentation](/docs)\\n3. [Snap-ins](/docs/snapins)\\n[Automate](/docs/automate)\\n[SLA status change Slack notifier](/docs/automations/sla-change-notifier)\\n\\nSLA status change Slack notifier\\n================================\\n\\nGet alerted on your ticket\\'s SLAs. This snap-in sends a notification through Slack to user configured channels, tagging the", "title": "SLA status change Slack notifier | Automate | Snap-ins | DevRev" }, { @@ -3511,18 +3506,23 @@ "title": "SLA status change Slack notifier | Automate | Snap-ins | DevRev" }, { - "id": "ART-2035_KNOWLEDGE_NODE-38", - "text": "recommended if you already have a conversation in progress. Configure the snap-in to send or not send a ticket summary card to the Slack thread using the **Notify on conversation to ticket conversion** setting. Regardless, the Slack thread will sync with the new ticket instead of the ongoing conversation.\\n\\n![]()\\n\\nSlack does not support slash commands in threads.\\n\\nChoosing one of the first two options will open a pop-up modal with the new ticket form. Complete the required fields; some", - "title": "Slack | Integrate | Snap-ins | DevRev" + "id": "ART-2912_KNOWLEDGE_NODE-15", + "text": "[Custom field migration](/docs/automations/custom-field-migration)\\n - [Slack scraper](/docs/automations/slack-scraper)\\n - [Slack Broadcaster](/docs/automations/slack-broadcaster)\\n - [Reported by enricher](/docs/automations/ticket-reported-by)\\n - [Ticket approval workflow](/docs/automations/ticket-approval-workflow)\\n - [Ticket linked issues comment sync](/docs/automations/ticket-linked-issues-comment-sync)\\n - [Slack message agent](/docs/automations/slack-message-agent)\\n", + "title": "Ticket email notifier | Automate | Snap-ins | DevRev" }, { - "id": "ART-2017_KNOWLEDGE_NODE-24", - "text": "[Product demos](/docs/DevRevU/demos)\\n\\nOn this page\\n\\n* [Installation](#installation)\\n* [Configure the snap-in](#configure-the-snapin)\\n\\n1. [Documentation](/docs)\\n3. [Snap-ins](/docs/snapins)\\n[Automate](/docs/automate)\\n[SLA status change Slack notifier](/docs/automations/sla-change-notifier)\\n\\nSLA status change Slack notifier\\n================================\\n\\nGet alerted on your ticket\\'s SLAs. This snap-in sends a notification through Slack to user configured channels, tagging the", - "title": "SLA status change Slack notifier | Automate | Snap-ins | DevRev" + "id": "ART-4181_KNOWLEDGE_NODE-25", + "text": "SLA\\n=================================================================================================\\n\\nClickable push notifications\\n\\nGet direct access to the relevant ticket or conversation, enabling agents to start working on critical issues without missing a beat\\n\\nWe put the SLA in Slack\\n\\nGet real-time Slack alerts for SLA breaches. Customize notifications by ticket details for faster resolution\\n\\nSLA notification on the go\\n\\nGet customizable, real-time email alerts on SLA status.", + "title": "Support like a lightning fast pit-crew" }, { - "id": "ART-2017_KNOWLEDGE_NODE-13", - "text": "creator](/docs/automations/smart-issue-creator)\\n - [Set user preference for group](/docs/automations/set-user-preference)\\n - [SLA status change Slack notifier](/docs/automations/sla-change-notifier)\\n - [Slash commands](/docs/automations/slash-commands)\\n - [Spam Shield](/docs/automations/spam-shield)\\n - [Subtype Migration](/docs/automations/subtype-migration)\\n - [Ticket age in engineering](/docs/automations/ticket-age-in-engineering)\\n - [Ticket issue field", + "id": "ART-4181_KNOWLEDGE_NODE-27", + "text": "Act swiftly with detailed, actionable information\\n\\nClickable push notifications\\n\\nGet direct access to the relevant ticket or conversation, enabling agents to start working on critical issues without missing a beat\\n\\nWe put the SLA in Slack\\n\\nGet real-time Slack alerts for SLA breaches. Customize notifications by ticket details for faster resolution\\n\\nSLA notification on the go\\n\\nGet customizable, real-time email alerts on SLA status. Act swiftly with detailed, actionable", + "title": "Support like a lightning fast pit-crew" + }, + { + "id": "ART-2017_KNOWLEDGE_NODE-29", + "text": "ticket with part set as \"Feature 1\" should trigger a notification when the filter is set to \"Capability 1\" and this is a parent part of that feature. Set the toggle to the desired behavior.\\n4. Check the default message body and change it if you would like a different phrasing.\\n\\n[PreviousSet user preference for group](/docs/automations/set-user-preference)[NextSlash commands](/docs/automations/slash-commands)\\n\\n#### On this page\\n\\n* [Installation](#installation)\\n* [Configure the", "title": "SLA status change Slack notifier | Automate | Snap-ins | DevRev" } ] @@ -3531,55 +3531,55 @@ "query_id": "3b420be6-ebc2-458e-a551-3a6038309339", "query": "export all accounts without 500 limit", "retrievals": [ - { - "id": "ART-1255_KNOWLEDGE_NODE-8", - "text": "Many Requests Error\\n\\n500\\n\\nInternal Server Error\\n\\n503\\n\\nService Unavailable Error\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/api-reference/accounts/export)[#### Get Account\\n\\nNext](/api-reference/accounts/get)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", - "title": "Export Accounts (POST) | DevRev | Docs" - }, { "id": "ART-1462_KNOWLEDGE_NODE-3", "text": "Error\\n\\n500\\n\\nInternal Server Error\\n\\n503\\n\\nService Unavailable Error\\n\\nPOST\\n\\n/accounts.export\\n\\n[code]\\n\\n $| curl -X POST https://api.devrev.ai/accounts.export \\\\ \\n ---|--- \\n >| -H \"Authorization: Bearer \" \\\\ \\n >| -H \"Content-Type: application/json\" \\\\ \\n >| -d \\'{}\\'\\n[/code] \\n \\nTry it\\n\\n200accountsExportPostExample\\n\\n[code]\\n\\n 1| { \\n ---|--- \\n 2| \"accounts\": [ \\n 3| { \\n 4| \"id\": \"foo\", \\n 5|", "title": "Export Accounts (POST) \u2014 DevRev | Docs" }, { - "id": "ART-1254_KNOWLEDGE_NODE-9", - "text": "Export Accounts (POST)\\n\\nNext](/api-reference/accounts/export-post)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", - "title": "Export Accounts | DevRev | Docs" + "id": "ART-1462_KNOWLEDGE_NODE-1", + "text": "properties\\n\\ndisplay_namelist of stringsOptional\\n\\nArray of display names of accounts to be filtered.\\n\\nexternal_refslist of stringsOptional\\n\\nArray of references of accounts to be filtered.\\n\\nfirstintegerOptional`>=1``<=500`\\n\\nThe number of accounts to return. The default is \\xe2\\x80\\x9850\\xe2\\x80\\x99.\\n\\nmodified_dateobjectOptional\\n\\nShow 2 properties\\n\\nsort_bylist of stringsOptional\\n\\nFields to sort the accounts by and the direction to sort them in.\\n\\nstagelist of", + "title": "Export Accounts (POST) \u2014 DevRev | Docs" }, { - "id": "ART-1254_KNOWLEDGE_NODE-1", - "text": "it](/api-reference/accounts/export?explorer=true)\\n\\n200Retrieved\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | { |\\n| 2 | \"accounts\": [ |\\n| 3 | { |\\n| 4 | \"id\": \"string\", |\\n| 5 | \"owned_by\": [ |\\n| 6 | { |\\n| 7 | \"display_id\": \"string\", |\\n| 8 | \"id\": \"string\", |\\n| 9 | \"display_name\": \"string\", |\\n| 10 | \"display_picture\": { |\\n| 11 | \"display_id\": \"string\", |\\n| 12 | \"id\": \"string\", |\\n| 13 | \"file\": { |\\n| 14 | \"type\": \"string\", |\\n| 15 | \"name\": \"string\", |\\n| 16 | \"size\": 1 |\\n| 17 | } |\\n| 18", - "title": "Export Accounts | DevRev | Docs" + "id": "ART-1255_KNOWLEDGE_NODE-6", + "text": "user(s).\\n\\ncreated\\\\_dateobjectOptional\\n\\nShow 2 properties\\n\\ndisplay\\\\_namelist of stringsOptional\\n\\nArray of display names of accounts to be filtered.\\n\\nexternal\\\\_refslist of stringsOptional\\n\\nArray of references of accounts to be filtered.\\n\\nfirstintegerOptional`>=1``<=500`\\n\\nThe number of accounts to return. The default is \\'50\\'.\\n\\nmodified\\\\_dateobjectOptional\\n\\nShow 2 properties\\n\\nsort\\\\_bylist of stringsOptional\\n\\nFields to sort the accounts by and the direction to sort", + "title": "Export Accounts (POST) | DevRev | Docs" }, { - "id": "ART-1255_KNOWLEDGE_NODE-1", - "text": "|\\n| > | -H \"Content-Type: application/json\" \\\\ |\\n| > | -d \\'{}\\' |\\n```\\n\\n[Try it](/api-reference/accounts/export-post?explorer=true)\\n\\n200Successful\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | { |\\n| 2 | \"accounts\": [ |\\n| 3 | { |\\n| 4 | \"id\": \"string\", |\\n| 5 | \"owned_by\": [ |\\n| 6 | { |\\n| 7 | \"display_id\": \"string\", |\\n| 8 | \"id\": \"string\", |\\n| 9 | \"display_name\": \"string\", |\\n| 10 | \"display_picture\": { |\\n| 11 | \"display_id\": \"string\", |\\n| 12 | \"id\": \"string\", |\\n| 13 | \"file\": { |\\n| 14", - "title": "Export Accounts (POST) | DevRev | Docs" + "id": "ART-1449_KNOWLEDGE_NODE-5", + "text": "Unavailable Error\\n\\nGET\\n\\n/accounts.export\\n\\n[code]\\n\\n $| curl https://api.devrev.ai/accounts.export \\\\ \\n ---|--- \\n >| -H \"Authorization: Bearer \"\\n[/code] \\n \\nTry it\\n\\n200exportExample\\n\\n[code]\\n\\n 1| { \\n ---|--- \\n 2| \"accounts\": [ \\n 3| { \\n 4| \"id\": \"foo\", \\n 5| \"owned_by\": [ \\n 6| { \\n 7| \"display_id\": \"foo\", \\n 8| \"id\": \"foo\", \\n 9| \"display_name\": \"foo\", \\n", + "title": "Export Accounts \u2014 DevRev | Docs" }, { - "id": "ART-1254_KNOWLEDGE_NODE-0", - "text": "b'Export Accounts | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nPublic\\n\\nPublic\\n\\nSearch\\n\\n`/`\\n\\n[API Reference](/api-reference/getting-started)[accounts](/api-reference/accounts/accounts)\\n\\nExport Accounts\\n===============\\n\\nCopy page\\n\\nGET\\n\\nhttps://api.devrev.ai/accounts.export\\n\\nGET\\n\\n/accounts.export\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl https://api.devrev.ai/accounts.export \\\\ |\\n| > | -H \"Authorization: Bearer \" |\\n```\\n\\n[Try", + "id": "ART-1254_KNOWLEDGE_NODE-6", + "text": "provided timestamp (inclusive).\\n\\ncreated\\\\_date.beforestringOptional`format: \"date-time\"`\\n\\nFilters for objects created before the provided timestamp\\n(inclusive).\\n\\ndisplay\\\\_namelist of stringsOptional\\n\\nArray of display names of accounts to be filtered.\\n\\nexternal\\\\_refslist of stringsOptional\\n\\nArray of references of accounts to be filtered.\\n\\nfirstintegerOptional`>=1``<=500`\\n\\nThe number of accounts to return. The default is \\'50\\'.\\n\\nmodified\\\\_date.afterstringOptional`format:", "title": "Export Accounts | DevRev | Docs" }, { - "id": "ART-1255_KNOWLEDGE_NODE-0", - "text": "b'Export Accounts (POST) | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nPublic\\n\\nPublic\\n\\nSearch\\n\\n`/`\\n\\n[API Reference](/api-reference/getting-started)[accounts](/api-reference/accounts/accounts)\\n\\nExport Accounts (POST)\\n======================\\n\\nCopy page\\n\\nPOST\\n\\nhttps://api.devrev.ai/accounts.export\\n\\nPOST\\n\\n/accounts.export\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl -X POST https://api.devrev.ai/accounts.export \\\\ |\\n| > | -H \"Authorization: Bearer \" \\\\", - "title": "Export Accounts (POST) | DevRev | Docs" + "id": "ART-1303_KNOWLEDGE_NODE-11", + "text": "list of objects\\nThe exported accounts.\\nShow 18 properties\\nPOST / accounts.export\\ncURL\\n$ curl -X POST https://api.devrev.ai/accounts.export \\\\ > -H \" Authorization: Bearer \" \\\\ > -H \" Content-Type: application/json \" \\\\ > -d \\' {} \\'\\n200 Successful 1 { 2 \" accounts \" : [ 3 { 4 \" created_date \" : \" 2023-01-01T12:00:00Z \" , 5 \" display_id \" : \" display_id \" , 6 \" id \" : \" id \" , 7 \" modified_date \" : \" 2023-01-01T12:00:00Z \" , 8 \" display_name \" : \" display_name \" , 9 \" artifacts \" :", + "title": "Export Post \u2014 DevRev | Docs" }, { - "id": "ART-1449_KNOWLEDGE_NODE-5", - "text": "Unavailable Error\\n\\nGET\\n\\n/accounts.export\\n\\n[code]\\n\\n $| curl https://api.devrev.ai/accounts.export \\\\ \\n ---|--- \\n >| -H \"Authorization: Bearer \"\\n[/code] \\n \\nTry it\\n\\n200exportExample\\n\\n[code]\\n\\n 1| { \\n ---|--- \\n 2| \"accounts\": [ \\n 3| { \\n 4| \"id\": \"foo\", \\n 5| \"owned_by\": [ \\n 6| { \\n 7| \"display_id\": \"foo\", \\n 8| \"id\": \"foo\", \\n 9| \"display_name\": \"foo\", \\n", - "title": "Export Accounts \u2014 DevRev | Docs" + "id": "ART-1303_KNOWLEDGE_NODE-6", + "text": "exported accounts.\\nShow 18 properties\\nGET / accounts.export\\n$ curl -G https://api.devrev.ai/accounts.export \\\\ > -H \" Authorization: Bearer \" \\\\ > --data-urlencode created_date.after=2023-01-01T12:00:00Z \\\\ > --data-urlencode created_date.before=2023-01-01T12:00:00Z \\\\ > --data-urlencode modified_date.after=2023-01-01T12:00:00Z \\\\ > --data-urlencode modified_date.before=2023-01-01T12:00:00Z\\n200 Retrieved 1 { 2 \" accounts \" : [ 3 { 4 \" created_date \" : \" 2023-01-01T12:00:00Z \" , 5 \"", + "title": "Export Post \u2014 DevRev | Docs" }, { - "id": "ART-1254_KNOWLEDGE_NODE-8", - "text": "stringsOptional\\n\\nArray of websites of accounts to be filtered.\\n\\n### Response\\n\\nThe response to exporting a collection of accounts.\\n\\naccountslist of objects\\n\\nThe exported accounts.\\n\\nShow 14 properties\\n\\n### Errors\\n\\n400\\n\\nBad Request Error\\n\\n401\\n\\nUnauthorized Error\\n\\n403\\n\\nForbidden Error\\n\\n429\\n\\nToo Many Requests Error\\n\\n500\\n\\nInternal Server Error\\n\\n503\\n\\nService Unavailable Error\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/api-reference/accounts/delete)[####", + "id": "ART-1254_KNOWLEDGE_NODE-0", + "text": "b'Export Accounts | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nPublic\\n\\nPublic\\n\\nSearch\\n\\n`/`\\n\\n[API Reference](/api-reference/getting-started)[accounts](/api-reference/accounts/accounts)\\n\\nExport Accounts\\n===============\\n\\nCopy page\\n\\nGET\\n\\nhttps://api.devrev.ai/accounts.export\\n\\nGET\\n\\n/accounts.export\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl https://api.devrev.ai/accounts.export \\\\ |\\n| > | -H \"Authorization: Bearer \" |\\n```\\n\\n[Try", "title": "Export Accounts | DevRev | Docs" }, { - "id": "ART-1449_KNOWLEDGE_NODE-1", - "text": "__\\n\\n[Pricing](https://devrev.ai/pricing)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[API Reference](/public/api-reference/getting-started)[Accounts](/public/api-reference/accounts/accounts)\\n\\n# Export Accounts\\n\\nGET\\n\\nhttps://api.devrev.ai/accounts.export\\n\\nTry it\\n\\nExports a collection of accounts.\\n\\n### Query parameters\\n\\ncreated_bylist of stringsOptional\\n\\nFilters for accounts created by the specified", + "id": "ART-1449_KNOWLEDGE_NODE-2", + "text": "user(s).\\n\\ncreated_date.afterstringOptional`format: \"date-time\"`\\n\\nFilters for objects created after the provided timestamp (inclusive).\\n\\ncreated_date.beforestringOptional`format: \"date-time\"`\\n\\nFilters for objects created before the provided timestamp (inclusive).\\n\\ndisplay_namelist of stringsOptional\\n\\nArray of display names of accounts to be filtered.\\n\\nexternal_refslist of stringsOptional\\n\\nArray of references of accounts to be filtered.\\n\\nfirstintegerOptional`>=1``<=500`\\n\\nThe", "title": "Export Accounts \u2014 DevRev | Docs" + }, + { + "id": "ART-1302_KNOWLEDGE_NODE-13", + "text": "28 \" stock_schema_fragment \" : \" don:core::devo/:custom_type_fragment/ \" , 29 \" subtype \" : \" subtype \" , 30 \" tags \" : [ 31 { 32 \" tag \" : { 33 \" id \" : \" id \" , 34 \" name \" : \" name \" 35 } 36 } 37 ] , 38 \" tier \" : \" tier \" 39 } 40 ] 41 }\\nAPI Reference accounts Export Post.\\n\\nPOST https:// api.devrev.ai / accounts.export\\nExports a collection of accounts.\\nRequest.\\n\\nThis endpoint expects an object.\\ncreated_by list of strings", + "title": "Export \u2014 DevRev | Docs" } ] }, @@ -3588,54 +3588,54 @@ "query": "export report CSV download location", "retrievals": [ { - "id": "ART-1254_KNOWLEDGE_NODE-1", - "text": "it](/api-reference/accounts/export?explorer=true)\\n\\n200Retrieved\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | { |\\n| 2 | \"accounts\": [ |\\n| 3 | { |\\n| 4 | \"id\": \"string\", |\\n| 5 | \"owned_by\": [ |\\n| 6 | { |\\n| 7 | \"display_id\": \"string\", |\\n| 8 | \"id\": \"string\", |\\n| 9 | \"display_name\": \"string\", |\\n| 10 | \"display_picture\": { |\\n| 11 | \"display_id\": \"string\", |\\n| 12 | \"id\": \"string\", |\\n| 13 | \"file\": { |\\n| 14 | \"type\": \"string\", |\\n| 15 | \"name\": \"string\", |\\n| 16 | \"size\": 1 |\\n| 17 | } |\\n| 18", - "title": "Export Accounts | DevRev | Docs" + "id": "ART-2575_KNOWLEDGE_NODE-25", + "text": "contact import\\n==========================\\n\\nYou can upload and manage accounts and contacts by importing data from CSV files.\\n\\n![]()\\n\\nImport data\\n-----------\\n\\n1. Go to the top-right corner of the **Accounts and Contacts** vista and click the \\xe2\\x9a\\xa1 button.\\n2. Click **Download sample CSV**. The sample CSV file includes all the necessary headers and sample values supported by DevRev.\\n3. Open the downloaded sample CSV file. Fill in the required headers and values as specified in", + "title": "Account and contact import | Computer for Growth Teams | DevRev" }, { - "id": "ART-1449_KNOWLEDGE_NODE-0", - "text": "b'[](/public/api-reference/accounts/export)\\n\\nPublic\\n\\n[](https://devrev.ai)\\n\\n * Product\\n * Platform\\n * Solutions\\n * Marketplace\\n * Company\\n * Resources\\n * [Pricing](https://devrev.ai/pricing)\\n\\n __\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[](https://devrev.ai)\\n\\n __\\n\\nProduct __\\n\\nPlatform __\\n\\nSolutions __\\n\\nMarketplace __\\n\\nCompany __\\n\\nResources", - "title": "Export Accounts \u2014 DevRev | Docs" + "id": "ART-1302_KNOWLEDGE_NODE-54", + "text": "Locate.\\n\\nGET https:// api.devrev.ai / artifacts.locate\\nGets the download URL for the artifact.\\nQuery parameters.\\n\\nid string Required\\nThe ID of the artifact to get the URL for.\\nversion string Optional\\nThe version of the artifact that needs to be fetched.\\nResponse.\\n\\nThis endpoint returns an object.\\nurl string\\nThe artifact\\'s download URL.\\nexpires_at datetime Optional\\nThe expiration timestamp of the URL.\\nAPI Reference artifacts Locate Post.\\n\\nPOST https:// api.devrev.ai /", + "title": "Export \u2014 DevRev | Docs" }, { - "id": "ART-1244_KNOWLEDGE_NODE-1", - "text": "it](/api-reference/works/export?explorer=true)\\n\\n200Retrieved\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | { |\\n| 2 | \"works\": [ |\\n| 3 | { |\\n| 4 | \"created_by\": { |\\n| 5 | \"display_id\": \"string\", |\\n| 6 | \"id\": \"string\", |\\n| 7 | \"display_name\": \"string\", |\\n| 8 | \"display_picture\": { |\\n| 9 | \"display_id\": \"string\", |\\n| 10 | \"id\": \"string\", |\\n| 11 | \"file\": { |\\n| 12 | \"type\": \"string\", |\\n| 13 | \"name\": \"string\", |\\n| 14 | \"size\": 1 |\\n| 15 | } |\\n| 16 | }, |\\n| 17 | \"email\": \"string\", |\\n| 18", - "title": "Export Works | DevRev | Docs" + "id": "ART-1982_KNOWLEDGE_NODE-11", + "text": "uploader](/docs/automations/csv-work-item-uploader)\\n - [CSV comments uploader](/docs/automations/csv-comments-uploader)\\n - [CSV commands uploader](/docs/automations/csv-commands-uploader)\\n - [Descope identity validation](/docs/automations/descope-identity-validation)\\n - [Effort logger](/docs/automations/effort-logger)\\n - [HTTP archive file upload & sanitization](/docs/automations/har-sanitization)\\n - [Link preview](/docs/automations/link-preview)\\n - [Org tags", + "title": "Collections | Knowledge Base | Computer for Support Teams | DevRev" }, { - "id": "ART-1254_KNOWLEDGE_NODE-0", - "text": "b'Export Accounts | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nPublic\\n\\nPublic\\n\\nSearch\\n\\n`/`\\n\\n[API Reference](/api-reference/getting-started)[accounts](/api-reference/accounts/accounts)\\n\\nExport Accounts\\n===============\\n\\nCopy page\\n\\nGET\\n\\nhttps://api.devrev.ai/accounts.export\\n\\nGET\\n\\n/accounts.export\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl https://api.devrev.ai/accounts.export \\\\ |\\n| > | -H \"Authorization: Bearer \" |\\n```\\n\\n[Try", - "title": "Export Accounts | DevRev | Docs" + "id": "ART-1652_KNOWLEDGE_NODE-47", + "text": "returns an object.\\nurl string\\nThe artifact\\'s download URL.\\nexpires_at datetime Optional\\nThe expiration timestamp of the URL.\\nAPI Reference artifacts Locate Post.\\n\\nPOST https:// api.devrev.ai / artifacts.locate\\nGets the download URL for the artifact.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the artifact to get the URL for.\\nversion string Optional\\nThe version of the artifact that needs to be fetched.\\nResponse.\\n\\nThis endpoint returns an", + "title": "Export \u2014 DevRev | Docs" }, { - "id": "ART-1449_KNOWLEDGE_NODE-10", - "text": "\"modified_date\": \"2023-01-01T12:00:00.000Z\", \\n 69| \"primary_account\": { \\n 70| \"id\": \"foo\", \\n 71| \"display_id\": \"foo\", \\n 72| \"display_name\": \"foo\" \\n 73| }, \\n 74| \"tier\": \"foo\", \\n 75| \"websites\": [ \\n 76| \"foo\" \\n 77| ] \\n 78| } \\n 79| ] \\n 80| }\\n[/code] \\n \\n[Export Accounts (POST)Up Next](/public/api-reference/accounts/export-post)\\n\\n[Built", - "title": "Export Accounts \u2014 DevRev | Docs" + "id": "ART-6175_KNOWLEDGE_NODE-11", + "text": "[CSV comments uploader](/docs/automations/csv-comments-uploader)\\n - [CSV commands uploader](/docs/automations/csv-commands-uploader)\\n - [Descope identity validation](/docs/automations/descope-identity-validation)\\n - [Effort logger](/docs/automations/effort-logger)\\n - [HTTP archive file upload & sanitization](/docs/automations/har-sanitization)\\n - [Link preview](/docs/automations/link-preview)\\n - [Org tags sync](/docs/automations/org-tags-sync)\\n - [Search", + "title": "Airtable | Automate | Snap-ins | DevRev" }, { - "id": "ART-1254_KNOWLEDGE_NODE-9", - "text": "Export Accounts (POST)\\n\\nNext](/api-reference/accounts/export-post)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", - "title": "Export Accounts | DevRev | Docs" + "id": "ART-2819_KNOWLEDGE_NODE-11", + "text": "[CSV comments uploader](/docs/automations/csv-comments-uploader)\\n - [CSV commands uploader](/docs/automations/csv-commands-uploader)\\n - [Descope identity validation](/docs/automations/descope-identity-validation)\\n - [Effort logger](/docs/automations/effort-logger)\\n - [HTTP archive file upload & sanitization](/docs/automations/har-sanitization)\\n - [Link preview](/docs/automations/link-preview)\\n - [Org tags sync](/docs/automations/org-tags-sync)\\n - [Search", + "title": "Exotel | Integrate | Snap-ins | DevRev" }, { - "id": "ART-1302_KNOWLEDGE_NODE-11", - "text": "accounts.export\\n$ curl -G https://api.devrev.ai/accounts.export \\\\ > -H \" Authorization: Bearer \" \\\\ > --data-urlencode created_date.after=2023-01-01T12:00:00Z \\\\ > --data-urlencode created_date.before=2023-01-01T12:00:00Z \\\\ > --data-urlencode modified_date.after=2023-01-01T12:00:00Z \\\\ > --data-urlencode modified_date.before=2023-01-01T12:00:00Z\\n200 Retrieved 1 { 2 \" accounts \" : [ 3 { 4 \" created_date \" : \" 2023-01-01T12:00:00Z \" , 5 \" display_id \" : \" display_id \" , 6 \" id \" : \"", - "title": "Export \u2014 DevRev | Docs" + "id": "ART-2050_KNOWLEDGE_NODE-11", + "text": "[CSV comments uploader](/docs/automations/csv-comments-uploader)\\n - [CSV commands uploader](/docs/automations/csv-commands-uploader)\\n - [Descope identity validation](/docs/automations/descope-identity-validation)\\n - [Effort logger](/docs/automations/effort-logger)\\n - [HTTP archive file upload & sanitization](/docs/automations/har-sanitization)\\n - [Link preview](/docs/automations/link-preview)\\n - [Org tags sync](/docs/automations/org-tags-sync)\\n - [Search", + "title": "Computer for Your Customers | DevRev" }, { - "id": "ART-1449_KNOWLEDGE_NODE-5", - "text": "Unavailable Error\\n\\nGET\\n\\n/accounts.export\\n\\n[code]\\n\\n $| curl https://api.devrev.ai/accounts.export \\\\ \\n ---|--- \\n >| -H \"Authorization: Bearer \"\\n[/code] \\n \\nTry it\\n\\n200exportExample\\n\\n[code]\\n\\n 1| { \\n ---|--- \\n 2| \"accounts\": [ \\n 3| { \\n 4| \"id\": \"foo\", \\n 5| \"owned_by\": [ \\n 6| { \\n 7| \"display_id\": \"foo\", \\n 8| \"id\": \"foo\", \\n 9| \"display_name\": \"foo\", \\n", - "title": "Export Accounts \u2014 DevRev | Docs" + "id": "ART-1955_KNOWLEDGE_NODE-11", + "text": "uploader](/docs/automations/csv-work-item-uploader)\\n - [CSV comments uploader](/docs/automations/csv-comments-uploader)\\n - [CSV commands uploader](/docs/automations/csv-commands-uploader)\\n - [Descope identity validation](/docs/automations/descope-identity-validation)\\n - [Effort logger](/docs/automations/effort-logger)\\n - [HTTP archive file upload & sanitization](/docs/automations/har-sanitization)\\n - [Link preview](/docs/automations/link-preview)\\n - [Org tags", + "title": "Default privileges by group | Roles | Computer by DevRev | DevRev" }, { - "id": "ART-1255_KNOWLEDGE_NODE-0", - "text": "b'Export Accounts (POST) | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nPublic\\n\\nPublic\\n\\nSearch\\n\\n`/`\\n\\n[API Reference](/api-reference/getting-started)[accounts](/api-reference/accounts/accounts)\\n\\nExport Accounts (POST)\\n======================\\n\\nCopy page\\n\\nPOST\\n\\nhttps://api.devrev.ai/accounts.export\\n\\nPOST\\n\\n/accounts.export\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl -X POST https://api.devrev.ai/accounts.export \\\\ |\\n| > | -H \"Authorization: Bearer \" \\\\", - "title": "Export Accounts (POST) | DevRev | Docs" + "id": "ART-2662_KNOWLEDGE_NODE-11", + "text": "[CSV comments uploader](/docs/automations/csv-comments-uploader)\\n - [CSV commands uploader](/docs/automations/csv-commands-uploader)\\n - [Descope identity validation](/docs/automations/descope-identity-validation)\\n - [Effort logger](/docs/automations/effort-logger)\\n - [HTTP archive file upload & sanitization](/docs/automations/har-sanitization)\\n - [Link preview](/docs/automations/link-preview)\\n - [Org tags sync](/docs/automations/org-tags-sync)\\n - [Search", + "title": "DevRev Documentation" }, { - "id": "ART-1255_KNOWLEDGE_NODE-1", - "text": "|\\n| > | -H \"Content-Type: application/json\" \\\\ |\\n| > | -d \\'{}\\' |\\n```\\n\\n[Try it](/api-reference/accounts/export-post?explorer=true)\\n\\n200Successful\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | { |\\n| 2 | \"accounts\": [ |\\n| 3 | { |\\n| 4 | \"id\": \"string\", |\\n| 5 | \"owned_by\": [ |\\n| 6 | { |\\n| 7 | \"display_id\": \"string\", |\\n| 8 | \"id\": \"string\", |\\n| 9 | \"display_name\": \"string\", |\\n| 10 | \"display_picture\": { |\\n| 11 | \"display_id\": \"string\", |\\n| 12 | \"id\": \"string\", |\\n| 13 | \"file\": { |\\n| 14", - "title": "Export Accounts (POST) | DevRev | Docs" + "id": "ART-4186_KNOWLEDGE_NODE-11", + "text": "uploader](/docs/automations/csv-work-item-uploader)\\n - [CSV comments uploader](/docs/automations/csv-comments-uploader)\\n - [CSV commands uploader](/docs/automations/csv-commands-uploader)\\n - [Descope identity validation](/docs/automations/descope-identity-validation)\\n - [Effort logger](/docs/automations/effort-logger)\\n - [HTTP archive file upload & sanitization](/docs/automations/har-sanitization)\\n - [Link preview](/docs/automations/link-preview)\\n - [Org tags", + "title": "Computer for User Insights | Session analytics | Computer for Your Customers | DevRev" } ] }, @@ -3644,54 +3644,54 @@ "query": "ticket calls show playback access issue", "retrievals": [ { - "id": "ART-1447_KNOWLEDGE_NODE-8", - "text": "demo](https://devrev.ai/request-a-demo)\\n\\n'", - "title": "Tickets and issues \u2014 DevRev | Docs" + "id": "ART-1959_KNOWLEDGE_NODE-34", + "text": "subtype: :\\n```\\n```\\n\\n**Examples**\\n\\nSearch for tickets related to access issues with tenant field escalated:\\n\\n```\\n```\\n1 tnt__escalated:true access issues\\n```\\n```\\n\\nSearch for bugs related to access issues with subtype field customer\\\\_impact:\\n\\n```\\n```\\n1 subtype:Bug ctype__customer_impact:true access issues\\n```\\n```\\n\\nSearch across multiple subtypes for tickets related to access issues:\\n\\n```\\n```\\n1 subtype:Bug,Events access", + "title": "Search | Computer by DevRev | DevRev" }, { - "id": "ART-1979_KNOWLEDGE_NODE-41", - "text": "progress\\n\\n\\n\\nOpen\\n\\n\\n\\nEscalate\\n\\n\\n\\nValidate the fix\\n\\n\\n\\nAdditional detail needed\\n\\n\\n\\nCustomer responds\\n\\n\\n\\nStart\\n\\n\\n\\nFeature request accepted\\n\\n\\n\\nResolved\\n\\n\\n\\nNot valid\\n\\n\\n\\nQueued\\n\\n\\n\\nWork in progress\\n\\n\\n\\nAwaiting product assist\\n\\n\\n\\nAwaiting development\\n\\n\\n\\nAwating customer response\\n\\n\\n\\nIn development\\n\\n\\n\\nAccepted\\n\\n\\n\\nResolved\\n\\n\\n\\nCanceled\\n```\\n\\n**Open**\\n\\n* *Queued* (Q)\\n The initial stage for all tickets. When a new ticket is created,", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-15716_KNOWLEDGE_NODE-9", + "text": "tickets for escalation or tracking.\\n\\nQuick summary: If you\\xe2\\x80\\x99re a customer, you create tickets. If you\\xe2\\x80\\x99re a developer, you create issues.PLuG widget and SDK\\n\\nIntegrating PluG in React Native Expo Apps\\n\\nPluG is designed for web, but you can embed it in a React Native Expo app using react-native-webview. Install the package with npx expo install react-native-webview, then use a WebView component to load your PluG widget\\xe2\\x80\\x99s URL. Some advanced features may not", + "title": "Support queries related playbook" }, { - "id": "ART-1979_KNOWLEDGE_NODE-39", - "text": "other tickets or issues that relate to this ticket, click **Link Records** and select the relevant items.\\n7. If you would like to immediately create another ticket, select **Create multiple**.\\n8. Click **Create**.\\n\\nIf a ticket is created from an existing conversation, then the ticket's title and description are populated automatically from the conversation.\\n\\n![]()\\n\\nYou can create a child issue by clicking **+ Link issue** > **Add a child issue**. You can link the other existing issue as", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-2874_KNOWLEDGE_NODE-1", + "text": "[Groups](/docs/product/groups)\\n + [Parts & trails](/docs/product/parts)\\n + [Vistas](/docs/product/vistas)\\n\\n - [Vista Reports](/docs/product/vista-reports)\\n - [Board view](/docs/product/board-view)\\n + [Tasks](/docs/product/tasks)\\n + [Updates](/docs/product/updates)\\n + [Customer email notifications](/docs/product/customer-emails)\\n + [Roles](/docs/product/roles)\\n\\n - [Default privileges by group](/docs/product/privs)\\n + [Access control](/docs/product/access-control)\\n +", + "title": "Ticket issue field migrator | Automate | Snap-ins | DevRev" }, { - "id": "ART-1002_KNOWLEDGE_NODE-1", - "text": "\\xe2\\x86\\x92 Issues\\n Items to track customer requests/problems \\xe2\\x86\\x92 Tickets\\n\\n\\nGiven the converged nature of the DevRev platform, we have both Tickets, and Issues, so when do you use what? The answer is \\xe2\\x80\\x9cit depends\\xe2\\x80\\x9d on what your role is on the part you\\xe2\\x80\\x99re creating the work item on. In general, issues should be restricted to those individuals that either own or contribute to a part. Tickets should be used for all customer/consumer (internal or", - "title": "Tickets, Issues: When to Use Each" + "id": "ART-4184_KNOWLEDGE_NODE-0", + "text": "b\"Ticket linked issues comment sync | Automate | Snap-ins | DevRev\\n\\n* Computer\\n* Resources\\n* [Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nComputer\\n\\nResources\\n\\n[Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nSearch\\n\\n`CTRL`\\xc2\\xa0+\\xc2\\xa0`K`\\n\\n* [Introduction](/docs)\\n* [Computer by DevRev](/docs/intro)\\n\\n + [Core concepts](/docs/product/core)\\n +", + "title": "Ticket linked issues comment sync | Automate | Snap-ins | DevRev" }, { - "id": "ART-1979_KNOWLEDGE_NODE-27", - "text": "also be used to engage customers for feedback/ideas (such as new feature ideas). Scoping is important for broadcast tickets as there needs to be a differentiation between broadcast (all revs) vs. multicast (particular revs).\\n\\nViews of tickets can be found under **Support** in the DevRev app.\\n\\n![]()\\n\\nYou can export views to CSV or JSON by selecting **Actions** in the upper-right corner and choosing the format.\\n\\nAttributes\\n----------\\n\\nTickets have attributes that can be used to filter", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-1958_KNOWLEDGE_NODE-13", + "text": "group](/docs/automations/set-user-preference)\\n - [SLA status change Slack notifier](/docs/automations/sla-change-notifier)\\n - [Slash commands](/docs/automations/slash-commands)\\n - [Spam Shield](/docs/automations/spam-shield)\\n - [Subtype Migration](/docs/automations/subtype-migration)\\n - [Ticket age in engineering](/docs/automations/ticket-age-in-engineering)\\n - [Ticket issue field migrator](/docs/automations/ticket-issue-field-migrator)\\n - [Ticket", + "title": "Access control | Computer by DevRev | DevRev" }, { - "id": "ART-1447_KNOWLEDGE_NODE-1", - "text": "[Tickets](https://docs.devrev.ai/product/tickets) and [Issues](https://docs.devrev.ai/product/issues).\\n\\nWas this page helpful?YesNo\\n\\n[Create WorkUp Next](/public/api-reference/works/create)\\n\\n[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)\\n\\n[Enterprise grade security to protect customer dataLearn more about it.](https://devrev.ai/blog/soc-compliance)\\n\\nProduct\\n\\n * [Build](https://devrev.ai/build)\\n *", - "title": "Tickets and issues \u2014 DevRev | Docs" + "id": "ART-2874_KNOWLEDGE_NODE-0", + "text": "b'Ticket issue field migrator | Automate | Snap-ins | DevRev\\n\\n* Computer\\n* Resources\\n* [Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nComputer\\n\\nResources\\n\\n[Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nSearch\\n\\n`CMD`\\xc2\\xa0+\\xc2\\xa0`K`\\n\\n* [Introduction](/docs)\\n* [Computer by DevRev](/docs/intro)\\n\\n + [Core concepts](/docs/product/core)\\n + [Apps](/docs/product/apps)\\n +", + "title": "Ticket issue field migrator | Automate | Snap-ins | DevRev" }, { - "id": "ART-15716_KNOWLEDGE_NODE-8", - "text": "for TicketsWe have a summarize option (it would resemble sparkle symbol) in the top right corner of the ticket view, which uses the ticket content to summarize the ticket\\n\\n7. Difference between Issues and Tickets\\n\\nTickets\\xc2\\xa0are for customer support\\xe2\\x80\\x94tracking requests, problems, or questions from customers or prospects.\\n\\nIssues\\xc2\\xa0are internal work items for developers\\xe2\\x80\\x94used to improve the product, fix bugs, or implement features. Issues can be linked to", - "title": "Support queries related playbook" + "id": "ART-1637_KNOWLEDGE_NODE-437", + "text": "object.\\nIssue Show 19 properties\\nOR\\nOpportunity Show 21 properties\\nOR\\nTask Show 17 properties\\nOR\\nTicket Show 21 properties\\nResponse.\\n\\nThis endpoint returns an object.\\nwork object\\nShow 4 variants\\nPOST / works.create\\ncURL\\n$ curl -X POST https://api.devrev.ai/works.create \\\\ > -H \" Authorization: Bearer \" \\\\ > -H \" Content-Type: application/json \" \\\\ > -d \\' { > \"type\": \"issue\", > \"applies_to_part\": \"string\", > \"owned_by\": [ > \"string\" > ], > \"title\": \"string\" > } \\'\\n200", + "title": "Delete \u2014 DevRev | Docs" }, { - "id": "ART-1002_KNOWLEDGE_NODE-3", - "text": "systems being used for engineering work are commonly abused by sales, marketing and support teams. For example, a sales rep may create an issue for a developer for a customer request. In the case of support, you\\xe2\\x80\\x99ll commonly see a ton of duplicate issues when only one was really necessary. This leads to a lot of noise for developers, and devalues the notion of an \\xe2\\x80\\x9cissue\\xe2\\x80\\x9d. By keeping a clear line between tickets and issues, we ensure the following:\\n\\n\\n issues", - "title": "Tickets, Issues: When to Use Each" + "id": "ART-12393_KNOWLEDGE_NODE-4", + "text": "insights](/docs/dashboards/conversation-insights)\\n - [Conversation-SLA Analytics](/docs/dashboards/conversation-sla-analytics)\\n - [Conversation-Team Performance](/docs/dashboards/conversation-team-performance)\\n - [Ticket insights](/docs/dashboards/ticket-insights)\\n - [Ticket-SLA Analytics](/docs/dashboards/ticket-sla-analytics)\\n - [Ticket-Team Performance](/docs/dashboards/ticket-team-performance)\\n + [Conversations](/docs/product/conversation)\\n\\n - [Conversation to", + "title": "Troubleshooting | Workflows | Computer by DevRev | DevRev" }, { - "id": "ART-1979_KNOWLEDGE_NODE-40", - "text": "a child issue or create a new one by clicking on **+ New issue**.\\nJust update the title of the child issue and click enter. All other fields will be populated automatically by DevRev. You can edit them later.\\n\\nTags\\n----\\n\\n* Stalled\\n* Priority/Escalated\\n* Fast/Slow Moving\\n* Blocked\\n* Resolution: [*value*]\\n* Impact: [*value*]\\n* Reason: [*value*]\\n\\nStages\\n------\\n\\nThe following figure shows the state machine for tickets.\\n\\n```\\nClosed\\n\\n\\n\\nIn", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-2874_KNOWLEDGE_NODE-4", + "text": "insights](/docs/dashboards/conversation-insights)\\n - [Conversation-SLA Analytics](/docs/dashboards/conversation-sla-analytics)\\n - [Conversation-Team Performance](/docs/dashboards/conversation-team-performance)\\n - [Ticket insights](/docs/dashboards/ticket-insights)\\n - [Ticket-SLA Analytics](/docs/dashboards/ticket-sla-analytics)\\n - [Ticket-Team Performance](/docs/dashboards/ticket-team-performance)\\n + [Conversations](/docs/product/conversation)\\n\\n - [Conversation to", + "title": "Ticket issue field migrator | Automate | Snap-ins | DevRev" }, { - "id": "ART-1242_KNOWLEDGE_NODE-0", - "text": "b'Tickets and issues | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nPublic\\n\\nPublic\\n\\nSearch\\n\\n`/`\\n\\n[API Reference](/api-reference/getting-started)[works](/api-reference/works/tickets-and-issues)\\n\\nTickets and issues\\n==================\\n\\nCopy page\\n\\n`works` endpoint\\n\\n\\xe2\\x84\\xb9\\xef\\xb8\\x8f A work item is a record of some work that has to be done for a customer (ticket) or for another builder or maintainer of a part (issue).\\n\\n\\xf0\\x9f\\x93\\x8c For more information", - "title": "Tickets and issues | DevRev | Docs" + "id": "ART-1955_KNOWLEDGE_NODE-75", + "text": "Field Access:* Ticket admin field access role\\n\\n Privileges: ticket object None\\n* *Contact Admin Field Access:* Contact Admin field access role\\n\\n Privileges: revu object None\\n* *Vista Creator:* A role that allows a user to create a vista\\n\\n Privileges: vista object ['CREATE']\\n* *Vista Owner:* A role that allows the creator to view, edit and delete a vista\\n\\n Privileges: vista object ['READ', 'UPDATE', 'DELETE']\\n* *Issue Admin Field Access:* Issue admin field access role\\n\\n", + "title": "Default privileges by group | Roles | Computer by DevRev | DevRev" } ] }, @@ -3705,49 +3705,49 @@ "title": "Issues with Salesforce OAuth connection" }, { - "id": "ART-2047_KNOWLEDGE_NODE-30", - "text": "it\\'s your first).\\n2. Create a new connection to your Salesforce account, or use an existing connection if you already have one.\\n3. Once the connection is established, select the Salesforce account you want to import and specify the DevRev part that should be used for any imported cases without a product. This initiates a bulk import of the selected account.\\n4. DevRev makes an effort to automatically map the fields from Salesforce to corresponding fields in DevRev. However, you may be", - "title": "Salesforce AirSync | AirSync | Snap-ins | DevRev" + "id": "ART-17569_KNOWLEDGE_NODE-0", + "text": "b'\"Starting in early September 2025, Salesforce will restrict the use of uninstalled connected apps. This usage restriction will block end users from using uninstalled connected apps. This change is part of Salesforce\\'s commitment to making our products and services secure-by-default.\"\\n\\n[Prepare for Connected App Usage Restrictions Change](https://help.salesforce.com/s/articleView?id=005132365&type=1)\\n\\n\"If API Access control isn\\xe2\\x80\\x99t enabled, end users see the following error", + "title": "Issues with Salesforce OAuth connection" }, { - "id": "ART-15716_KNOWLEDGE_NODE-3", - "text": "SMTP/IMAP). You\\xe2\\x80\\x99ll need admin access to complete the setup.\\n\\n[Email integration setup instructions](https://devrev.ai/docs/integrations/email)\\n\\n6. Syncing Cases Between DevRev and Salesforce\\n\\nYes, you can sync cases (tickets) from DevRev to Salesforce using the Salesforce integration. Mapping and sync options are available during setup.\\n\\n[Syncing cases with Salesforce](https://devrev.ai/docs/integrations/salesforce#sync-cases)\\n\\n7. Supported Airdrop Sources\\n\\nDevRev Airdrop", - "title": "Support queries related playbook" + "id": "ART-12393_KNOWLEDGE_NODE-18", + "text": "- [SendSafely](/docs/integrations/sendsafely)\\n - [PagerDuty](/docs/integrations/pagerduty)\\n - [Snowflake](/docs/integrations/snowflake)\\n + [AirSync](/docs/import)\\n\\n - [Articulate Reach 360 AirSync](/docs/integrations/articulate-reach360)\\n - [OneDrive AirSync](/docs/integrations/onedrive)\\n - [Dropbox AirSync](/docs/integrations/dropbox)\\n - [Hubspot AirSync](/docs/integrations/hubspot)\\n - [Salesforce AirSync](/docs/integrations/salesforce)\\n - [Zendesk", + "title": "Troubleshooting | Workflows | Computer by DevRev | DevRev" }, { - "id": "ART-2047_KNOWLEDGE_NODE-36", - "text": "DevRev**.\\n\\n![]()\\n\\nThis may override fields in previously imported items, even if they were modified in DevRev.\\n\\n### Sync to Salesforce\\n\\nAfter a successful import from a Salesforce account, you can sync changes made in DevRev to the previously imported cases back to Salesforce. Additionally, any new [DevRev tickets marked for sync](#mark-a-devrev-ticket-for-syncing) is created as new Salesforce items.\\n\\nTo perform a one-time sync to Salesforce, follow these steps:\\n\\n1. Go to", - "title": "Salesforce AirSync | AirSync | Snap-ins | DevRev" + "id": "ART-15716_KNOWLEDGE_NODE-2", + "text": "details](https://devrev.ai/docs/integrations/jira)\\n\\n4. Integration with Salesforce\\n\\nYes, DevRev offers a Salesforce integration. You can sync accounts, contacts, opportunities, and more between DevRev and Salesforce.\\n\\n[Salesforce integration overview](https://devrev.ai/docs/integrations/salesforce)\\n\\n5. Configuring Email Integration Snap-In\\n\\nGo to Settings \\xe2\\x86\\x92 Integrations \\xe2\\x86\\x92 Email, then follow the prompts to connect your email provider (Gmail, Outlook, or custom", + "title": "Support queries related playbook" }, { - "id": "ART-2047_KNOWLEDGE_NODE-35", - "text": "longer available.\\n\\n### Sync to DevRev\\n\\nAfter a successful import from a Salesforce account, you can choose to sync the imported data with DevRev. This feature airdrops any new items and any changes made to previously imported items from Salesforce.\\n\\nTo perform a one-time sync to DevRev, follow these steps:\\n\\n1. Go to **Settings** > **Integrations** > **AirSyncs**.\\n2. Locate the previously imported project.\\n3. Select **\\xe2\\x8b\\xae** > **Sync Salesforce Service to", - "title": "Salesforce AirSync | AirSync | Snap-ins | DevRev" + "id": "ART-17213_KNOWLEDGE_NODE-5", + "text": "integration does not exceed allowed requests or data usage.\\n* **Error handling**: Learn about error response formats and codes. Knowing this helps in\\n handling errors and exceptions in your integration.\\n\\nBasic concepts\\n--------------\\n\\n### Sync unit\\n\\nA *sync unit* is one self-encompassing unit of data that is synced to an external system. For example:\\n\\n* A project in Jira.\\n* An account in SalesForce.\\n* An organization Zendesk.\\n\\nIn Jira, users often have multiple projects. Each", + "title": "Getting started | DevRev | Docs" }, { - "id": "ART-17569_KNOWLEDGE_NODE-2", - "text": "connection:\\n\\nOpen a Support Case w/ SFDC Support.\\n\\nAsk to have the API Access Control feature enabled\\n\\nOnce enabled, go to the system user in SFDC and select the appropriate profle/permission set and go to System Permissions.\\n\\nCheck the box that says \"Use Any API client\"\\n\\nThis is a setting that wouldn\\'t be available without the API Access Control feature.\\n\\nRetry creating the connection after you\\'ve completed the previous steps.'", - "title": "Issues with Salesforce OAuth connection" + "id": "ART-2047_KNOWLEDGE_NODE-26", + "text": "corresponding DevRev equivalent. Those marked as **Sync to DevRev** are eligible for import/sync to DevRev from Salesforce. Those marked as **Sync to Salesforce** are eligible to be synced to Salesforce from DevRev.\\n\\n| Salesforce Object | DevRev Object | Sync to DevRev | Sync to Salesforce |\\n| --- | --- | --- | --- |\\n| Case | Ticket | \\xe2\\x9c\\x85 | \\xe2\\x9c\\x85 |\\n| Task | Ticket | \\xe2\\x9c\\x85 | \\xe2\\x9c\\x85 |\\n| Problem | Ticket | \\xe2\\x9c\\x85 | \\xe2\\x9c\\x85 |\\n| Incident | Ticket |", + "title": "Salesforce AirSync | AirSync | Snap-ins | DevRev" }, { - "id": "ART-15716_KNOWLEDGE_NODE-2", - "text": "details](https://devrev.ai/docs/integrations/jira)\\n\\n4. Integration with Salesforce\\n\\nYes, DevRev offers a Salesforce integration. You can sync accounts, contacts, opportunities, and more between DevRev and Salesforce.\\n\\n[Salesforce integration overview](https://devrev.ai/docs/integrations/salesforce)\\n\\n5. Configuring Email Integration Snap-In\\n\\nGo to Settings \\xe2\\x86\\x92 Integrations \\xe2\\x86\\x92 Email, then follow the prompts to connect your email provider (Gmail, Outlook, or custom", - "title": "Support queries related playbook" + "id": "ART-4215_KNOWLEDGE_NODE-24", + "text": "type](#choose-a-connection-type)\\n* [Option 1: Notion OAuth Connection](#option-1-notion-oauth-connection)\\n* [Option 2: Notion API Key Connection](#option-2-notion-api-key-connection)\\n* [How to connect pages to the integration](#how-to-connect-pages-to-the-integration)\\n* [Post-import options](#postimport-options)\\n* [\\xe2\\x9c\\x85 Sync to DevRev](#-sync-to-devrev)\\n* [\\xf0\\x9f\\x93\\x8a View Report](#-view-report)\\n* [\\xf0\\x9f\\x97\\x91\\xef\\xb8\\x8f Delete Import](#-delete-import)\\n*", + "title": "Notion AirSync | AirSync | Snap-ins | DevRev" }, { - "id": "ART-16740_KNOWLEDGE_NODE-1", - "text": "expected sync is from DevRev \\xe2\\x86\\x92 Salesforce, the Owner field in Salesforce will be overwritten with the Owner value from DevRev.'", - "title": "Handling Conflicts in Two-Way Sync Between DevRev and External Systems" + "id": "ART-2901_KNOWLEDGE_NODE-34", + "text": "\\n \\n## Troubleshooting\\n\\n * **Issue** : Can\\xe2\\x80\\x99t import the SDK into my app. \\n**Solution** : Double-check the setup process and ensure that `DevRevSDK` is correctly linked to your application.\\n\\n * **Issue** : How does the DevRev SDK handle errors? \\n**Solution** : The DevRev SDK reports all errors in the console using Apple\\xe2\\x80\\x99s Unified Logging System. Look for error messages in the subsystem `ai.devrev.sdk`.\\n\\n * **Issue** : Support chat won\\xe2\\x80\\x99t show.", + "title": "iOS integration \u2014 DevRev | Docs" }, { - "id": "ART-2047_KNOWLEDGE_NODE-37", - "text": "**Settings** > **Integrations** > **AirSyncs**.\\n2. Locate the previously imported project.\\n3. Select **\\xe2\\x8b\\xae** > **Sync DevRev to Salesforce Service**.\\n\\n![]()\\n\\nThis may override fields in Salesforce of previously imported items, even if they were modified in Salesforce.\\n\\n#### Mark a DevRev ticket for syncing\\n\\nUsing the [Sync to Salesforce](#sync-to-salesforce) feature, it\\'s possible to sync DevRev tickets to Salesforce. In order to sync a DevRev ticket to a specific Salesforce", + "id": "ART-2047_KNOWLEDGE_NODE-3", + "text": "- [Workflow nodes](/docs/product/workflow-nodes)\\n - [Troubleshooting](/docs/product/troubleshooting-workflows)\\n + [Templates](/docs/product/template)\\n + [Accessing DevRev](/docs/product/ui)\\n + [External identity provider setup](/docs/product/sso-saml)\\n + [Remote MCP server](/docs/product/remote-mcp)\\n* [Computer for Support Teams](/docs/product/support)\\n\\n + [Inbox](/docs/product/inbox)\\n + [Support analytics](/docs/product/support-analytics)\\n\\n - [Conversation", "title": "Salesforce AirSync | AirSync | Snap-ins | DevRev" }, { - "id": "ART-2047_KNOWLEDGE_NODE-33", - "text": "Salesforce](#sync-to-salesforce):\\n + This option synchronizes any changes made in DevRev to previously synced Salesforce [supported items](#supported-objects) back to Salesforce. It also creates any [items marked in DevRev](#mark-a-devrev-ticket-for-syncing) for creation in Salesforce. This is a one-time operation.\\n* [Periodic Sync](#periodic-sync):\\n + By enabling this option, you can automatically sync new changes from Salesforce to DevRev on a periodic basis. The default frequency is", - "title": "Salesforce AirSync | AirSync | Snap-ins | DevRev" + "id": "ART-10696_KNOWLEDGE_NODE-3", + "text": "- [Workflow nodes](/docs/product/workflow-nodes)\\n - [Troubleshooting](/docs/product/troubleshooting-workflows)\\n + [Templates](/docs/product/template)\\n + [Accessing DevRev](/docs/product/ui)\\n + [External identity provider setup](/docs/product/sso-saml)\\n + [Remote MCP server](/docs/product/remote-mcp)\\n* [Computer for Support Teams](/docs/product/support)\\n\\n + [Inbox](/docs/product/inbox)\\n + [Support analytics](/docs/product/support-analytics)\\n\\n - [Conversation", + "title": "Tracxn Integration | Integrate | Snap-ins | DevRev" } ] }, @@ -3756,54 +3756,54 @@ "query": "DevRev statistical data on ticket resolution time and customer benefits", "retrievals": [ { - "id": "ART-1975_KNOWLEDGE_NODE-25", - "text": "insights\\n===============\\n\\n* **Tickets created**\\n\\n The number of tickets created within the date range that meet the other filtering criteria.\\n* **Active tickets**\\n\\n The number of tickets that are in the Open or In Progress state.\\n* **Closed tickets**\\n\\n The number of tickets closed within the date range that meet the other filtering criteria.\\n* **Average resolution time**\\n\\n The average time taken to resolve tickets.\\n* **Median resolution time**\\n\\n The median time taken to", - "title": "Ticket insights | Support analytics | Computer for Support Teams | DevRev" + "id": "ART-3038_KNOWLEDGE_NODE-14", + "text": "and Dev360 with DevRev\\n* Centralized Memory integration\\n* Compliance workflows within DevRev\\n\\n![]()\\n\\nTop benefits\\n------------\\n\\n* 40% faster ticket resolution\\n* 35% faster product delivery cycle\\n* 25% increase in customer retention rates\\n* Enhanced enterprise search functionality by Computer through memory\\n* Increased agent productivity\\n* Centralized memory management\\n* Lower ticket volume through PLuG AI searches\\n* Scalable, future-proof support and engineering", + "title": "Bolt unifies support and product to deliver seamless commerce" }, { - "id": "ART-15792_KNOWLEDGE_NODE-8", - "text": "they come from - chat, email, Slack, phone - using unified data from across your company.\\n\\nCustomizable Ticket Routing: Route tickets with customizable workflows. Go beyond just priority and agent skill levels to assign the right ticket to the right person\\n\\nTakes actions: Support resolves common customer requests like password resets, subscription changes, and more from start to finish.\\n\\nUnified Data View: Eliminate disjointed middleware and layers of complex integrations. Speed up", - "title": "DevRev Products and Agents" + "id": "ART-1870_KNOWLEDGE_NODE-14", + "text": "customer ticket resolution times by 50%.\\n\\nFaster follow-up responses\\n\\nWith DevRev, ActionIQ has achieved a 60% reduction in turnaround time for responses to customer tickets.\\n\\nIncreased agent productivity\\n\\nImproved organization of work items, combined with workflow automation through Snap-Ins, drove a 68% increase in the number of incidents closed within Level 1 Support (per agent, per month) and an overall 18% increase in the number of incidents closed (per agent, per month).\\n\\n###", + "title": "Unifying teams: How ActionIQ transformed support with integration" }, { - "id": "ART-1975_KNOWLEDGE_NODE-28", - "text": "conversations against standalone tickets.\\n* **Tickets linked to issues**\\n\\n The percentage of tickets linked to product issues.\\n* **Active tickets by owner**\\n\\n The number of Open or In Progress tickets grouped by owner.\\n* **Tickets created vs. closed**\\n\\n The trend of tickets created against those closed.\\n\\nCustomer satisfaction (CSAT)\\n----------------------------\\n\\n* **CSAT score distribution**\\n\\n A distribution of customer satisfaction scores on tickets.\\n\\nTime spent per", - "title": "Ticket insights | Support analytics | Computer for Support Teams | DevRev" + "id": "ART-1771_KNOWLEDGE_NODE-10", + "text": "approach to customer service. The result was faster responses, more accurate solutions, and a significantly improved customer experience.\\n\\nThe bottom line: A transformation in support operations\\n-------------------------------------------------------\\n\\nToughTrucksForKids\\' implementation of DevRev delivers concrete business results:\\n\\n* 64% reduction in ticket resolution time\\n* 83% improvement in first response time\\n* 30% increase in CSAT scores\\n* 20% increase in conversion rates\\n* 65%", + "title": "ToughTrucksForKids.com achieves dramatic efficiency gains and customer satisfaction through AI-powered support automation" }, { - "id": "ART-1975_KNOWLEDGE_NODE-24", - "text": "[Product demos](/docs/DevRevU/demos)\\n\\nOn this page\\n\\n* [Customer & product impact](#customer-product-impact)\\n* [Ticket distribution](#ticket-distribution)\\n* [Customer satisfaction (CSAT)](#customer-satisfaction-csat)\\n* [Time spent per stage](#time-spent-per-stage)\\n\\n1. [Documentation](/docs)\\n3. [Computer for Support Teams](/docs/product/support)\\n[Support analytics](/docs/product/support-analytics)\\n[Ticket insights](/docs/dashboards/ticket-insights)\\n\\nTicket", - "title": "Ticket insights | Support analytics | Computer for Support Teams | DevRev" + "id": "ART-16570_KNOWLEDGE_NODE-13", + "text": "and improve, making information access increasingly effortless over time.\\n\\nData-backed transformation\\n--------------------------\\n\\nSince the rollout in June 2025, the data shows clear improvements in operational efficiency:\\n\\n* **+10 hrs saved** every user each week\\n* **~40% faster ticket resolution** when DevRev is used\\n* **Up to 75% faster resolution** in specific cases\\n* **Consistent adoption** across the team through June and July\\n\\nBenefits\\n--------\\n\\nFAME\\'s adoption of", + "title": "FAME transforms information access with AI-powered enterprise search" }, { - "id": "ART-1977_KNOWLEDGE_NODE-26", - "text": "owner.\\n* **Average Resolution Time**\\n\\n Average time taken to resolve tickets by ticket owners.\\n\\n[PreviousTicket-SLA Analytics](/docs/dashboards/ticket-sla-analytics)[NextConversations](/docs/product/conversation)\\n\\n[Enterprise grade security to protect customer data\\n\\nLearn more about it.\\n\\n![]()](/blog/soc-compliance)\\n\\nComputer\\n\\n* [Meet Computer](/meet-computer)\\n* [How Computer works](/how-computer-works)\\n\\nApps\\n\\n* [For Support Teams](/for-support-teams)\\n* [For", - "title": "Ticket-Team Performance | Support analytics | Computer for Support Teams | DevRev" + "id": "ART-1037_KNOWLEDGE_NODE-11", + "text": "in ticket resolution:** Faster, more direct resolution of support tickets, with developers directly involved in resolving issues.\\n* **Transparent customer communication:** Customers are given a clear view of issue resolution progress and upcoming features designed to address their specific concerns.\\n* **Customer satisfaction:** By providing timely updates with direct communication from developers at Pixee, their users have a significantly improved experience.\\n\\n### Development and product", + "title": "Pixee powers its commitment to a stellar developer experience with DevRev" }, { - "id": "ART-1975_KNOWLEDGE_NODE-27", - "text": "customer satisfaction score for tickets.\\n* **Escalated tickets**\\n\\n The number of tickets that are escalated.\\n\\nCustomer & product impact\\n-------------------------\\n\\n* **Active tickets by customer**\\n\\n The number of Open or In Progress tickets grouped by customer.\\n* **Active tickets by part**\\n\\n The number of Open or In Progress tickets grouped by part.\\n\\nTicket distribution\\n-------------------\\n\\n* **Tickets linked to conversations**\\n\\n The percentage of tickets linked from", - "title": "Ticket insights | Support analytics | Computer for Support Teams | DevRev" + "id": "ART-2886_KNOWLEDGE_NODE-1", + "text": "workflows\\n--------------------------------------------------------------------------------------\\n\\n* 30% reduction in mean time to resolution\\n* 29% faster ticket closure time\\n* Unified collaboration between L1 and L2 support teams\\n\\n[Read Case Study](/case-study/phenom)\\n\\n![]()\\n\\nHIGHLIGHTS\\n\\nHow Bolt connected customer, product, and engineering for smooth checkout\\n-------------------------------------------------------------------------\\n\\n* 40% faster ticket resolution\\n* 35% faster", + "title": "Case Study Library | DevRev" }, { - "id": "ART-1975_KNOWLEDGE_NODE-29", - "text": "stage\\n--------------------\\n\\n* **Average time spent per stage**\\n\\n The average time tickets spent in each stage.\\n\\n[PreviousConversation-Team Performance](/docs/dashboards/conversation-team-performance)[NextTicket-SLA Analytics](/docs/dashboards/ticket-sla-analytics)\\n\\n#### On this page\\n\\n* [Customer & product impact](#customer-product-impact)\\n* [Ticket distribution](#ticket-distribution)\\n* [Customer satisfaction (CSAT)](#customer-satisfaction-csat)\\n* [Time spent per", - "title": "Ticket insights | Support analytics | Computer for Support Teams | DevRev" + "id": "ART-16189_KNOWLEDGE_NODE-13", + "text": "faster ticket resolution\\n* 57% drop in resolution time\\n* Improved coordination between support and engineering\\n* Real-time visibility into issue status\\n* Automation of routine support tasks\\n* Reduced backlog by 100+ tickets\\n* Enhanced customer communication and transparency\\n* Scalable, future-proof support operations\\n\\n### Related Articles\\n\\n[![]()\\n\\n5 min readLuxCreo boosts operational efficiency and agility with DevRev](/case-study/luxcreo)[![]()\\n\\n5 min readAditya Birla Capital", + "title": "FOSSA\u2019s Unified Support Strategy for Elevated Customer Experience" }, { - "id": "ART-1986_KNOWLEDGE_NODE-36", - "text": "conversations:\\n\\n**Tickets**\\n\\n| Metric | Default conditions | Start event | End event | Pause event | Resume event |\\n| --- | --- | --- | --- | --- | --- |\\n| First response time | * Ticket created by a customer * The ticket was created by a customer experience engineer but reported by a customer | Ticket created | * The agent added a comment to the customer chat * The ticket is moved to Awaiting Customer Response, or the ticket is closed | | |\\n| Next response time | * Ticket created by", - "title": "Service-level agreement | Computer for Support Teams | DevRev" + "id": "ART-1027_KNOWLEDGE_NODE-12", + "text": "driver\\n----------------------------------------------------------\\n\\nBy deploying DevRev, Descope has achieved:\\n\\n* 54% reduction in average resolution time\\n* 5\\xc3\\x97 faster ticket resolution with complete lifecycle visibility\\n* 300M+ users supported daily, up from 10M\\n* 100% SLA adherence maintained during scale\\n* 32\\xe2\\x80\\x9340% of inquiries resolved through AI-powered self-service\\n* Increased CSAT and reduced time to resolution\\n\\nThe result: a streamlined, product-led support", + "title": "Descope streamlines support at scale with automation, AI, and unified collaboration" }, { - "id": "ART-1986_KNOWLEDGE_NODE-37", - "text": "a customer * The ticket was created by a customer experience engineer but reported by a customer | A new comment on the ticket by the customer after the customer experience engineer replied | * The agent added a comment to the customer chat * The ticket is moved to Awaiting Customer Response, or the ticket is closed | | |\\n| Full resolution time | * Ticket created by a customer * The ticket was created by a customer experience engineer but reported by a customer | Ticket created | The", - "title": "Service-level agreement | Computer for Support Teams | DevRev" + "id": "ART-1970_KNOWLEDGE_NODE-26", + "text": "Conversations with SLA breaches with breach type for ticket owners.\\n* **SLA breaches w.r.t. Customer Tier**\\n\\n Number of Conversations with SLA breaches per owner.\\n* **Average Resolution Time**\\n\\n Indicates the average time taken to resolve requests for each conversation owner.\\n\\n[PreviousConversation-SLA Analytics](/docs/dashboards/conversation-sla-analytics)[NextTicket insights](/docs/dashboards/ticket-insights)\\n\\n[Enterprise grade security to protect customer data\\n\\nLearn more about", + "title": "Conversation-Team Performance | Support analytics | Computer for Support Teams | DevRev" }, { - "id": "ART-2662_KNOWLEDGE_NODE-4", - "text": "insights](/docs/dashboards/conversation-insights)\\n - [Conversation-SLA Analytics](/docs/dashboards/conversation-sla-analytics)\\n - [Conversation-Team Performance](/docs/dashboards/conversation-team-performance)\\n - [Ticket insights](/docs/dashboards/ticket-insights)\\n - [Ticket-SLA Analytics](/docs/dashboards/ticket-sla-analytics)\\n - [Ticket-Team Performance](/docs/dashboards/ticket-team-performance)\\n + [Conversations](/docs/product/conversation)\\n\\n - [Conversation to", - "title": "DevRev Documentation" + "id": "ART-1870_KNOWLEDGE_NODE-10", + "text": "retention or engagement\\n\\n![]()\\n\\nTasso ArgyrosCEO, ActionIQ\\n\\nThe bottom line: Transforming support through connected operations\\n------------------------------------------------------------------\\n\\nActionIQ's implementation of DevRev delivered concrete business results:\\n\\n* 67% reduction in median incident resolution times\\n* 50% faster customer ticket resolution\\n* 60% reduction in turnaround time for responses to customer tickets\\n* 68% increase in incidents closed within Level 1", + "title": "Unifying teams: How ActionIQ transformed support with integration" } ] }, @@ -3811,34 +3811,39 @@ "query_id": "485f47bb-d3e6-4ad5-b1e9-ec374b31a860", "query": "who can provide access to a dashboard or board", "retrievals": [ + { + "id": "ART-1958_KNOWLEDGE_NODE-28", + "text": "are not authorized to perform this action\". Relevant buttons may be inactive.\\nUsers can contact the organization\\'s admins to enable access in that case.\\n\\n![]()\\n\\nGranting access permissions\\n---------------------------\\n\\nUsers are granted access permissions to dashboards or reports through MFZ policies and sharing.\\n\\n### MFZ policies\\n\\nUse of MFZ policies facilitates the need to grant access to a wider group of users.\\n\\nAn org admin has permission to define and enable roles, in", + "title": "Access control | Computer by DevRev | DevRev" + }, { "id": "ART-1958_KNOWLEDGE_NODE-30", "text": "do not, by default, have permission to read any datasets besides their own. Admins are responsible for granting read permissions to all or a subset of datasets, which platform users can then utilize in building dashboards or reports.\\n\\n### Sharing\\n\\nThe share functionality allows dashboard or report editors to grant read or update permissions to other users.\\n\\n1. Select **Share** from the actions drop-down.\\n2. Search for the desired user, assign them a role (Editor or Viewer), then click", "title": "Access control | Computer by DevRev | DevRev" }, { - "id": "ART-1958_KNOWLEDGE_NODE-29", - "text": "whatever combination, that will give user groups permission to perform various operations on dashboards/reports. Out of the box, the following roles are enabled for the predefined user groups:\\n\\n* Admins\\n\\n ![]()\\n* Platform users\\n\\n ![]()\\n\\n By default, platform users have the following permissions:\\n\\n + Create dashboards or reports.\\n + Read, update, and delete their own dashboards or reports.\\n + Create datasets.\\n + Read, update, and delete their own datasets.\\n\\nPlatform users", + "id": "ART-1958_KNOWLEDGE_NODE-31", + "text": "**Share**.\\n\\nVista privileges\\n----------------\\n\\nTwo objects power vista reports: dashboards and datasets. Dashboards represent the view, while datasets represent the actual underlying data. A user must, at a minimum, have access permissions to dashboards in order to perform any meaningful operations on vista reports. Below is a list of possible operations:\\n\\n* **Read**: View a dashboard or report. Dashboard read permissions are required for a user to view a dashboard or report.\\n*", "title": "Access control | Computer by DevRev | DevRev" }, { - "id": "ART-1958_KNOWLEDGE_NODE-32", - "text": "**Create**: Build a dashboard or report. A user must have dashboard create permissions and dataset read permissions to create a dashboard or report.\\n* **Update**: Modify an existing dashboard or report. A user must have dashboard update permissions and dataset read permissions to modify a dashboard or report.\\n* **Share**: Allows a user to share an existing dashboard or report with other users. A user must have dashboard update permissions to share a dashboard or report.\\n\\n[PreviousDefault", - "title": "Access control | Computer by DevRev | DevRev" + "id": "ART-15687_KNOWLEDGE_NODE-31", + "text": "dashboards\\n-------------------\\n\\nDashboards organize and display multiple widgets.\\n\\n* **Access the dashboard builder**:\\n Similar to the widget builder, access the dashboard builder by modifying your DevRev workspace URL. For example, your\\\\_workspace\\\\_slug/dashboard-preview.\\n The builder provides a boilerplate code.\\n\\n ![]()\\n* **Link widgets to the dashboard**:\\n\\n + Scroll to the section that defines the widgets to be linked.\\n + Remove any existing widget IDs and paste the", + "title": "Dashboards | Computer by DevRev | DevRev" }, { - "id": "ART-1958_KNOWLEDGE_NODE-28", - "text": "are not authorized to perform this action\". Relevant buttons may be inactive.\\nUsers can contact the organization\\'s admins to enable access in that case.\\n\\n![]()\\n\\nGranting access permissions\\n---------------------------\\n\\nUsers are granted access permissions to dashboards or reports through MFZ policies and sharing.\\n\\n### MFZ policies\\n\\nUse of MFZ policies facilitates the need to grant access to a wider group of users.\\n\\nAn org admin has permission to define and enable roles, in", + "id": "ART-1958_KNOWLEDGE_NODE-32", + "text": "**Create**: Build a dashboard or report. A user must have dashboard create permissions and dataset read permissions to create a dashboard or report.\\n* **Update**: Modify an existing dashboard or report. A user must have dashboard update permissions and dataset read permissions to modify a dashboard or report.\\n* **Share**: Allows a user to share an existing dashboard or report with other users. A user must have dashboard update permissions to share a dashboard or report.\\n\\n[PreviousDefault", "title": "Access control | Computer by DevRev | DevRev" }, { - "id": "ART-1958_KNOWLEDGE_NODE-31", - "text": "**Share**.\\n\\nVista privileges\\n----------------\\n\\nTwo objects power vista reports: dashboards and datasets. Dashboards represent the view, while datasets represent the actual underlying data. A user must, at a minimum, have access permissions to dashboards in order to perform any meaningful operations on vista reports. Below is a list of possible operations:\\n\\n* **Read**: View a dashboard or report. Dashboard read permissions are required for a user to view a dashboard or report.\\n*", - "title": "Access control | Computer by DevRev | DevRev" + "id": "ART-1952_KNOWLEDGE_NODE-38", + "text": "the \\xe2\\x9c\\x8f\\xef\\xb8\\x8f\\xc2\\xa0icon. This will take you into the widget builder.\\n\\n### Share\\n\\nShare reports/dashboards by clicking the \\xe2\\x9a\\xa1\\xc2\\xa0button on your dashboard main page. Based on whether you have access, you can share with team members.\\n\\nAuthorization (MFZ)\\n-------------------\\n\\nFor Authorization (MFZ) related information, refer to [Vista Reports Authorization](./access-control).\\n\\n[PreviousVistas](/docs/product/vistas)[NextBoard", + "title": "Vista Reports | Vistas | Computer by DevRev | DevRev" }, { - "id": "ART-15687_KNOWLEDGE_NODE-1", - "text": "[Groups](/docs/product/groups)\\n + [Parts & trails](/docs/product/parts)\\n + [Vistas](/docs/product/vistas)\\n\\n - [Vista Reports](/docs/product/vista-reports)\\n - [Board view](/docs/product/board-view)\\n + [Tasks](/docs/product/tasks)\\n + [Updates](/docs/product/updates)\\n + [Customer email notifications](/docs/product/customer-emails)\\n + [Roles](/docs/product/roles)\\n\\n - [Default privileges by group](/docs/product/privs)\\n + [Access control](/docs/product/access-control)\\n +", + "id": "ART-15687_KNOWLEDGE_NODE-33", + "text": "organization.\\n Define the reference ID for each tab before mapping widgets to them.\\n* **Create the dashboard**:\\n Once satisfied with the linked widgets and layout, click the **Create dashboard** button.\\n* **Accessing dashboards**:\\n\\nSearch in the **Explore** section:\\n\\n* Go to **Explore** in the left nav in DevRev.\\n* Search for your dashboard by its name.\\n* Click on the dashboard to access it.\\n* For easy access, you can pin your dashboard under a section of your", "title": "Dashboards | Computer by DevRev | DevRev" }, { @@ -3847,13 +3852,8 @@ "title": "Default privileges by group | Roles | Computer by DevRev | DevRev" }, { - "id": "ART-15687_KNOWLEDGE_NODE-31", - "text": "dashboards\\n-------------------\\n\\nDashboards organize and display multiple widgets.\\n\\n* **Access the dashboard builder**:\\n Similar to the widget builder, access the dashboard builder by modifying your DevRev workspace URL. For example, your\\\\_workspace\\\\_slug/dashboard-preview.\\n The builder provides a boilerplate code.\\n\\n ![]()\\n* **Link widgets to the dashboard**:\\n\\n + Scroll to the section that defines the widgets to be linked.\\n + Remove any existing widget IDs and paste the", - "title": "Dashboards | Computer by DevRev | DevRev" - }, - { - "id": "ART-15687_KNOWLEDGE_NODE-33", - "text": "organization.\\n Define the reference ID for each tab before mapping widgets to them.\\n* **Create the dashboard**:\\n Once satisfied with the linked widgets and layout, click the **Create dashboard** button.\\n* **Accessing dashboards**:\\n\\nSearch in the **Explore** section:\\n\\n* Go to **Explore** in the left nav in DevRev.\\n* Search for your dashboard by its name.\\n* Click on the dashboard to access it.\\n* For easy access, you can pin your dashboard under a section of your", + "id": "ART-15687_KNOWLEDGE_NODE-25", + "text": "framework that includes a widget builder and a dashboard builder.\\n\\nCreating widgets\\n----------------\\n\\nWidgets are the building blocks of dashboards, representing data visualizations.\\n\\n* **Prepare your data with SQL queries**:\\n\\nBefore building a widget, it\\'s recommended to test your SQL queries in the **Notebook**.\\n\\n![]()\\n\\n1. Go to **Explore**, then search for Notebook.\\n2. Open **Notebook**. For quick access in the future, pin it in the left navigation.\\n3. Locate your dataset.", "title": "Dashboards | Computer by DevRev | DevRev" }, { @@ -3868,54 +3868,54 @@ "query": "Escalation triggers for complex queries requiring human intervention, including probing questions and answer capturing", "retrievals": [ { - "id": "ART-1003_KNOWLEDGE_NODE-25", - "text": "* 100\\n \\n \\n\\n\\nSELECT (COUNT(*) * 100) / (SELECT COUNT(*) FROM tickets WHERE EXTRACT(@period FROM created_at) = EXTRACT(@period FROM CURRENT_DATE)) AS EscalationRate\\nFROM tickets\\nWHERE is_escalated = 1\\nAND EXTRACT(@period FROM created_at) = EXTRACT(@period FROM CURRENT_DATE);\\n-- NOTE: Replace @period with 'DAY', 'WEEK', 'MONTH', or 'QUARTER'.\\n\\n\\nAgent Utilization Rate\\n\\n\\n Definition\\n \\n The percentage of an engineer\\xe2\\x80\\x99s working hours spent on handling customer", - "title": "Understanding a Support Lead's Pain Points and KPIs" + "id": "ART-1709_KNOWLEDGE_NODE-12", + "text": "Significant cost overhead\\n\\n**After:**\\n\\n * AI-powered chatbot deflecting a huge portion of the basic incoming queries, in addition to email and live chat support\\n * Customer support scaled down to a team of two, handling complex queries that require human intervention.\\n * Cost-effective and optimized support operations, while maintaining customer satisfaction\\n\\n## Looking ahead\\n\\nPradeep believes the best customer service is when the customer does not have to reach out for support;", + "title": "ACC-qjz7ErXz - Mad Rewards: MadRewards uses DevRev\u2019s AI to modernize customer su" }, { - "id": "ART-1974_KNOWLEDGE_NODE-30", - "text": "stage.\\n* *Needs response* (NR)\\n\\n The customer has responded; the customer experience engineer needs to review the item and respond or resolve the issue if the user requests or validates the fix. When a customer experience engineer responds the stage transitions to *waiting on user*.\\n\\n In certain cases it may be necessary to escalate the item internally where the conversation may depend on tickets, issues, or a response from someone other than themselves. In this case the stage", - "title": "Conversations | Computer for Support Teams | DevRev" + "id": "ART-1027_KNOWLEDGE_NODE-9", + "text": "workflows** that streamline ticket triaging and severity assessment.\\n\\n### AI-powered deflection at scale\\n\\nAI answering has stabilized around 32\\xe2\\x80\\x9340% of all inquiries, with complex queries intelligently routed to human agents. **Computer CX Agents** for free vs. paid customers optimize deflection strategies for each segment, delivering tailored support while maximizing efficiency.\\n\\nDevRev has enabled us to streamline access to technical documentation, automate common developer", + "title": "Descope streamlines support at scale with automation, AI, and unified collaboration" }, { - "id": "ART-1983_KNOWLEDGE_NODE-28", - "text": "creation of Q&As, Computer learns from customer conversations\\xc2\\xa0in which a human answers a question that it previously could not answer.\\n\\nWhen a customer initiates a conversation seeking answers, Computer springs into action, drawing upon published Q&As and knowledge articles to provide a solution. If Computer falls short or the user prefers a more personalized touch, they opt to connect with a customer experience engineer and resolve the conversation. Computer doesn't just move", - "title": "Questions & answers | Computer for Support Teams | DevRev" + "id": "ART-1771_KNOWLEDGE_NODE-7", + "text": "queries instantly, which frees up our human support agents to promptly address more complex issues.\\n\\n![]()\\n\\nAnkur ShresthaCo-Founder of Tough Trucks for Kids\\n\\nThe impact: Automation, scalability, measurable results\\n-------------------------------------------------------\\n\\n#### Powerful AI automation\\n\\nDevRev\\'s Conversational AI agent intelligently handles 85-90% of routine customer inquiries without human intervention, allowing the support team to focus on more complex issues that", + "title": "ToughTrucksForKids.com achieves dramatic efficiency gains and customer satisfaction through AI-powered support automation" }, { - "id": "ART-1003_KNOWLEDGE_NODE-3", - "text": "transfer session (KT) with teams as new features go out?\\n\\nHow to resolve them:\\n\\n\\n Leverage intelligent deflection and AI offloads\\n \\n For example, don\\xe2\\x80\\x99t waste time making a human gather context, AI can now very accurately gather context and/or suggest articles.\\n \\n \\n Leverage load in terms of routing\\n \\n Normally routing is statically done or done in a round-robin manner, however, that doesn\\xe2\\x80\\x99t work when cases may be differing in complexity.\\n", - "title": "Understanding a Support Lead's Pain Points and KPIs" + "id": "ART-16186_KNOWLEDGE_NODE-5", + "text": "investigate and troubleshoot issues, drive resolutions, and ensure accountability across functions during hypercare sprints.\\n\\n### **Key Responsibilities**\\n\\n* Act as the technical front line during **hypercare periods**, ensuring timely triage, resolution, and communication of issues raised by customer\\n* Help in resolving customer queries raised via different support channels using AI first approach and human escalated complex tickets\\n* Participating in daily, weekly and monthly calls with", + "title": "DevRev Careers | Support - AAI Engineer - Hypercare" }, { - "id": "ART-1004_KNOWLEDGE_NODE-4", - "text": "these resources most productive, it is important to leverage automation to handle some of these lower-level activities; then, by the time it reaches the engineer, they are dealing with more complex pieces of the puzzle. Examples of this are KB deflection, Q&A flows (gather context), and system offloads (AI is great here).\\n\\nA great example is the monotony and frequency of \\xe2\\x80\\x9cWhat\\xe2\\x80\\x99s the status of this?\\xe2\\x80\\x9d inquiries. If people have access to the system, and the", - "title": "Understanding a Support Engineer's Pain Points and KPIs" + "id": "ART-15799_KNOWLEDGE_NODE-2", + "text": "For issues that require a human touch, it easily hands off to your team.\\n\\nCustomizable voice and interface\\n\\nComputer doesn\\xe2\\x80\\x99t just talk the talk, it walks the walk too. Customize Computer's style to match your brand, colors, and design.\\n\\n![]()\\n\\nOmni-channel support\\n\\nGuarantee a consistent customer experience by deploying the same agent across email, Slack, and anywhere else customers contact you.\\n\\n![]()\\n\\nSeamless escalation\\n\\nWhen an issue warrants expert attention,", + "title": "Computer for Your Customers: AI Self-Service Support | DevRev" }, { - "id": "ART-1974_KNOWLEDGE_NODE-28", - "text": "transitions from *new* to *waiting on user*. When a customer responds back to support, the stage transitions to *needs response*.\\n\\n Towards the end of the conversation when the resolution is expected to be valid, the customer experience engineer asks the customer to acknowledge their concerns have been resolved. When the customer experience engineer asks this question the stage transitions to *waiting on user*, and if they validate it moves to *needs response* for the customer experience", - "title": "Conversations | Computer for Support Teams | DevRev" + "id": "ART-4167_KNOWLEDGE_NODE-2", + "text": "For issues that require a human touch, it easily hands off to your team.\\n\\nCustomizable voice and interface\\n\\nComputer doesn\\xe2\\x80\\x99t just talk the talk, it walks the walk too. Customize Computer's style to match your brand, colors, and design.\\n\\n![]()\\n\\nOmni-channel support\\n\\nGuarantee a consistent customer experience by deploying the same agent across email, Slack, and anywhere else customers contact you.\\n\\n![]()\\n\\nSeamless escalation\\n\\nWhen an issue warrants expert attention,", + "title": "Computer for Your Customers: AI Self-Service Support | DevRev" }, { - "id": "ART-1983_KNOWLEDGE_NODE-27", - "text": "**Q&As** and click **+ QA** in the top-right corner.\\n2. Fill in the **Question** and **Answer** fields, and select the relevant **Part**.\\n3. Set the appropriate **Status** and **Access level**. Set the status to *External* or *Public* if you want Computer to use it.\\n4. Confirm by clicking **Create**.\\n\\n![]()\\n\\nAutomatic creation\\n------------------\\n\\nYour customer conversations include a lot of knowledge, including some of the most accurate and current information. With the automated", - "title": "Questions & answers | Computer for Support Teams | DevRev" + "id": "ART-13178_KNOWLEDGE_NODE-15", + "text": "an issue, the AI agents don\\xe2\\x80\\x99t just match keywords. They comprehend the underlying problem.\\n\\nAction is where agentic AI differentiates itself from passive systems. The AI powered agents don\\xe2\\x80\\x99t just recommend \\xe2\\x80\\x93 they implement solutions directly. They might reset accounts, issue refunds, or escalate critical issues without human intervention.\\n\\nLearning happens continuously through feedback loops. Every interaction improves future performance. According to", + "title": "Understanding Agentic AI: Capabilities and Implications for the Future" }, { - "id": "ART-1987_KNOWLEDGE_NODE-27", - "text": "automatically replies to the user query before it gets assigned to support. It goes through the knowledge base (articles and QAs), generates an answer, and checks with the user if the answer is useful or not.\\n\\n* If Computer doesn't understand the query, it gives the user an option to rephrase the question and ask again.\\n* If the user marks the answer as useful, Computer asks the user if they have more questions, then resolves the conversation.\\n* If the user marks the answer as not useful,", - "title": "Turing AI agent | Computer for Support Teams | DevRev" + "id": "ART-970_KNOWLEDGE_NODE-56", + "text": "weren\\xe2\\x80\\x99t commonplace when it came to products.\\n\\nOne of the fundamental tenets underlying the development of the DevRev platform centered on the insistence that everything must be intrinsically linked to a product and/or customer. But why, you might wonder? The answer is unequivocal: Clarity. By establishing these interconnections, we gain the capacity to address a multitude of probing questions, including but not limited to:\\n\\n\\n Which features constitute the primary revenue", + "title": "The Story" }, { - "id": "ART-1004_KNOWLEDGE_NODE-2", - "text": "troubleshooting.\\n\\nKPIs to track:\\n\\n\\n First Contact Resolution Rate\\n Knowledge Base Contributions\\n\\n\\nHigh-pressure environment\\n\\nDealing with people are angry or frustrated isn\\xe2\\x80\\x99t easy, even for the calmest person. In their role, they are the primary person triaging requets from customers and status updates from others in the organization; this can make this a very complex and tense role.\\n\\nAdditionally, most support organizations are very speed focused, so there is pressure", - "title": "Understanding a Support Engineer's Pain Points and KPIs" + "id": "ART-16188_KNOWLEDGE_NODE-5", + "text": "investigate and troubleshoot issues, drive resolutions, and ensure accountability across functions during hypercare sprints.\\n\\n### **Key Responsibilities**\\n\\n* Act as the technical front line during **hypercare periods**, ensuring timely triage, resolution, and communication of issues raised by customer\\n* Help in resolving customer queries raised via different support channels using AI first approach and human escalated complex tickets\\n* Participating in daily, weekly and monthly calls with", + "title": "DevRev Careers | Applied AI - Technical Support Lead" }, { - "id": "ART-1003_KNOWLEDGE_NODE-13", - "text": "this is ensuring you have visibility helping foster communication between internal teams. If you see an increase in escalations, that could point to a lack of enablement for the team.\\n\\nKPIs to track:\\n\\n\\n Escalation Rate\\n Time to Escalation Resolution\\n\\n\\nStaff retention and development\\n\\nAs much as you must support your customers, it\\xe2\\x80\\x99s also imperative to attract, retain, and develop top talent. How can you help enable them? Are you helping them grow? If the staff gets burnt", - "title": "Understanding a Support Lead's Pain Points and KPIs" + "id": "ART-3038_KNOWLEDGE_NODE-4", + "text": "self-service options led to a growing volume of support tickets, further straining their resources.\\n\\nTheir help-site search functionality was particularly problematic, requiring manual intervention and creating friction in merchant interactions. With their business expanding rapidly, Bolt needed a more robust, integrated solution that could scale with their growth while improving both the merchant and shopper experience.\\n\\nThe solution\\n------------\\n\\nIn early 2024, Bolt implemented DevRev", + "title": "Bolt unifies support and product to deliver seamless commerce" } ] }, @@ -3924,54 +3924,54 @@ "query": "API token vs Auth token for API calling DevRev", "retrievals": [ { - "id": "ART-1386_KNOWLEDGE_NODE-8", - "text": "[Documentation](https://docs.devrev.ai/)\\n * [API Reference](https://docs.devrev.ai/api/)\\n * [The Book of DevRev](https://thebook.devrev.ai/)\\n * [Partner Program](https://devrev.ai/partners)\\n * [Startup Program](https://devrev.ai/startups)\\n\\nCompany\\n\\n * [About](https://devrev.ai/about)\\n * [People](https://devrev.ai/people)\\n * [Careers](https://devrev.ai/careers)\\n * [Places](https://devrev.ai/places)\\n * [Invest](https://revd.devrev.ai/)\\n * [What Why", - "title": "Get Auth Token \u2014 DevRev | Docs" - }, - { - "id": "ART-1384_KNOWLEDGE_NODE-9", - "text": "Engine](https://devrev.ai/workflow-engine)\\n * [Turing AI](https://devrev.ai/turing-ai)\\n\\nResources\\n\\n * [Pricing](https://devrev.ai/pricing/support)\\n * [Blog](https://devrev.ai/blog)\\n * [Events](https://devrev.ai/events)\\n * [News](https://devrev.ai/blog?category=news)\\n * [Case Studies](https://devrev.ai/case-study)\\n * [Documentation](https://docs.devrev.ai/)\\n * [API Reference](https://docs.devrev.ai/api/)\\n * [The Book of DevRev](https://thebook.devrev.ai/)\\n * [Partner", - "title": "Create Auth Token \u2014 DevRev | Docs" + "id": "ART-1787_KNOWLEDGE_NODE-57", + "text": "token ID is provided, then the token ID will be set from the JTI claim of the token in the authorization header.\\nPOST / auth-tokens.delete\\ncURL\\n$ curl -X POST https://api.devrev.ai/auth-tokens.delete \\\\ > -H \" Authorization: Bearer \" \\\\ > -H \" Content-Type: application/json \" \\\\ > -d \\' {} \\'\\nAPI Reference auth-tokens Get.\\n\\nGET https:// api.devrev.ai / auth-tokens.get\\nGets the token metadata corresponding to the given token ID under the given Dev organization.\\nQuery", + "title": "Get \u2014 DevRev | Docs" }, { - "id": "ART-1388_KNOWLEDGE_NODE-9", - "text": "[Documentation](https://docs.devrev.ai/)\\n * [API Reference](https://docs.devrev.ai/api/)\\n * [The Book of DevRev](https://thebook.devrev.ai/)\\n * [Partner Program](https://devrev.ai/partners)\\n * [Startup Program](https://devrev.ai/startups)\\n\\nCompany\\n\\n * [About](https://devrev.ai/about)\\n * [People](https://devrev.ai/people)\\n * [Careers](https://devrev.ai/careers)\\n * [Places](https://devrev.ai/places)\\n * [Invest](https://revd.devrev.ai/)\\n * [What Why", - "title": "List Auth Tokens \u2014 DevRev | Docs" + "id": "ART-1386_KNOWLEDGE_NODE-0", + "text": "b'[](/public/api-reference/auth-tokens/get)\\n\\nPublic\\n\\n[API Reference](/public/api-reference/getting-started)[Auth Tokens](/public/api-reference/auth-tokens/create)\\n\\n# Get Auth Token\\n\\nGET\\n\\nhttps://api.devrev.ai/auth-tokens.get\\n\\nTry it\\n\\nGets the token metadata corresponding to the given token ID under the given Dev organization.\\n\\n### Query parameters\\n\\ntoken_idstringRequired`format: \"id\"`\\n\\nThe unique identifier of the token under a given Dev organization.\\n\\n### Response\\n\\nThe", + "title": "Get Auth Token \u2014 DevRev | Docs" }, { - "id": "ART-1386_KNOWLEDGE_NODE-11", - "text": "AI?](https://devrev.ai/what-is-conversational-ai)\\n\\n[](https://devrev.ai)\\n\\n[](https://www.linkedin.com/company/devrev)[](https://medium.com/devrev)[](https://twitter.com/devrev)\\n\\n[System Status](https://devrev.ai/status)\\n\\n\\xc2\\xa9 2025 DevRev Inc.\\n\\n[](https://devrev.ai)\\n\\n * Product\\n * Platform\\n * Solutions\\n * Marketplace\\n * Company\\n * Resources\\n * [Pricing](https://devrev.ai/pricing)\\n\\n __\\n\\n[Login](https://app.devrev.ai/login)[Book a", - "title": "Get Auth Token \u2014 DevRev | Docs" + "id": "ART-2848_KNOWLEDGE_NODE-0", + "text": "b'[](/beta/api-reference/auth-tokens/info-post)\\n\\nBeta\\n\\n[API Reference](/beta/api-reference/accounts/create)[Auth Tokens](/beta/api-reference/auth-tokens/create)\\n\\n# Info Auth Tokens (POST)\\n\\nPOST\\n\\nhttps://api.devrev.ai/auth-tokens.info\\n\\nTry it\\n\\nReturns the Dev organization, user and token attributes extracted from the auth token.\\n\\n### Request\\n\\nThis endpoint expects an object.\\n\\n### Response\\n\\nThe Dev organization, user and token attributes extracted from the auth", + "title": "Info Auth Tokens (POST) (Beta) \u2014 DevRev | Docs" }, { - "id": "ART-1196_KNOWLEDGE_NODE-6", - "text": "with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", - "title": "Get Auth Token | DevRev | Docs" + "id": "ART-15300_KNOWLEDGE_NODE-0", + "text": "b'Info Auth Tokens (POST) | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nPublic\\n\\nPublic\\n\\nSearch\\n\\n`/`\\n\\n[API Reference](/api-reference/getting-started)[auth-tokens](/api-reference/auth-tokens/security-tokens)\\n\\nInfo Auth Tokens (POST)\\n=======================\\n\\nCopy page\\n\\nPOST\\n\\nhttps://api.devrev.ai/auth-tokens.info\\n\\nPOST\\n\\n/auth-tokens.info\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl -X POST https://api.devrev.ai/auth-tokens.info \\\\ |\\n| > | -H \"Authorization:", + "title": "Info Auth Tokens (POST) | DevRev | Docs" }, { - "id": "ART-1394_KNOWLEDGE_NODE-9", - "text": "* [Blog](https://devrev.ai/blog)\\n * [Events](https://devrev.ai/events)\\n * [News](https://devrev.ai/blog?category=news)\\n * [Case Studies](https://devrev.ai/case-study)\\n * [Documentation](https://docs.devrev.ai/)\\n * [API Reference](https://docs.devrev.ai/api/)\\n * [The Book of DevRev](https://thebook.devrev.ai/)\\n * [Partner Program](https://devrev.ai/partners)\\n * [Startup Program](https://devrev.ai/startups)\\n\\nCompany\\n\\n * [About](https://devrev.ai/about)\\n *", - "title": "Get Auth Token (POST) \u2014 DevRev | Docs" + "id": "ART-2849_KNOWLEDGE_NODE-0", + "text": "b'[](/beta/api-reference/auth-tokens/info)\\n\\nBeta\\n\\n[API Reference](/beta/api-reference/accounts/create)[Auth Tokens](/beta/api-reference/auth-tokens/create)\\n\\n# Info Auth Tokens\\n\\nGET\\n\\nhttps://api.devrev.ai/auth-tokens.info\\n\\nTry it\\n\\nReturns the Dev organization, user and token attributes extracted from the auth token.\\n\\n### Response\\n\\nThe Dev organization, user and token attributes extracted from the auth token.\\n\\norganizationobject\\n\\nThe Dev organization attributes extracted from", + "title": "Info Auth Tokens (Beta) \u2014 DevRev | Docs" }, { - "id": "ART-1384_KNOWLEDGE_NODE-4", - "text": "that identifies the token.\\n\\n### Response\\n\\nResponse for the request to create a new token corresponding to the requested token type.\\n\\naccess_tokenstring`format: \"text\"`\\n\\nThe issued JSON Web Token (JWT) corresponding to the requested token type.\\n\\nexpires_inlong\\n\\nThe validity lifetime of the token specified in seconds since Unix epoch.\\n\\ntoken_typeenum\\n\\nAllowed values: bearer\\n\\nThe type of the issued token. Bearer is the only supported token type.\\n\\nclient_idstringOptional`format:", - "title": "Create Auth Token \u2014 DevRev | Docs" + "id": "ART-1300_KNOWLEDGE_NODE-60", + "text": "api.devrev.ai / auth-tokens.delete\\nRevokes the token that matches the given token ID issued under the given Dev organization.\\nRequest.\\n\\nThis endpoint expects an object.\\ntoken_id string Optional\\nThe unique identifier for the token under a given Dev organization. If no token ID is provided, then the token ID will be set from the JTI claim of the token in the authorization header.\\nAPI Reference auth-tokens Get.\\n\\nGET https:// api.devrev.ai / auth-tokens.get\\nGets the token metadata", + "title": "Create \u2014 DevRev | Docs" }, { - "id": "ART-12969_KNOWLEDGE_NODE-6", - "text": "DevRev](https://thebook.devrev.ai/)\\n * [Partner Program](https://devrev.ai/partners)\\n * [Startup Program](https://devrev.ai/startups)\\n\\nCompany\\n\\n * [About](https://devrev.ai/about)\\n * [People](https://devrev.ai/people)\\n * [Careers](https://devrev.ai/careers)\\n * [Places](https://devrev.ai/places)\\n * [Invest](https://revd.devrev.ai/)\\n * [What Why How](https://devrev.ai/what-why-how)\\n\\nConnect\\n\\n * [Contact ](mailto:humansofdevrev@devrev.ai)\\n * [Instagram", + "id": "ART-12969_KNOWLEDGE_NODE-0", + "text": "b'[](/public/api-reference/auth-tokens/info)\\n\\nPublic\\n\\n[API Reference](/public/api-reference/getting-started)[Auth Tokens](/public/api-reference/auth-tokens/create)\\n\\n# Info Auth Tokens\\n\\nGET\\n\\nhttps://api.devrev.ai/auth-tokens.info\\n\\nTry it\\n\\nReturns the Dev organization, user and token attributes extracted from the auth token.\\n\\n### Response\\n\\nThe Dev organization, user and token attributes extracted from the auth token.\\n\\norganizationobject\\n\\nThe Dev organization attributes", "title": "Info Auth Tokens \u2014 DevRev | Docs" }, { - "id": "ART-1384_KNOWLEDGE_NODE-13", - "text": "AI?](https://devrev.ai/what-is-conversational-ai)\\n\\n[](https://devrev.ai)\\n\\n[](https://www.linkedin.com/company/devrev)[](https://medium.com/devrev)[](https://twitter.com/devrev)\\n\\n[System Status](https://devrev.ai/status)\\n\\n\\xc2\\xa9 2025 DevRev Inc.\\n\\n[](https://devrev.ai)\\n\\n * Product\\n * Platform\\n * Solutions\\n * Marketplace\\n * Company\\n * Resources\\n * [Pricing](https://devrev.ai/pricing)\\n\\n __\\n\\n[Login](https://app.devrev.ai/login)[Book a", + "id": "ART-1384_KNOWLEDGE_NODE-0", + "text": "b'[](/public/api-reference/auth-tokens/create)\\n\\nPublic\\n\\n[API Reference](/public/api-reference/getting-started)[Auth Tokens](/public/api-reference/auth-tokens/create)\\n\\n# Create Auth Token\\n\\nPOST\\n\\nhttps://api.devrev.ai/auth-tokens.create\\n\\nTry it\\n\\nCreates a JWT corresponding to the requested token type for the authenticated user.\\n\\n### Request\\n\\nThis endpoint expects an object.\\n\\nact_asstringOptional`format: \"id\"`\\n\\nThe unique ID of the Dev user or the service account to", "title": "Create Auth Token \u2014 DevRev | Docs" }, { - "id": "ART-1384_KNOWLEDGE_NODE-8", - "text": "it.](https://devrev.ai/blog/soc-compliance)\\n\\nProduct\\n\\n * [Build](https://devrev.ai/build)\\n * [Support](https://devrev.ai/support)\\n * [Search](https://devrev.ai/search)\\n * [PLuG - User Engagement](https://devrev.ai/plug-user-engagement)\\n * [PLuG - User Observability](https://devrev.ai/plug-observability)\\n * [Marketplace](https://marketplace.devrev.ai/)\\n\\nPlatform\\n\\n * [Airdrop](https://devrev.ai/airdrop)\\n * [Analytics](https://devrev.ai/analytics)\\n * [Workflow", - "title": "Create Auth Token \u2014 DevRev | Docs" + "id": "ART-1306_KNOWLEDGE_NODE-60", + "text": "token. Only present in a response corresponding to an application access token (AAT).\\nrefresh_token string Optional\\nA token to refresh the issued token.\\nscope string Optional\\nThe scopes associated with the issued token. A space-delimited list of values in which the order of values does not matter.\\nAPI Reference auth-tokens Delete.\\n\\nPOST https:// api.devrev.ai / auth-tokens.delete\\nRevokes the token that matches the given token ID issued under the given Dev organization.\\nRequest.\\n\\nThis", + "title": "List \u2014 DevRev | Docs" + }, + { + "id": "ART-1786_KNOWLEDGE_NODE-57", + "text": "token ID is provided, then the token ID will be set from the JTI claim of the token in the authorization header.\\nPOST / auth-tokens.delete\\ncURL\\n$ curl -X POST https://api.devrev.ai/auth-tokens.delete \\\\ > -H \" Authorization: Bearer \" \\\\ > -H \" Content-Type: application/json \" \\\\ > -d \\' {} \\'\\nAPI Reference auth-tokens Get.\\n\\nGET https:// api.devrev.ai / auth-tokens.get\\nGets the token metadata corresponding to the given token ID under the given Dev organization.\\nQuery", + "title": "Delete \u2014 DevRev | Docs" } ] }, @@ -3980,54 +3980,54 @@ "query": "SLA metrics dashboard filter not retaining selected data point showing all tickets instead of filtered tickets", "retrievals": [ { - "id": "ART-1986_KNOWLEDGE_NODE-44", - "text": "**Custom**: Filters all tickets that will breach by the selected date.\\n\\n![]()\\n\\nTroubleshooting: No SLA running on the ticket\\n---------------------------------------------\\n\\n### Issue\\n\\nYou have created and published an SLA, but no SLA is running on the ticket.\\n\\n### Solution\\n\\n1. Check the **SLA Name** attribute:\\n\\n\\xc2\\xa0\\xc2\\xa0 - Verify that the **SLA Name** attribute on the ticket is not empty.\\n\\n\\xc2\\xa0\\xc2\\xa0 - If the **SLA Name** is empty, it means the customer account", + "id": "ART-1986_KNOWLEDGE_NODE-42", + "text": "Target\\n------------------------------------\\n\\nIn order to filter tickets based on SLA, you can use the **Next SLA Target** filter.\\nHere\\xe2\\x80\\x99s how the filter works:\\n\\n* **All**: Filters all tickets that currently have an SLA applied to them. It will not filter tickets that had an SLA applied in the past and have been completed.\\n* **Breached since**:\\n\\n + **Any**: Filters all tickets that breached SLA, irrespective of when they were breached.\\n + **Over an hour**: Filters all", "title": "Service-level agreement | Computer for Support Teams | DevRev" }, { - "id": "ART-1972_KNOWLEDGE_NODE-24", - "text": "[Product demos](/docs/DevRevU/demos)\\n\\n1. [Documentation](/docs)\\n3. [Computer for Support Teams](/docs/product/support)\\n[Support analytics](/docs/product/support-analytics)\\n[Ticket-SLA Analytics](/docs/dashboards/ticket-sla-analytics)\\n\\nTicket-SLA Analytics\\n====================\\n\\n* **SLA applied Tickets**\\n\\n Number of tickets where SLA is applied.\\n* **SLA compliance rate**\\n\\n Percentage of tickets where SLA was met out of all tickets where SLA is applied.\\n* **Active tickets with", - "title": "Ticket-SLA Analytics | Support analytics | Computer for Support Teams | DevRev" + "id": "ART-1986_KNOWLEDGE_NODE-44", + "text": "**Custom**: Filters all tickets that will breach by the selected date.\\n\\n![]()\\n\\nTroubleshooting: No SLA running on the ticket\\n---------------------------------------------\\n\\n### Issue\\n\\nYou have created and published an SLA, but no SLA is running on the ticket.\\n\\n### Solution\\n\\n1. Check the **SLA Name** attribute:\\n\\n\\xc2\\xa0\\xc2\\xa0 - Verify that the **SLA Name** attribute on the ticket is not empty.\\n\\n\\xc2\\xa0\\xc2\\xa0 - If the **SLA Name** is empty, it means the customer account", + "title": "Service-level agreement | Computer for Support Teams | DevRev" }, - { - "id": "ART-1972_KNOWLEDGE_NODE-15", - "text": "[Operational SLA Metrics](/docs/automations/operational-sla-metrics)\\n - [Custom field migration](/docs/automations/custom-field-migration)\\n - [Slack scraper](/docs/automations/slack-scraper)\\n - [Slack Broadcaster](/docs/automations/slack-broadcaster)\\n - [Reported by enricher](/docs/automations/ticket-reported-by)\\n - [Ticket approval workflow](/docs/automations/ticket-approval-workflow)\\n - [Ticket linked issues comment", - "title": "Ticket-SLA Analytics | Support analytics | Computer for Support Teams | DevRev" + { + "id": "ART-1558_KNOWLEDGE_NODE-504", + "text": "Optional\\n\\nFilters for tickets that are spam.\\n\\nticket.needs_response boolean Optional\\n\\nFilters for tickets that need response.\\n\\nticket.rev_org string Optional\\n\\nFilters for tickets that are associated with any of the provided Rev organizations.\\n\\nticket.severity enum Optional\\n\\nFilters for tickets with any of the provided severities.\\n\\nAllowed values: blocker high low medium\\nticket.sla_summary.stage enum Optional\\n\\nFilters for records with any of the provided SLA stages.\\n\\nAllowed", + "title": "Metric Definitions List (Beta) \u2014 DevRev | Docs" }, { - "id": "ART-1972_KNOWLEDGE_NODE-4", - "text": "analytics](/docs/product/support-analytics)\\n\\n - [Conversation insights](/docs/dashboards/conversation-insights)\\n - [Conversation-SLA Analytics](/docs/dashboards/conversation-sla-analytics)\\n - [Conversation-Team Performance](/docs/dashboards/conversation-team-performance)\\n - [Ticket insights](/docs/dashboards/ticket-insights)\\n - [Ticket-SLA Analytics](/docs/dashboards/ticket-sla-analytics)\\n - [Ticket-Team Performance](/docs/dashboards/ticket-team-performance)\\n +", - "title": "Ticket-SLA Analytics | Support analytics | Computer for Support Teams | DevRev" + "id": "ART-1986_KNOWLEDGE_NODE-41", + "text": "resolution is due in one day, the vista displays five minutes. In the case where the first response isn't provided within five minutes, the timer displays negative values (such as -10m), which indicates that it's been 10 minutes since the first response was due. Conversations or tickets can also be grouped by SLA stages.\\n\\nIn the **Detailed View**, all metrics applied to the ticket or conversation can be viewed along with their current stage.\\n\\nFiltering tickets by Next SLA", + "title": "Service-level agreement | Computer for Support Teams | DevRev" }, { - "id": "ART-1972_KNOWLEDGE_NODE-25", - "text": "SLA breaches**\\n\\n Number of Active Tickets that breached an SLA.\\n* **Tickets with SLA warning**\\n\\n Number of Active Tickets that about to breach an SLA.\\n* **Resolution compliance rate**\\n\\n Percentage of tickets where Resolution SLA was met out of all tickets where Resolution SLA is applied.\\n* **First Response compliance rate**\\n\\n Percentage of tickets where First Response SLA was met out of all tickets where First Response SLA is applied.\\n* **Next Response compliance rate**\\n\\n", - "title": "Ticket-SLA Analytics | Support analytics | Computer for Support Teams | DevRev" + "id": "ART-1545_KNOWLEDGE_NODE-505", + "text": "Optional\\n\\nFilters for tickets that are spam.\\n\\nticket.needs_response boolean Optional\\n\\nFilters for tickets that need response.\\n\\nticket.rev_org string Optional\\n\\nFilters for tickets that are associated with any of the provided Rev organizations.\\n\\nticket.severity enum Optional\\n\\nFilters for tickets with any of the provided severities.\\n\\nAllowed values: blocker high low medium\\nticket.sla_summary.stage enum Optional\\n\\nFilters for records with any of the provided SLA stages.\\n\\nAllowed", + "title": "Create (Beta) \u2014 DevRev | Docs" }, { - "id": "ART-1986_KNOWLEDGE_NODE-45", - "text": "selected on the ticket is not assigned any SLA.\\n\\n\\xc2\\xa0\\xc2\\xa0 \\xc2\\xa0 - Action: Check your SLA assignment rules or add the customer as an exception to any of your SLAs.\\n\\n![]()\\n\\nThe **SLA Name** is never empty if your organization has a default SLA.\\n\\n1. Verify policy conditions:\\n\\n\\xc2\\xa0\\xc2\\xa0 - If the **SLA Name** is populated but you still see no SLA metrics running on the ticket, the ticket does not satisfy the conditions of any policy within the SLA.\\n\\n\\xc2\\xa0\\xc2\\xa0", - "title": "Service-level agreement | Computer for Support Teams | DevRev" + "id": "ART-1560_KNOWLEDGE_NODE-507", + "text": "Optional\\n\\nFilters for tickets that are spam.\\n\\nticket.needs_response boolean Optional\\n\\nFilters for tickets that need response.\\n\\nticket.rev_org string Optional\\n\\nFilters for tickets that are associated with any of the provided Rev organizations.\\n\\nticket.severity enum Optional\\n\\nFilters for tickets with any of the provided severities.\\n\\nAllowed values: blocker high low medium\\nticket.sla_summary.stage enum Optional\\n\\nFilters for records with any of the provided SLA stages.\\n\\nAllowed", + "title": "Assign (Beta) \u2014 DevRev | Docs" }, { - "id": "ART-2017_KNOWLEDGE_NODE-4", - "text": "analytics](/docs/product/support-analytics)\\n\\n - [Conversation insights](/docs/dashboards/conversation-insights)\\n - [Conversation-SLA Analytics](/docs/dashboards/conversation-sla-analytics)\\n - [Conversation-Team Performance](/docs/dashboards/conversation-team-performance)\\n - [Ticket insights](/docs/dashboards/ticket-insights)\\n - [Ticket-SLA Analytics](/docs/dashboards/ticket-sla-analytics)\\n - [Ticket-Team Performance](/docs/dashboards/ticket-team-performance)\\n +", - "title": "SLA status change Slack notifier | Automate | Snap-ins | DevRev" + "id": "ART-1566_KNOWLEDGE_NODE-507", + "text": "Optional\\n\\nFilters for tickets that are spam.\\n\\nticket.needs_response boolean Optional\\n\\nFilters for tickets that need response.\\n\\nticket.rev_org string Optional\\n\\nFilters for tickets that are associated with any of the provided Rev organizations.\\n\\nticket.severity enum Optional\\n\\nFilters for tickets with any of the provided severities.\\n\\nAllowed values: blocker high low medium\\nticket.sla_summary.stage enum Optional\\n\\nFilters for records with any of the provided SLA stages.\\n\\nAllowed", + "title": "Transition (Beta) \u2014 DevRev | Docs" }, { - "id": "ART-1986_KNOWLEDGE_NODE-42", - "text": "Target\\n------------------------------------\\n\\nIn order to filter tickets based on SLA, you can use the **Next SLA Target** filter.\\nHere\\xe2\\x80\\x99s how the filter works:\\n\\n* **All**: Filters all tickets that currently have an SLA applied to them. It will not filter tickets that had an SLA applied in the past and have been completed.\\n* **Breached since**:\\n\\n + **Any**: Filters all tickets that breached SLA, irrespective of when they were breached.\\n + **Over an hour**: Filters all", - "title": "Service-level agreement | Computer for Support Teams | DevRev" + "id": "ART-1651_KNOWLEDGE_NODE-468", + "text": "Optional\\nFilters for tickets with any of the provided severities.\\nAllowed values: blocker high low medium\\nticket.sla_summary.stage enum Optional\\nFilters for records with any of the provided SLA stages.\\nAllowed values: breached completed paused running warning\\nticket.source_channel string Optional\\nFilters for tickets with any of the provided source channels.\\nticket.subtype string Optional\\nFilters for tickets with any of the provided subtypes.\\ntype enum Optional\\nFilters for work of the", + "title": "Create \u2014 DevRev | Docs" }, { - "id": "ART-1972_KNOWLEDGE_NODE-27", - "text": "by Channel**\\n\\n Number of tickets where SLA was breached for each source channel.\\n* **SLA breaches by Subtype**\\n\\n Number of tickets where SLA was breached for each ticket subtype.\\n* **SLA breaches by Owner**\\n\\n Number of Tickets with SLA breaches for ticket owners.\\n* **Avg CSAT by SLA status**\\n\\n Average CSAT rating of tickets w.r.t. their SLA status and severity.\\n* **Unassigned Tickets with SLA breaches per Customer**\\n\\n Number of Unassigned Tickets with SLA breaches for each", - "title": "Ticket-SLA Analytics | Support analytics | Computer for Support Teams | DevRev" + "id": "ART-1823_KNOWLEDGE_NODE-461", + "text": "Optional\\nFilters for tickets with any of the provided severities.\\nAllowed values: blocker high low medium\\nticket.sla_summary.stage enum Optional\\nFilters for records with any of the provided SLA stages.\\nAllowed values: breached completed paused running warning\\nticket.source_channel string Optional\\nFilters for tickets with any of the provided source channels.\\nticket.subtype string Optional\\nFilters for tickets with any of the provided subtypes.\\ntype enum Optional\\nFilters for work of the", + "title": "Get \u2014 DevRev | Docs" }, { - "id": "ART-2818_KNOWLEDGE_NODE-4", - "text": "insights](/docs/dashboards/conversation-insights)\\n - [Conversation-SLA Analytics](/docs/dashboards/conversation-sla-analytics)\\n - [Conversation-Team Performance](/docs/dashboards/conversation-team-performance)\\n - [Ticket insights](/docs/dashboards/ticket-insights)\\n - [Ticket-SLA Analytics](/docs/dashboards/ticket-sla-analytics)\\n - [Ticket-Team Performance](/docs/dashboards/ticket-team-performance)\\n + [Conversations](/docs/product/conversation)\\n\\n - [Conversation to", - "title": "Operational SLA Metrics | Automate | Snap-ins | DevRev" + "id": "ART-1831_KNOWLEDGE_NODE-476", + "text": "Optional\\nFilters for tickets with any of the provided severities.\\nAllowed values: blocker high low medium\\nticket.sla_summary.stage enum Optional\\nFilters for records with any of the provided SLA stages.\\nAllowed values: breached completed paused running warning\\nticket.source_channel string Optional\\nFilters for tickets with any of the provided source channels.\\nticket.subtype string Optional\\nFilters for tickets with any of the provided subtypes.\\ntype enum Optional\\nFilters for work of the", + "title": "Get \u2014 DevRev | Docs" } ] }, @@ -4036,28 +4036,28 @@ "query": "automatically change ticket stage when customer responds", "retrievals": [ { - "id": "ART-1979_KNOWLEDGE_NODE-43", - "text": "*awaiting customer response* until the customer responds.\\n\\n In certain scenarios, the customer experience engineer may be able to resolve the customer's concern. If that's the case, they would ask the customer if their resolution has resolved their concern and the stage would move to the *awaiting customer response*. Once the concern is resolved and the customer acknowledges the resolution, the stage may move to *resolved*. If the concern isn't resolved, the stage may change back to *work in", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-2009_KNOWLEDGE_NODE-28", + "text": "ticket's stage when linked issue is linked or unlinked.\\n* Close pending tickets if they have remained in the *Awaiting customer response* stage for longer than x days.\\n* Update ticket's stage to waiting on user when user reverts on new conversation.\\n* Update ticket's stage to *Accepted* and notify owner and customers when an enhancement in ideation stage is linked.\\n* Update a spam conversation's stage to *Suspended*.\\n* Update a spam ticket's stage to", + "title": "Convergence | Automate | Snap-ins | DevRev" }, { - "id": "ART-1981_KNOWLEDGE_NODE-28", - "text": "new conversation. Respond within 1 hour to new messages on existing conversations. Change the stage of conversation to *awaiting customer response* as soon as you have responded.\\n* In **Updates**, filter by **Type** > **Mentioned**. Respond to those updates first.\\n* Create a ticket if you aren't able to resolve the conversation in 20 minutes. As soon as the ticket is opened, move it to the *escalate* stage. The owner of the ticket is the owner of the customer org where the conversation", - "title": "Support best practices | Computer for Support Teams | DevRev" + "id": "ART-1979_KNOWLEDGE_NODE-42", + "text": "it's automatically put into the *queued* stage, which indicates that it needs to be picked up by a customer experience engineer.\\n\\n**In-progress**\\n\\n* *Work in progress* (WIP)\\n\\n Work on the concern reported by the user has begun. When a customer experience engineer starts work on a ticket, the ticket's stage changes to *work in progress*. When they require more information, they may ask the customer for additional detail (such as logs or context), in which case the stage would change to", + "title": "Tickets | Computer for Support Teams | DevRev" }, { - "id": "ART-1953_KNOWLEDGE_NODE-31", - "text": "stage of a ticket/conversation\\n----------------------------------------\\n\\n* **Trigger**: When there\\'s a change of stage in a ticket or conversation.\\n* **Action**: The system sends out a notification detailing the Ticket/Conversation number and stage change.\\n* **Sender**: {Company\\\\_Name} [support@yourdomain.com](mailto:support@yourdomain.com)\\n* **Subject**:\\n + For ticket: \"[{Company\\\\_Name}] Update on TKT-XXX - Ticket Title\"\"\"\\n + For conversations:", - "title": "Customer email notifications | Computer by DevRev | DevRev" + "id": "ART-1979_KNOWLEDGE_NODE-43", + "text": "*awaiting customer response* until the customer responds.\\n\\n In certain scenarios, the customer experience engineer may be able to resolve the customer's concern. If that's the case, they would ask the customer if their resolution has resolved their concern and the stage would move to the *awaiting customer response*. Once the concern is resolved and the customer acknowledges the resolution, the stage may move to *resolved*. If the concern isn't resolved, the stage may change back to *work in", + "title": "Tickets | Computer for Support Teams | DevRev" }, { - "id": "ART-2009_KNOWLEDGE_NODE-28", - "text": "ticket's stage when linked issue is linked or unlinked.\\n* Close pending tickets if they have remained in the *Awaiting customer response* stage for longer than x days.\\n* Update ticket's stage to waiting on user when user reverts on new conversation.\\n* Update ticket's stage to *Accepted* and notify owner and customers when an enhancement in ideation stage is linked.\\n* Update a spam conversation's stage to *Suspended*.\\n* Update a spam ticket's stage to", - "title": "Convergence | Automate | Snap-ins | DevRev" + "id": "ART-1979_KNOWLEDGE_NODE-45", + "text": "a user. In certain cases where the ticket depends on some fix (issues) the stage may go from *in development* to *awaiting customer response* when the corresponding issues have been resolved and the fix needs to be validated with the user.\\n\\n In certain cases, the customer experience engineer may be able to solve directly (without any required issues) which may change the stage from *work in progress* to *awaiting customer response* to validate they have solved the problem. If either has", + "title": "Tickets | Computer for Support Teams | DevRev" }, { - "id": "ART-1981_KNOWLEDGE_NODE-27", - "text": "Periodically group the **Inbox** by stage and make sure there conversations only in *hold* or *awaiting customer response* stages.\\n* Let the customer know when a ticket linked to a conversation is closed and request their verification.\\n* Once all tickets of a conversation are resolved and the customer is satisfied, resolve the conversation.\\n* Move new tickets to the *awaiting product assist* stage.\\n\\nRespond to conversations\\n------------------------\\n\\n* Respond as fast as possible to any", + "id": "ART-1981_KNOWLEDGE_NODE-28", + "text": "new conversation. Respond within 1 hour to new messages on existing conversations. Change the stage of conversation to *awaiting customer response* as soon as you have responded.\\n* In **Updates**, filter by **Type** > **Mentioned**. Respond to those updates first.\\n* Create a ticket if you aren't able to resolve the conversation in 20 minutes. As soon as the ticket is opened, move it to the *escalate* stage. The owner of the ticket is the owner of the customer org where the conversation", "title": "Support best practices | Computer for Support Teams | DevRev" }, { @@ -4066,24 +4066,24 @@ "title": "Conversations | Computer for Support Teams | DevRev" }, { - "id": "ART-1979_KNOWLEDGE_NODE-45", - "text": "a user. In certain cases where the ticket depends on some fix (issues) the stage may go from *in development* to *awaiting customer response* when the corresponding issues have been resolved and the fix needs to be validated with the user.\\n\\n In certain cases, the customer experience engineer may be able to solve directly (without any required issues) which may change the stage from *work in progress* to *awaiting customer response* to validate they have solved the problem. If either has", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-1953_KNOWLEDGE_NODE-36", + "text": "conversation](#ticket-linked-to-a-conversation)\\n* [Change of stage of a ticket/conversation](#change-of-stage-of-a-ticketconversation)\\n* [CSAT survey for conversation/ticket](#csat-survey-for-conversationticket)\\n* [Auto customer reply](#auto-customer-reply)\\n* [Auto reply on email](#auto-reply-on-email)\\n\\n[Enterprise grade security to protect customer data\\n\\nLearn more about it.\\n\\n![]()](/blog/soc-compliance)\\n\\nComputer\\n\\n* [Meet Computer](/meet-computer)\\n* [How Computer", + "title": "Customer email notifications | Computer by DevRev | DevRev" }, { - "id": "ART-2012_KNOWLEDGE_NODE-28", - "text": "say \\xe2\\x80\\x9cI would like to add a terminal stage on my tickets\\xe2\\x80\\x9d and we will get it done.\\n\\n * If no terminal stage is set, tickets will reopen on new comments from customers if **Reopen Closed Tickets on customer message** is enabled in the [convergence snap-in](./converge). The tickets move to the _In Progress_ state by default.\\n\\n * If you connected your support email address with DevRev, it is recommended that you enable the **Allow automations to send email** in your", - "title": "Follow-up ticket | Automate | Snap-ins | DevRev" + "id": "ART-1953_KNOWLEDGE_NODE-24", + "text": "conversation](#reply-to-the-customer-on-a-conversation)\\n* [Reply to the customer on a ticket](#reply-to-the-customer-on-a-ticket)\\n* [Ticket linked to a conversation](#ticket-linked-to-a-conversation)\\n* [Change of stage of a ticket/conversation](#change-of-stage-of-a-ticketconversation)\\n* [CSAT survey for conversation/ticket](#csat-survey-for-conversationticket)\\n* [Auto customer reply](#auto-customer-reply)\\n* [Auto reply on email](#auto-reply-on-email)\\n\\n1. [Documentation](/docs)\\n3.", + "title": "Customer email notifications | Computer by DevRev | DevRev" }, { - "id": "ART-1979_KNOWLEDGE_NODE-42", - "text": "it's automatically put into the *queued* stage, which indicates that it needs to be picked up by a customer experience engineer.\\n\\n**In-progress**\\n\\n* *Work in progress* (WIP)\\n\\n Work on the concern reported by the user has begun. When a customer experience engineer starts work on a ticket, the ticket's stage changes to *work in progress*. When they require more information, they may ask the customer for additional detail (such as logs or context), in which case the stage would change to", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-2012_KNOWLEDGE_NODE-26", + "text": "customer knows why a new ticket was created. The following fields are automatically set on the follow-up ticket based on the archived ticket:\\n\\n * **Title**\\n * **Customer**\\n * **Reported By**\\n * **Tag** is_followup In addition, the tag has_followup is added to the archived ticket.\\n\\nIf the customer responds to a ticket in the terminal stage for the second time, their message will be added to that ticket and the **Needs response** toggle will be enabled. However, no follow-up tickets", + "title": "Follow-up ticket | Automate | Snap-ins | DevRev" }, { - "id": "ART-2016_KNOWLEDGE_NODE-28", - "text": "depending on the message given by a discussion participant.\\n\\n Enter /StageConfig in the snap-in **Discussions** tab and select the values from the dropdown for the stage transition whenever a message is given by a discussion participant.\\n4. Go to **Issues** or **Roadmap** and make updates. The tickets that were linked to the issue or enhancement reflect the changes you configured in the CSV file, notifying the ticket owner.\\n\\n[PreviousSend customized", - "title": "StageFlow automator | Automate | Snap-ins | DevRev" + "id": "ART-1981_KNOWLEDGE_NODE-27", + "text": "Periodically group the **Inbox** by stage and make sure there conversations only in *hold* or *awaiting customer response* stages.\\n* Let the customer know when a ticket linked to a conversation is closed and request their verification.\\n* Once all tickets of a conversation are resolved and the customer is satisfied, resolve the conversation.\\n* Move new tickets to the *awaiting product assist* stage.\\n\\nRespond to conversations\\n------------------------\\n\\n* Respond as fast as possible to any", + "title": "Support best practices | Computer for Support Teams | DevRev" } ] }, @@ -4092,9 +4092,9 @@ "query": "Article 471 not viewable from internal and external links", "retrievals": [ { - "id": "ART-15414_KNOWLEDGE_NODE-10", - "text": "elements exist.\\n\\n### Errors\\n\\n400\\n\\nBad Request Error\\n\\n401\\n\\nUnauthorized Error\\n\\n403\\n\\nForbidden Error\\n\\n429\\n\\nToo Many Requests Error\\n\\n500\\n\\nInternal Server Error\\n\\n503\\n\\nService Unavailable Error\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/api-reference/links/list)[#### Replace Links\\n\\nNext](/api-reference/links/replace)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", - "title": "List Links (POST) | DevRev | Docs" + "id": "ART-1985_KNOWLEDGE_NODE-38", + "text": "and **Public Portal**.\\n\\n### Share an article\\n\\nOnce you've created an article, you have two options to share it:\\n\\n* Use **Copy external link** to share with your customers, allowing them to access the article directly.\\n* Use **Copy internal link** to share with your internal organizational team members.\\n\\nThe ability to view the article depends on the settings for **Visible to** and **Status** that have been configured.\\n\\n* If you are sharing an external link with non-signed-in", + "title": "Articles | Knowledge Base | Computer for Support Teams | DevRev" }, { "id": "ART-1985_KNOWLEDGE_NODE-35", @@ -4102,44 +4102,44 @@ "title": "Articles | Knowledge Base | Computer for Support Teams | DevRev" }, { - "id": "ART-15402_KNOWLEDGE_NODE-9", - "text": "elements exist.\\n\\n### Errors\\n\\n400\\n\\nBad Request Error\\n\\n401\\n\\nUnauthorized Error\\n\\n403\\n\\nForbidden Error\\n\\n429\\n\\nToo Many Requests Error\\n\\n500\\n\\nInternal Server Error\\n\\n503\\n\\nService Unavailable Error\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/api-reference/links/get-post)[#### List Links (POST)\\n\\nNext](/api-reference/links/list-post)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", - "title": "List Links | DevRev | Docs" + "id": "ART-15297_KNOWLEDGE_NODE-9", + "text": "article\\'s ID.\\n\\naccess\\\\_levelenumOptional\\n\\nAllowed values:externalinternalprivatepublicrestricted\\n\\naliasesobjectOptional\\n\\nShow 1 properties\\n\\napplies\\\\_to\\\\_partsobjectOptional\\n\\nShow 1 properties\\n\\nartifactsobjectOptional\\n\\nShow 1 properties\\n\\nauthored\\\\_byobjectOptional\\n\\nShow 1 properties\\n\\nbrandstring or nullOptional`format: \"id\"`\\n\\nThe updated brand of the article.\\n\\ncontent\\\\_blocksobjectOptional\\n\\nShow 1 properties\\n\\ncontent\\\\_formatenumOptional\\n\\nContent format of", + "title": "Update Article | DevRev | Docs" }, { - "id": "ART-15404_KNOWLEDGE_NODE-7", - "text": "Error\\n\\n401\\n\\nUnauthorized Error\\n\\n403\\n\\nForbidden Error\\n\\n429\\n\\nToo Many Requests Error\\n\\n500\\n\\nInternal Server Error\\n\\n503\\n\\nService Unavailable Error\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/api-reference/links/list-post)[#### Count Meetings\\n\\nNext](/api-reference/meetings/count)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", - "title": "Replace Links | DevRev | Docs" + "id": "ART-1308_KNOWLEDGE_NODE-44", + "text": "preceding results in accordance to the sort order. If not set, then no prior elements exist.\\nAPI Reference articles Update Article.\\n\\nPOST https:// api.devrev.ai / articles.update\\nUpdates an article.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe article\\'s ID.\\naccess_level enum Optional\\nAllowed values: external internal private public restricted\\napplies_to_parts object Optional\\nShow property\\nartifacts object Optional\\nShow property\\nauthored_by object", + "title": "Update \u2014 DevRev | Docs" }, { - "id": "ART-1985_KNOWLEDGE_NODE-38", - "text": "and **Public Portal**.\\n\\n### Share an article\\n\\nOnce you've created an article, you have two options to share it:\\n\\n* Use **Copy external link** to share with your customers, allowing them to access the article directly.\\n* Use **Copy internal link** to share with your internal organizational team members.\\n\\nThe ability to view the article depends on the settings for **Visible to** and **Status** that have been configured.\\n\\n* If you are sharing an external link with non-signed-in", - "title": "Articles | Knowledge Base | Computer for Support Teams | DevRev" + "id": "ART-1636_KNOWLEDGE_NODE-26", + "text": "object.\\napplies_to_parts list of strings Required\\nThe parts that the article applies to.\\nowned_by list of strings Required\\nThe users that own the article.\\nresource object Required\\nShow 3 properties\\ntitle string Required\\nName of the article.\\naccess_level enum Optional\\nAllowed values: external internal private public restricted\\narticle_type \"article\" or \"content_block\" Optional\\nAllowed values: article content_block\\nType of the article.\\nauthored_by list of strings Optional\\nThe", + "title": "Update \u2014 DevRev | Docs" }, { - "id": "ART-1985_KNOWLEDGE_NODE-39", - "text": "customers, the article should be visible to customers. If the **Visible to** option is set to **Verified Customers**, only signed-in customers are able to view the article.\\n* When sharing an external link with customers, the article status should be *Published*. If it is in *Draft* mode, they won\\xe2\\x80\\x99t be able to view it.\\n\\nArticle Formatting\\n------------------\\n\\nWhen you\\xe2\\x80\\x99re creating a new article or editing an existing article, formatting options are displayed. While", - "title": "Articles | Knowledge Base | Computer for Support Teams | DevRev" + "id": "ART-1792_KNOWLEDGE_NODE-26", + "text": "object.\\napplies_to_parts list of strings Required\\nThe parts that the article applies to.\\nowned_by list of strings Required\\nThe users that own the article.\\nresource object Required\\nShow 3 properties\\ntitle string Required\\nName of the article.\\naccess_level enum Optional\\nAllowed values: external internal private public restricted\\narticle_type \"article\" or \"content_block\" Optional\\nAllowed values: article content_block\\nType of the article.\\nauthored_by list of strings Optional\\nThe", + "title": "Update \u2014 DevRev | Docs" }, { - "id": "ART-4070_KNOWLEDGE_NODE-1", - "text": "externalinternalprivatepublicrestricted\\n\\naliasesobjectOptional\\n\\nShow property\\n\\napplies_to_partsobjectOptional\\n\\nShow property\\n\\nartifactsobjectOptional\\n\\nShow property\\n\\nauthored_byobjectOptional\\n\\nShow property\\n\\nbrandstringOptional`format: \"id\"`\\n\\nThe updated brand of the article.\\n\\ncontent_blocksobjectOptional\\n\\nShow property\\n\\ncontent_formatenumOptional\\n\\nAllowed values: drdfv2rt\\n\\nContent format of the article.\\n\\ncustom_fieldsobjectOptional\\n\\nApplication-defined custom", - "title": "Update Article \u2014 DevRev | Docs" + "id": "ART-1597_KNOWLEDGE_NODE-26", + "text": "object.\\napplies_to_parts list of strings Required\\nThe parts that the article applies to.\\nowned_by list of strings Required\\nThe users that own the article.\\nresource object Required\\nShow 3 properties\\ntitle string Required\\nName of the article.\\naccess_level enum Optional\\nAllowed values: external internal private public restricted\\narticle_type \"article\" or \"content_block\" Optional\\nAllowed values: article content_block\\nType of the article.\\nauthored_by list of strings Optional\\nThe", + "title": "Update \u2014 DevRev | Docs" }, { - "id": "ART-15297_KNOWLEDGE_NODE-9", - "text": "article\\'s ID.\\n\\naccess\\\\_levelenumOptional\\n\\nAllowed values:externalinternalprivatepublicrestricted\\n\\naliasesobjectOptional\\n\\nShow 1 properties\\n\\napplies\\\\_to\\\\_partsobjectOptional\\n\\nShow 1 properties\\n\\nartifactsobjectOptional\\n\\nShow 1 properties\\n\\nauthored\\\\_byobjectOptional\\n\\nShow 1 properties\\n\\nbrandstring or nullOptional`format: \"id\"`\\n\\nThe updated brand of the article.\\n\\ncontent\\\\_blocksobjectOptional\\n\\nShow 1 properties\\n\\ncontent\\\\_formatenumOptional\\n\\nContent format of", - "title": "Update Article | DevRev | Docs" + "id": "ART-1655_KNOWLEDGE_NODE-26", + "text": "object.\\napplies_to_parts list of strings Required\\nThe parts that the article applies to.\\nowned_by list of strings Required\\nThe users that own the article.\\nresource object Required\\nShow 3 properties\\ntitle string Required\\nName of the article.\\naccess_level enum Optional\\nAllowed values: external internal private public restricted\\narticle_type \"article\" or \"content_block\" Optional\\nAllowed values: article content_block\\nType of the article.\\nauthored_by list of strings Optional\\nThe", + "title": "Update \u2014 DevRev | Docs" }, { - "id": "ART-15410_KNOWLEDGE_NODE-2", - "text": "link.\\n\\n### Errors\\n\\n400\\n\\nBad Request Error\\n\\n401\\n\\nUnauthorized Error\\n\\n403\\n\\nForbidden Error\\n\\n404\\n\\nNot Found Error\\n\\n429\\n\\nToo Many Requests Error\\n\\n500\\n\\nInternal Server Error\\n\\n503\\n\\nService Unavailable Error\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/api-reference/links/create)[#### Get Link\\n\\nNext](/api-reference/links/get)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", - "title": "Delete Link | DevRev | Docs" + "id": "ART-1827_KNOWLEDGE_NODE-26", + "text": "object.\\napplies_to_parts list of strings Required\\nThe parts that the article applies to.\\nowned_by list of strings Required\\nThe users that own the article.\\nresource object Required\\nShow 3 properties\\ntitle string Required\\nName of the article.\\naccess_level enum Optional\\nAllowed values: external internal private public restricted\\narticle_type \"article\" or \"content_block\" Optional\\nAllowed values: article content_block\\nType of the article.\\nauthored_by list of strings Optional\\nThe", + "title": "Update \u2014 DevRev | Docs" }, { - "id": "ART-2141_KNOWLEDGE_NODE-9", - "text": "Error\\n\\n401\\n\\nUnauthorized Error\\n\\n403\\n\\nForbidden Error\\n\\n429\\n\\nToo Many Requests Error\\n\\n500\\n\\nInternal Server Error\\n\\n503\\n\\nService Unavailable Error\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/beta/api-reference/customization/custom-link-type-list)[#### Update Link Types Custom\\n\\nNext](/beta/api-reference/customization/custom-link-type-update)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", - "title": "List Link Types Custom (POST) | DevRev | Docs" + "id": "ART-1592_KNOWLEDGE_NODE-26", + "text": "object.\\napplies_to_parts list of strings Required\\nThe parts that the article applies to.\\nowned_by list of strings Required\\nThe users that own the article.\\nresource object Required\\nShow 3 properties\\ntitle string Required\\nName of the article.\\naccess_level enum Optional\\nAllowed values: external internal private public restricted\\narticle_type \"article\" or \"content_block\" Optional\\nAllowed values: article content_block\\nType of the article.\\nauthored_by list of strings Optional\\nThe", + "title": "Update \u2014 DevRev | Docs" } ] }, @@ -4148,54 +4148,54 @@ "query": "change Stage state in stage library", "retrievals": [ { - "id": "ART-3894_KNOWLEDGE_NODE-4", - "text": "14| \"transitions\": [ \\n 15| { \\n 16| \"target_stage\": { \\n 17| \"id\": \"foo\", \\n 18| \"display_id\": \"foo\", \\n 19| \"name\": \"foo\" \\n 20| } \\n 21| } \\n 22| ] \\n 23| } \\n 24| ], \\n 25| \"created_by\": { \\n 26| \"display_id\": \"foo\", \\n 27| \"id\": \"foo\", \\n 28| \"display_name\": \"foo\", \\n", - "title": "List Stage Diagrams (Beta) \u2014 DevRev | Docs" + "id": "ART-1801_KNOWLEDGE_NODE-237", + "text": "stage.\\nordinal integer Optional\\nThe ordinal of the custom stage.\\nstate_id string Optional\\nThe state ID.\\nResponse.\\n\\nThis endpoint returns an object.\\ncustom_stage object\\nShow 9 properties\\nAPI Reference customization Custom States Create.\\n\\nPOST https:// api.devrev.ai / states.custom.create\\nCreates a custom state.\\nRequest.\\n\\nThis endpoint expects an object.\\nname string Required\\nThe name of the custom state.\\nordinal integer Required\\nOrdinal of the custom state used to identify", + "title": "Get \u2014 DevRev | Docs" }, { - "id": "ART-15345_KNOWLEDGE_NODE-1", - "text": "\" |\\n```\\n\\n[Try it](/api-reference/customization/stage-diagrams-list?explorer=true)\\n\\n200Retrieved\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | { |\\n| 2 | \"result\": [ |\\n| 3 | { |\\n| 4 | \"id\": \"string\", |\\n| 5 | \"stages\": [ |\\n| 6 | { |\\n| 7 | \"is_deprecated\": true, |\\n| 8 | \"is_start\": true, |\\n| 9 | \"stage\": { |\\n| 10 | \"id\": \"string\", |\\n| 11 | \"display_id\": \"string\", |\\n| 12 | \"name\": \"string\" |\\n| 13 | }, |\\n| 14 | \"transitions\": [ |\\n| 15 | { |\\n| 16 | \"target_stage\": { |\\n| 17 | \"id\":", - "title": "List Stage Diagrams | DevRev | Docs" + "id": "ART-1300_KNOWLEDGE_NODE-235", + "text": "stage.\\nordinal integer Optional\\nThe ordinal of the custom stage.\\nstate_id string Optional\\nThe state ID.\\nResponse.\\n\\nThis endpoint returns an object.\\ncustom_stage object\\nShow 9 properties\\nAPI Reference customization Custom States Create.\\n\\nPOST https:// api.devrev.ai / states.custom.create\\nCreates a custom state.\\nRequest.\\n\\nThis endpoint expects an object.\\nname string Required\\nThe name of the custom state.\\nordinal integer Required\\nOrdinal of the custom state used to identify", + "title": "Create \u2014 DevRev | Docs" }, { - "id": "ART-15354_KNOWLEDGE_NODE-2", - "text": "\"name\": \"string\" |\\n| 13 | }, |\\n| 14 | \"transitions\": [ |\\n| 15 | { |\\n| 16 | \"target_stage\": { |\\n| 17 | \"id\": \"string\", |\\n| 18 | \"display_id\": \"string\", |\\n| 19 | \"name\": \"string\" |\\n| 20 | } |\\n| 21 | } |\\n| 22 | ] |\\n| 23 | } |\\n| 24 | ], |\\n| 25 | \"created_by\": { |\\n| 26 | \"display_id\": \"string\", |\\n| 27 | \"id\": \"string\", |\\n| 28 | \"display_name\": \"string\", |\\n| 29 | \"display_picture\": { |\\n| 30 | \"display_id\": \"string\", |\\n| 31 | \"id\": \"string\", |\\n| 32 | \"file\": { |\\n| 33 | \"type\":", - "title": "List Stage Diagrams (POST) | DevRev | Docs" + "id": "ART-1788_KNOWLEDGE_NODE-235", + "text": "stage.\\nordinal integer Optional\\nThe ordinal of the custom stage.\\nstate_id string Optional\\nThe state ID.\\nResponse.\\n\\nThis endpoint returns an object.\\ncustom_stage object\\nShow 9 properties\\nAPI Reference customization Custom States Create.\\n\\nPOST https:// api.devrev.ai / states.custom.create\\nCreates a custom state.\\nRequest.\\n\\nThis endpoint expects an object.\\nname string Required\\nThe name of the custom state.\\nordinal integer Required\\nOrdinal of the custom state used to identify", + "title": "Get Post \u2014 DevRev | Docs" }, { - "id": "ART-3893_KNOWLEDGE_NODE-4", - "text": "\\n 5| { \\n 6| \"is_deprecated\": true, \\n 7| \"is_start\": true, \\n 8| \"stage\": { \\n 9| \"id\": \"foo\", \\n 10| \"display_id\": \"foo\", \\n 11| \"name\": \"foo\" \\n 12| }, \\n 13| \"transitions\": [ \\n 14| { \\n 15| \"target_stage\": { \\n 16| \"id\": \"foo\", \\n 17| \"display_id\": \"foo\", \\n 18| \"name\": \"foo\" \\n 19|", - "title": "Get Stage Diagram (Beta) \u2014 DevRev | Docs" + "id": "ART-1789_KNOWLEDGE_NODE-235", + "text": "stage.\\nordinal integer Optional\\nThe ordinal of the custom stage.\\nstate_id string Optional\\nThe state ID.\\nResponse.\\n\\nThis endpoint returns an object.\\ncustom_stage object\\nShow 9 properties\\nAPI Reference customization Custom States Create.\\n\\nPOST https:// api.devrev.ai / states.custom.create\\nCreates a custom state.\\nRequest.\\n\\nThis endpoint expects an object.\\nname string Required\\nThe name of the custom state.\\nordinal integer Required\\nOrdinal of the custom state used to identify", + "title": "List \u2014 DevRev | Docs" }, { - "id": "ART-15350_KNOWLEDGE_NODE-2", - "text": "\"is_deprecated\": true, |\\n| 7 | \"is_start\": true, |\\n| 8 | \"stage\": { |\\n| 9 | \"id\": \"string\", |\\n| 10 | \"display_id\": \"string\", |\\n| 11 | \"name\": \"string\" |\\n| 12 | }, |\\n| 13 | \"transitions\": [ |\\n| 14 | { |\\n| 15 | \"target_stage\": { |\\n| 16 | \"id\": \"string\", |\\n| 17 | \"display_id\": \"string\", |\\n| 18 | \"name\": \"string\" |\\n| 19 | } |\\n| 20 | } |\\n| 21 | ] |\\n| 22 | } |\\n| 23 | ], |\\n| 24 | \"created_by\": { |\\n| 25 | \"display_id\": \"string\", |\\n| 26 | \"id\": \"string\", |\\n| 27 | \"display_name\":", - "title": "Create Stage Diagram | DevRev | Docs" + "id": "ART-1803_KNOWLEDGE_NODE-236", + "text": "stage.\\nordinal integer Optional\\nThe ordinal of the custom stage.\\nstate_id string Optional\\nThe state ID.\\nResponse.\\n\\nThis endpoint returns an object.\\ncustom_stage object\\nShow 9 properties\\nAPI Reference customization Custom States Create.\\n\\nPOST https:// api.devrev.ai / states.custom.create\\nCreates a custom state.\\nRequest.\\n\\nThis endpoint expects an object.\\nname string Required\\nThe name of the custom state.\\nordinal integer Required\\nOrdinal of the custom state used to identify", + "title": "List \u2014 DevRev | Docs" }, { - "id": "ART-15353_KNOWLEDGE_NODE-5", - "text": "stage.\\n\\nstate\\\\_idstringOptional`format: \"id\"`\\n\\nThe state ID.\\n\\n### Response\\n\\nSuccess.\\n\\ncustom\\\\_stageobject\\n\\nShow 9 properties\\n\\n### Errors\\n\\n400\\n\\nBad Request Error\\n\\n401\\n\\nUnauthorized Error\\n\\n403\\n\\nForbidden Error\\n\\n404\\n\\nNot Found Error\\n\\n429\\n\\nToo Many Requests Error\\n\\n500\\n\\nInternal Server Error\\n\\n503\\n\\nService Unavailable Error\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/api-reference/customization/custom-stages-list-post)[#### Create States", - "title": "Update Stages Custom | DevRev | Docs" + "id": "ART-1781_KNOWLEDGE_NODE-233", + "text": "stage.\\nordinal integer Optional\\nThe ordinal of the custom stage.\\nstate_id string Optional\\nThe state ID.\\nResponse.\\n\\nThis endpoint returns an object.\\ncustom_stage object\\nShow 9 properties\\nAPI Reference customization Custom States Create.\\n\\nPOST https:// api.devrev.ai / states.custom.create\\nCreates a custom state.\\nRequest.\\n\\nThis endpoint expects an object.\\nname string Required\\nThe name of the custom state.\\nordinal integer Required\\nOrdinal of the custom state used to identify", + "title": "List \u2014 DevRev | Docs" }, { - "id": "ART-3895_KNOWLEDGE_NODE-3", - "text": "\"is_start\": true, \\n 8| \"stage\": { \\n 9| \"id\": \"foo\", \\n 10| \"display_id\": \"foo\", \\n 11| \"name\": \"foo\" \\n 12| }, \\n 13| \"transitions\": [ \\n 14| { \\n 15| \"target_stage\": { \\n 16| \"id\": \"foo\", \\n 17| \"display_id\": \"foo\", \\n 18| \"name\": \"foo\" \\n 19| } \\n 20| } \\n 21| ] \\n 22| } \\n", - "title": "Update Stage Diagram (Beta) \u2014 DevRev | Docs" + "id": "ART-996_KNOWLEDGE_NODE-35", + "text": "is_system: true\\n description: State of the object based upon the stage\\n gateway:\\n is_filterable: true\\n ui:\\n display_name: State\\n is_hidden: true\\n - name: stage\\n devrev_field_type: composite\\n description: Stage of the object\\n is_required: true\\n gateway:\\n api_visibility: public\\n is_filterable: true\\n ui:\\n display_name: Stage\\n is_bulk_action_enabled: true\\n", + "title": "An Example Object Model Style Guide (our actual style guide)" }, { - "id": "ART-3898_KNOWLEDGE_NODE-8", - "text": "}\\n[/code] \\n \\n[Update Stage DiagramUp Next](/beta/api-reference/customization/stage-diagrams-update)\\n\\n[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)\\n\\n[Enterprise grade security to protect customer dataLearn more about it.](https://devrev.ai/blog/soc-compliance)\\n\\nProduct\\n\\n * [Build](https://devrev.ai/build)\\n * [Support](https://devrev.ai/support)\\n * [Search](https://devrev.ai/search)\\n * [PLuG - User", - "title": "List Stage Diagrams (POST) (Beta) \u2014 DevRev | Docs" + "id": "ART-1805_KNOWLEDGE_NODE-236", + "text": "stage.\\nordinal integer Optional\\nThe ordinal of the custom stage.\\nstate_id string Optional\\nThe state ID.\\nResponse.\\n\\nThis endpoint returns an object.\\ncustom_stage object\\nShow 9 properties\\nAPI Reference customization Custom States Create.\\n\\nPOST https:// api.devrev.ai / states.custom.create\\nCreates a custom state.\\nRequest.\\n\\nThis endpoint expects an object.\\nname string Required\\nThe name of the custom state.\\nordinal integer Required\\nOrdinal of the custom state used to identify", + "title": "List Post \u2014 DevRev | Docs" }, { - "id": "ART-3894_KNOWLEDGE_NODE-14", - "text": "__\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[](https://devrev.ai)\\n\\n __\\n\\nProduct __\\n\\nPlatform __\\n\\nSolutions __\\n\\nMarketplace __\\n\\nCompany __\\n\\nResources __\\n\\n[Pricing](https://devrev.ai/pricing)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n'", - "title": "List Stage Diagrams (Beta) \u2014 DevRev | Docs" + "id": "ART-1307_KNOWLEDGE_NODE-236", + "text": "stage.\\nordinal integer Optional\\nThe ordinal of the custom stage.\\nstate_id string Optional\\nThe state ID.\\nResponse.\\n\\nThis endpoint returns an object.\\ncustom_stage object\\nShow 9 properties\\nAPI Reference customization Custom States Create.\\n\\nPOST https:// api.devrev.ai / states.custom.create\\nCreates a custom state.\\nRequest.\\n\\nThis endpoint expects an object.\\nname string Required\\nThe name of the custom state.\\nordinal integer Required\\nOrdinal of the custom state used to identify", + "title": "List Post \u2014 DevRev | Docs" }, { - "id": "ART-3898_KNOWLEDGE_NODE-4", - "text": "11| \"display_id\": \"foo\", \\n 12| \"name\": \"foo\" \\n 13| }, \\n 14| \"transitions\": [ \\n 15| { \\n 16| \"target_stage\": { \\n 17| \"id\": \"foo\", \\n 18| \"display_id\": \"foo\", \\n 19| \"name\": \"foo\" \\n 20| } \\n 21| } \\n 22| ] \\n 23| } \\n 24| ], \\n 25| \"created_by\": { \\n 26|", - "title": "List Stage Diagrams (POST) (Beta) \u2014 DevRev | Docs" + "id": "ART-1791_KNOWLEDGE_NODE-234", + "text": "stage.\\nordinal integer Optional\\nThe ordinal of the custom stage.\\nstate_id string Optional\\nThe state ID.\\nResponse.\\n\\nThis endpoint returns an object.\\ncustom_stage object\\nShow 9 properties\\nAPI Reference customization Custom States Create.\\n\\nPOST https:// api.devrev.ai / states.custom.create\\nCreates a custom state.\\nRequest.\\n\\nThis endpoint expects an object.\\nname string Required\\nThe name of the custom state.\\nordinal integer Required\\nOrdinal of the custom state used to identify", + "title": "Self Delete \u2014 DevRev | Docs" } ] }, @@ -4209,49 +4209,49 @@ "title": "Google Calendar AirSync | Integrate | Snap-ins | DevRev" }, { - "id": "ART-16804_KNOWLEDGE_NODE-26", - "text": "Identities | \\xe2\\x9c\\x85 |\\n| Meetings | Meetings | \\xe2\\x9c\\x85 |\\n\\nImport Google Calendar\\n----------------------\\n\\nFollow the steps below to import from Google Calendar:\\n\\n1. Go to the **Marketplace** and search for **Google Calendar** in the\\n **Import** category, and install.\\n2. Go to the **Import** section in your settings left nav.\\n3. Click **+Import** and select the Google Calendar logo.\\n4. In the **Select Connection** dropdown, choose **Google Calendar**. \\n If a connection", - "title": "Google Calendar AirSync | Integrate | Snap-ins | DevRev" + "id": "ART-2032_KNOWLEDGE_NODE-26", + "text": "section within your DevRev workspace settings.\\n2. Click **Explore Marketplace**.\\n3. Search for **Google Calendar** and click **Install** next to the Google Calendar snap-in.\\n4. In DevRev app, setup the connection in **Settings** > **Snap-ins** > **Connections** on top.\\n\\n * Search and choose an existing connection or create a new one by clicking **+ Connection**.\\n * Select **Google Calendar** from the dowpdown list.\\n * Give it a name and sign in with Google Calendar. Ensure to", + "title": "Google Calendar | Integrate | Snap-ins | DevRev" }, { - "id": "ART-3207_KNOWLEDGE_NODE-28", - "text": "In the top-right corner, select **+ Connection**, choose Google, and enter your connection name and domain name.\\n3. Toggle on **Make public** to make the connection public for your organization and click **Next**.\\n4. Click **Sign in with Google** and add your organization\\xe2\\x80\\x99s Gmail account. If you are already logged in using a different Gmail account select **Use another account** and continue.\\n\\n If you are using Google Groups then use the same Gmail account which has permission", - "title": "Email snap-in configuration | Email | Integrate | Snap-ins | DevRev" + "id": "ART-2032_KNOWLEDGE_NODE-3", + "text": "management](/docs/product/workflow-management)\\n - [Troubleshooting](/docs/product/troubleshooting-workflows)\\n + [Templates](/docs/product/template)\\n + [Accessing DevRev](/docs/product/ui)\\n + [External identity provider setup](/docs/product/sso-saml)\\n + [AI use cases in DevRev](/docs/product/ai-use-cases)\\n + [Remote MCP server](/docs/product/remote-mcp)\\n* [Support](/docs/product/support)\\n\\n + [Inbox](/docs/product/inbox)\\n + [Support", + "title": "Google Calendar | Integrate | Snap-ins | DevRev" }, { - "id": "ART-2032_KNOWLEDGE_NODE-26", - "text": "section within your DevRev workspace settings.\\n2. Click **Explore Marketplace**.\\n3. Search for **Google Calendar** and click **Install** next to the Google Calendar snap-in.\\n4. In DevRev app, setup the connection in **Settings** > **Snap-ins** > **Connections** on top.\\n\\n * Search and choose an existing connection or create a new one by clicking **+ Connection**.\\n * Select **Google Calendar** from the dowpdown list.\\n * Give it a name and sign in with Google Calendar. Ensure to", + "id": "ART-2032_KNOWLEDGE_NODE-15", + "text": "sync](/docs/automations/ticket-linked-issues-comment-sync)\\n - [Slack message agent](/docs/automations/slack-message-agent)\\n + [Integrate](/docs/integrate)\\n\\n - [Bitbucket](/docs/integrations/bitbucket)\\n - [Calendly](/docs/integrations/calendly)\\n - [Coralogix security integration](/docs/integrations/coralogix)\\n - [Datadog](/docs/integrations/datadog)\\n - [Google Calendar](/docs/integrations/google-calendar)\\n - [Email](/docs/integrations/email)\\n\\n * [Email", "title": "Google Calendar | Integrate | Snap-ins | DevRev" }, { - "id": "ART-3207_KNOWLEDGE_NODE-27", - "text": "connection\\n--------------------------\\n\\nIf you are using Google as the mail provider, refer to **Gmail connection**; if you are using custom domains or other providers, refer to **Email connection**.\\n\\nGmail connection\\n\\nYou must be a part of the group and have permission to send emails to the Google Group. This approach doesn\\'t work with generic Google Groups ending with @googlegroups.com.\\n\\n1. In the DevRev app, go to **Settings > Integrations > Snap-ins** and click **Connections**.\\n2.", - "title": "Email snap-in configuration | Email | Integrate | Snap-ins | DevRev" + "id": "ART-2737_KNOWLEDGE_NODE-16", + "text": "+ [Integrate](/docs/integrate)\\n\\n - [Bitbucket](/docs/integrations/bitbucket)\\n - [Calendly](/docs/integrations/calendly)\\n - [Coralogix security integration](/docs/integrations/coralogix)\\n - [Datadog](/docs/integrations/datadog)\\n - [Google Calendar AirSync](/docs/integrations/google-calendar-airdrop)\\n - [Email](/docs/integrations/email)\\n\\n * [Email snap-in configuration](/docs/integrations/email-config)\\n - [Exotel](/docs/integrations/exotel)\\n -", + "title": "Smart issue creator | Automate | Snap-ins | DevRev" }, { - "id": "ART-2032_KNOWLEDGE_NODE-27", - "text": "toggle on **Make public** to make the connection public for your organization.\\n\\n#### Organization calendar sync\\n\\n1. Update the snap-in configurations as needed.\\n\\n * **Internal Domains**: List of internal domains to be considered as internal users.\\n * **Calendar ID**: ID of Google calendar to be synced to DevRev. The default is primary.\\n * **Exclude Matching Events**: Excludes event if their title starts or ends with the specified string. Default is -.\\n * **Skip Events With", - "title": "Google Calendar | Integrate | Snap-ins | DevRev" + "id": "ART-16804_KNOWLEDGE_NODE-3", + "text": "- [Workflow nodes](/docs/product/workflow-nodes)\\n - [Troubleshooting](/docs/product/troubleshooting-workflows)\\n + [Templates](/docs/product/template)\\n + [Accessing DevRev](/docs/product/ui)\\n + [External identity provider setup](/docs/product/sso-saml)\\n + [Remote MCP server](/docs/product/remote-mcp)\\n* [Computer for Support Teams](/docs/product/support)\\n\\n + [Inbox](/docs/product/inbox)\\n + [Support analytics](/docs/product/support-analytics)\\n\\n - [Conversation", + "title": "Google Calendar AirSync | Integrate | Snap-ins | DevRev" }, { - "id": "ART-2032_KNOWLEDGE_NODE-29", - "text": "as customers.\\n\\n* **Track meetings from free email domains**: Enable this feature to capture meetings scheduled by non-work email addresses, such as those from gmail.com or yahoo.com.\\n* **Recurring days**: Number of days in advance for recurring events to be synced. Default is 7 days.\\n\\n The recurring events inside the specified advance days are created, that is, if 7 days is specified, then all recurring events in next 7 days are created.\\n\\n1. Install the snap-in.\\n\\n#### User calendar", + "id": "ART-2032_KNOWLEDGE_NODE-12", + "text": "creator](/docs/automations/smart-issue-creator)\\n - [Set user preference for group](/docs/automations/set-user-preference)\\n - [SLA status change Slack notifier](/docs/automations/sla-change-notifier)\\n - [Slash commands](/docs/automations/slash-commands)\\n - [Spam Shield](/docs/automations/spam-shield)\\n - [Subtype Migration](/docs/automations/subtype-migration)\\n - [Ticket age in engineering](/docs/automations/ticket-age-in-engineering)\\n - [Ticket issue field", "title": "Google Calendar | Integrate | Snap-ins | DevRev" }, { - "id": "ART-2025_KNOWLEDGE_NODE-26", - "text": "**Explore Marketplace**.\\n3. Search for **Calendly** and click **Install** next to the Calendly snap-in.\\n4. In DevRev app, setup the connection in **Settings** > **Snap-ins** > **Connections** on top.\\n\\n * Search and choose an existing connection or create a new one by clicking **+ Connection**.\\n * Select **Snap-In Secret** from the dowpdown list.\\n * Give it a name and paste your Calendly personal access token in the **Secret** field. Toggle on **Make public** if you want to make the", - "title": "Calendly | Integrate | Snap-ins | DevRev" + "id": "ART-3207_KNOWLEDGE_NODE-16", + "text": "sync](/docs/automations/ticket-linked-issues-comment-sync)\\n - [Slack message agent](/docs/automations/slack-message-agent)\\n + [Integrate](/docs/integrate)\\n\\n - [Bitbucket](/docs/integrations/bitbucket)\\n - [Calendly](/docs/integrations/calendly)\\n - [Coralogix security integration](/docs/integrations/coralogix)\\n - [Datadog](/docs/integrations/datadog)\\n - [Google Calendar AirSync](/docs/integrations/google-calendar-airdrop)\\n - [Email](/docs/integrations/email)\\n\\n", + "title": "Email snap-in configuration | Email | Integrate | Snap-ins | DevRev" }, { - "id": "ART-2032_KNOWLEDGE_NODE-16", - "text": "snap-in configuration](/docs/integrations/email-config)\\n - [Exotel](/docs/integrations/exotel)\\n - [Slack](/docs/integrations/slack)\\n - [WhatsApp](/docs/integrations/whatsapp)\\n - [GitHub](/docs/integrations/github)\\n - [GitLab](/docs/integrations/gitlab)\\n - [Harness](/docs/integrations/harness)\\n - [Marker.io](/docs/integrations/marker-io)\\n - [Instabug](/docs/integrations/instabug)\\n - [Qase](/docs/integrations/qase)\\n - [Tracxn", - "title": "Google Calendar | Integrate | Snap-ins | DevRev" + "id": "ART-2874_KNOWLEDGE_NODE-16", + "text": "+ [Integrate](/docs/integrate)\\n\\n - [Bitbucket](/docs/integrations/bitbucket)\\n - [Calendly](/docs/integrations/calendly)\\n - [Coralogix security integration](/docs/integrations/coralogix)\\n - [Datadog](/docs/integrations/datadog)\\n - [Google Calendar AirSync](/docs/integrations/google-calendar-airdrop)\\n - [Email](/docs/integrations/email)\\n\\n * [Email snap-in configuration](/docs/integrations/email-config)\\n - [Exotel](/docs/integrations/exotel)\\n -", + "title": "Ticket issue field migrator | Automate | Snap-ins | DevRev" }, { - "id": "ART-16804_KNOWLEDGE_NODE-33", - "text": "Sync](#set-up-periodic-sync)\\n* [Delete an import](#delete-an-import)\\n\\n[Enterprise grade security to protect customer data\\n\\nLearn more about it.\\n\\n![]()](/blog/soc-compliance)\\n\\nComputer\\n\\n* [Meet Computer](/meet-computer)\\n* [How Computer works](/how-computer-works)\\n\\nApps\\n\\n* [For Support Teams](/for-support-teams)\\n* [For Builders](/for-builders)\\n* [For Customers](/for-customers)\\n* [For User Insights](/for-user-insights)\\n*", - "title": "Google Calendar AirSync | Integrate | Snap-ins | DevRev" + "id": "ART-2599_KNOWLEDGE_NODE-33", + "text": "rule.\\n\\n![]()\\n\\nOnce the above setup is complete, file a support ticket with DevRev to enable\\nthe Incident object in your workspace.\\n\\n[PreviousCoralogix security integration](/docs/integrations/coralogix)[NextGoogle Calendar AirSync](/docs/integrations/google-calendar-airdrop)\\n\\n#### On this page\\n\\n* [Installation](#installation)\\n* [Configuration](#configuration)\\n\\n[Enterprise grade security to protect customer data\\n\\nLearn more about", + "title": "Datadog | Integrate | Snap-ins | DevRev" } ] }, @@ -4270,24 +4270,29 @@ "title": "Links | DevRev | Docs" }, { - "id": "ART-12390_KNOWLEDGE_NODE-39", - "text": "to update * subtype: (Optional) Ticket subtype * apps: (Optional) Related apps * app\\\\_custom\\\\_fields: (Optional) Custom fields * stage: (Optional) New stage | Updated ticket object |\\n\\nObject links\\n------------\\n\\n| Operation | Description | Input Parameters | Output |\\n| --- | --- | --- | --- |\\n| LinkConversationWithTicket | Creates a link between a conversation and a ticket. | * source: Conversation ID * link\\\\_type: Type of link (usually \"is\\\\_related\\\\_to\") * target: Ticket ID | Empty", - "title": "Workflow action library | Workflows | Computer by DevRev | DevRev" + "id": "ART-15664_KNOWLEDGE_NODE-13", + "text": "\\n\\nYou may want to restrict links to specific subtypes of objects. For example, only allowing issues\\nof a particular subtype to be linked to tickets.\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl --location \\'https://api.devrev.ai/link-types.custom.create\\' \\\\ |\\n| > | --header \\'Content-Type: application/json\\' \\\\ |\\n| > | --header \\'Authorization: Bearer \\' \\\\ |\\n| > | --data \\'{ |\\n| > | \"name\": \"Link between social media issues and tickets\", |\\n| > | \"source_types\": [ |\\n| > | { |\\n|", + "title": "Links | DevRev | Docs" }, { - "id": "ART-15664_KNOWLEDGE_NODE-5", - "text": "Supported object types\\n\\nLinks can be created between the following object types:\\n\\n* custom object\\n* work (issue, ticket, task, opportunity)\\n* account, user\\n* part (product, capability, feature, enhancement)\\n\\nFor more details on customization or custom object concepts, please refer to the documentation below:\\n\\n* [Customization](/beta/guides/object-customization)\\n* [Custom objects](/beta/guides/custom-objects)\\n\\nCreate link types\\n-----------------\\n\\n##### \\n\\nLet\\xe2\\x80\\x99s say", - "title": "Links | DevRev | Docs" + "id": "ART-1302_KNOWLEDGE_NODE-201", + "text": "expects an object.\\ncode string Required\\nCode to exchange for an access token.\\nstate string Required\\nState value given to the authorization request.\\nAPI Reference customization Custom Link Type Create.\\n\\nPOST https:// api.devrev.ai / link-types.custom.create\\nCreates a custom link type.\\nRequest.\\n\\nThis endpoint expects an object.\\nbackward_name string Required\\nThe name of the link in the backward direction.\\nforward_name string Required\\nThe name of the link in the forward", + "title": "Export \u2014 DevRev | Docs" }, { - "id": "ART-15664_KNOWLEDGE_NODE-16", - "text": "\\'https://api.devrev.ai/link-types.custom.update\\' \\\\ |\\n| > | --header \\'Content-Type: application/json\\' \\\\ |\\n| > | --header \\'Authorization: Bearer \\' \\\\ |\\n| > | --data \\'{ |\\n| > | \"id\": \"don:core:dvrv-us-1:devo/demo:custom_link_type/1\", |\\n| > | \"is_deprecated\": true |\\n| > | }\\' |\\n```\\n\\nQuick reference: links from tickets, and issues\\n-----------------------------------------------\\n\\n##### \\n\\nThis section lists common links you can create from tickets and issues. It is not an", - "title": "Links | DevRev | Docs" + "id": "ART-1785_KNOWLEDGE_NODE-195", + "text": "expects an object.\\ncode string Required\\nCode to exchange for an access token.\\nstate string Required\\nState value given to the authorization request.\\nAPI Reference customization Custom Link Type Create.\\n\\nPOST https:// api.devrev.ai / link-types.custom.create\\nCreates a custom link type.\\nRequest.\\n\\nThis endpoint expects an object.\\nbackward_name string Required\\nThe name of the link in the backward direction.\\nforward_name string Required\\nThe name of the link in the forward", + "title": "Create \u2014 DevRev | Docs" }, { - "id": "ART-15664_KNOWLEDGE_NODE-13", - "text": "\\n\\nYou may want to restrict links to specific subtypes of objects. For example, only allowing issues\\nof a particular subtype to be linked to tickets.\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl --location \\'https://api.devrev.ai/link-types.custom.create\\' \\\\ |\\n| > | --header \\'Content-Type: application/json\\' \\\\ |\\n| > | --header \\'Authorization: Bearer \\' \\\\ |\\n| > | --data \\'{ |\\n| > | \"name\": \"Link between social media issues and tickets\", |\\n| > | \"source_types\": [ |\\n| > | { |\\n|", - "title": "Links | DevRev | Docs" + "id": "ART-1792_KNOWLEDGE_NODE-199", + "text": "expects an object.\\ncode string Required\\nCode to exchange for an access token.\\nstate string Required\\nState value given to the authorization request.\\nAPI Reference customization Custom Link Type Create.\\n\\nPOST https:// api.devrev.ai / link-types.custom.create\\nCreates a custom link type.\\nRequest.\\n\\nThis endpoint expects an object.\\nbackward_name string Required\\nThe name of the link in the backward direction.\\nforward_name string Required\\nThe name of the link in the forward", + "title": "Update \u2014 DevRev | Docs" + }, + { + "id": "ART-1308_KNOWLEDGE_NODE-198", + "text": "expects an object.\\ncode string Required\\nCode to exchange for an access token.\\nstate string Required\\nState value given to the authorization request.\\nAPI Reference customization Custom Link Type Create.\\n\\nPOST https:// api.devrev.ai / link-types.custom.create\\nCreates a custom link type.\\nRequest.\\n\\nThis endpoint expects an object.\\nbackward_name string Required\\nThe name of the link in the backward direction.\\nforward_name string Required\\nThe name of the link in the forward", + "title": "Update \u2014 DevRev | Docs" }, { "id": "ART-15664_KNOWLEDGE_NODE-12", @@ -4295,19 +4300,14 @@ "title": "Links | DevRev | Docs" }, { - "id": "ART-2139_KNOWLEDGE_NODE-0", - "text": "b'Create Link Types Custom | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nBeta\\n\\nBeta\\n\\nBeta\\n\\nSearch\\n\\n`/`\\n\\n[API Reference](/beta/api-reference/accounts/create)[customization](/beta/api-reference/customization/custom-objects-count)\\n\\nCreate Link Types Custom\\n========================\\n\\nBeta\\n\\nCopy page\\n\\nPOST\\n\\nhttps://api.devrev.ai/link-types.custom.create\\n\\nPOST\\n\\n/link-types.custom.create\\n\\ncURL\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl -X POST", - "title": "Create Link Types Custom | DevRev | Docs" - }, - { - "id": "ART-2139_KNOWLEDGE_NODE-8", - "text": "helpful?\\n\\nYesNo\\n\\n[Previous](/beta/api-reference/customization/custom-objects-update)[#### Get Link Types Custom\\n\\nNext](/beta/api-reference/customization/custom-link-type-get)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", - "title": "Create Link Types Custom | DevRev | Docs" + "id": "ART-1301_KNOWLEDGE_NODE-201", + "text": "expects an object.\\ncode string Required\\nCode to exchange for an access token.\\nstate string Required\\nState value given to the authorization request.\\nAPI Reference customization Custom Link Type Create.\\n\\nPOST https:// api.devrev.ai / link-types.custom.create\\nCreates a custom link type.\\nRequest.\\n\\nThis endpoint expects an object.\\nbackward_name string Required\\nThe name of the link in the backward direction.\\nforward_name string Required\\nThe name of the link in the forward", + "title": "Delete \u2014 DevRev | Docs" }, { - "id": "ART-2139_KNOWLEDGE_NODE-1", - "text": "https://api.devrev.ai/link-types.custom.create \\\\ |\\n| > | -H \"Authorization: Bearer \" \\\\ |\\n| > | -H \"Content-Type: application/json\" \\\\ |\\n| > | -d \\'{ |\\n| > | \"backward_name\": \"string\", |\\n| > | \"forward_name\": \"string\", |\\n| > | \"name\": \"string\", |\\n| > | \"source_types\": [ |\\n| > | {} |\\n| > | ], |\\n| > | \"target_types\": [ |\\n| > | {} |\\n| > | ] |\\n| > | }\\' |\\n```\\n\\n[Try it](/beta/api-reference/customization/custom-link-type-create?explorer=true)\\n\\n201Created\\n\\n```\\n| | |\\n|", - "title": "Create Link Types Custom | DevRev | Docs" + "id": "ART-1786_KNOWLEDGE_NODE-196", + "text": "expects an object.\\ncode string Required\\nCode to exchange for an access token.\\nstate string Required\\nState value given to the authorization request.\\nAPI Reference customization Custom Link Type Create.\\n\\nPOST https:// api.devrev.ai / link-types.custom.create\\nCreates a custom link type.\\nRequest.\\n\\nThis endpoint expects an object.\\nbackward_name string Required\\nThe name of the link in the backward direction.\\nforward_name string Required\\nThe name of the link in the forward", + "title": "Delete \u2014 DevRev | Docs" } ] }, @@ -4316,54 +4316,54 @@ "query": "where can I view my articles in DevRev", "retrievals": [ { - "id": "ART-4065_KNOWLEDGE_NODE-4", - "text": "* [Blog](https://devrev.ai/blog)\\n * [Events](https://devrev.ai/events)\\n * [News](https://devrev.ai/blog?category=news)\\n * [Case Studies](https://devrev.ai/case-study)\\n * [Documentation](https://docs.devrev.ai/)\\n * [API Reference](https://docs.devrev.ai/api/)\\n * [The Book of DevRev](https://thebook.devrev.ai/)\\n * [Partner Program](https://devrev.ai/partners)\\n * [Startup Program](https://devrev.ai/startups)\\n\\nCompany\\n\\n * [About](https://devrev.ai/about)\\n *", - "title": "Delete Article \u2014 DevRev | Docs" + "id": "ART-1980_KNOWLEDGE_NODE-29", + "text": "by customers through the Plug widget and customer portal.\\n\\nIn the Plug widget, articles are available in two places: the search bar and the Help section.\\n\\n**Search bar**\\n\\n![]()\\n\\n**Help section**\\n\\n![]()\\n\\nUsers can also view articles grouped into collections by visiting your help center hosted on your website. The visibility of collections and articles depends on the **Visible to** settings configured.\\n\\n[### Articles](/docs/product/articles)[###", + "title": "Knowledge Base | Computer for Support Teams | DevRev" }, { - "id": "ART-4064_KNOWLEDGE_NODE-19", - "text": "[Documentation](https://docs.devrev.ai/)\\n * [API Reference](https://docs.devrev.ai/api/)\\n * [The Book of DevRev](https://thebook.devrev.ai/)\\n * [Partner Program](https://devrev.ai/partners)\\n * [Startup Program](https://devrev.ai/startups)\\n\\nCompany\\n\\n * [About](https://devrev.ai/about)\\n * [People](https://devrev.ai/people)\\n * [Careers](https://devrev.ai/careers)\\n * [Places](https://devrev.ai/places)\\n * [Invest](https://revd.devrev.ai/)\\n * [What Why", - "title": "Create Article \u2014 DevRev | Docs" + "id": "ART-1978_KNOWLEDGE_NODE-36", + "text": "base** > **Articles** and click **+Articles**. From there, you can either add a link to your article or upload articles directly from your device. Once you have added the articles, you can specify their status as either *Draft* or *Published*.\\nOnce the articles are published, your customers are able to search for them on the customer portal by entering their queries in the search bar.\\n\\nTo know more, refer to [articles](./articles)\\n\\nCustomize the customer", + "title": "Customer portal | Computer for Support Teams | DevRev" }, { - "id": "ART-4065_KNOWLEDGE_NODE-8", - "text": "Inc.\\n\\n[](https://devrev.ai)\\n\\n * Product\\n * Platform\\n * Solutions\\n * Marketplace\\n * Company\\n * Resources\\n * [Pricing](https://devrev.ai/pricing)\\n\\n __\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[](https://devrev.ai)\\n\\n __\\n\\nProduct __\\n\\nPlatform __\\n\\nSolutions __\\n\\nMarketplace __\\n\\nCompany __\\n\\nResources __\\n\\n[Pricing](https://devrev.ai/pricing)\\n\\n[Login](https://app.devrev.ai/login)[Book a", - "title": "Delete Article \u2014 DevRev | Docs" + "id": "ART-4068_KNOWLEDGE_NODE-0", + "text": "b'[](/public/api-reference/articles/list-articles)\\n\\nPublic\\n\\n[](https://devrev.ai)\\n\\n * Product\\n * Platform\\n * Solutions\\n * Marketplace\\n * Company\\n * Resources\\n * [Pricing](https://devrev.ai/pricing)\\n\\n __\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[](https://devrev.ai)\\n\\n __\\n\\nProduct __\\n\\nPlatform __\\n\\nSolutions __\\n\\nMarketplace __\\n\\nCompany __\\n\\nResources", + "title": "List Articles \u2014 DevRev | Docs" }, { - "id": "ART-4070_KNOWLEDGE_NODE-21", - "text": "__\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[](https://devrev.ai)\\n\\n __\\n\\nProduct __\\n\\nPlatform __\\n\\nSolutions __\\n\\nMarketplace __\\n\\nCompany __\\n\\nResources __\\n\\n[Pricing](https://devrev.ai/pricing)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n'", - "title": "Update Article \u2014 DevRev | Docs" + "id": "ART-4066_KNOWLEDGE_NODE-0", + "text": "b'[](/public/api-reference/articles/get-article)\\n\\nPublic\\n\\n[](https://devrev.ai)\\n\\n * Product\\n * Platform\\n * Solutions\\n * Marketplace\\n * Company\\n * Resources\\n * [Pricing](https://devrev.ai/pricing)\\n\\n __\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[](https://devrev.ai)\\n\\n __\\n\\nProduct __\\n\\nPlatform __\\n\\nSolutions __\\n\\nMarketplace __\\n\\nCompany __\\n\\nResources", + "title": "Get Article \u2014 DevRev | Docs" }, { - "id": "ART-4065_KNOWLEDGE_NODE-5", - "text": "[People](https://devrev.ai/people)\\n * [Careers](https://devrev.ai/careers)\\n * [Places](https://devrev.ai/places)\\n * [Invest](https://revd.devrev.ai/)\\n * [What Why How](https://devrev.ai/what-why-how)\\n\\nConnect\\n\\n * [Contact ](mailto:humansofdevrev@devrev.ai)\\n * [Instagram ](https://www.instagram.com/devrev)\\n * [Medium ](https://medium.com/devrev)\\n * [Linkedin ](https://www.linkedin.com/company/devrev)\\n * [X (formerly Twitter)](https://twitter.com/devrev)\\n *", - "title": "Delete Article \u2014 DevRev | Docs" + "id": "ART-1985_KNOWLEDGE_NODE-35", + "text": "and no longer required can be removed by archiving them.\\n\\nVisibility settings\\n-------------------\\n\\n### Article visibility\\n\\nTo control who can view the articles, open the **Visible to** menu. This displays all external groups that the article can be shared with. By default, the following groups are available:\\n\\n* **Customers**: Allows public access without verification.\\n\\n ![]()\\n\\n Public access requires the public portal to be enabled. If the public portal is not enabled, only", + "title": "Articles | Knowledge Base | Computer for Support Teams | DevRev" }, { - "id": "ART-1985_KNOWLEDGE_NODE-51", - "text": "Submitted for review\\n + *Ready to Publish*: All reviewers have approved\\n\\nArticle analytics\\n-----------------\\n\\nArticle analytics in DevRev provides a customized prebuilt dashboard to assess whether customers can find relevant articles to address their queries.\\n\\nAccess analytics under **Settings** > **Support** > **Article analytics**.\\n\\nThe dashboard shows the effectiveness of your knowledge base for both customers and internal employees with these metrics:\\n\\n* Viewership: Total", + "id": "ART-1985_KNOWLEDGE_NODE-32", + "text": "Base**](https://app.devrev.ai/?setting=knowledge-base%2Farticles) and select the article you want to edit. The article opens in an additional window on top of the knowledge base view.\\n Select the full screen mode icon to expand the article view.\\n2. Click the pen icon in the top right corner of the article to make the article editable.\\n3. Make the necessary changes and click **Save** or **Publish**.\\n\\n * If you **Save** the article, the changes are saved as a new draft version. Edits are", "title": "Articles | Knowledge Base | Computer for Support Teams | DevRev" }, { - "id": "ART-1985_KNOWLEDGE_NODE-24", - "text": "[Product demos](/docs/DevRevU/demos)\\n\\nOn this page\\n\\n* [Article management](#article-management)\\n* [Create an article](#create-an-article)\\n* [Edit article content and settings](#edit-article-content-and-settings)\\n* [Delete articles](#delete-articles)\\n* [Bulk change options](#bulk-change-options)\\n* [Status settings](#status-settings)\\n* [Visibility settings](#visibility-settings)\\n* [Article visibility](#article-visibility)\\n* [Storage limits for", + "id": "ART-1985_KNOWLEDGE_NODE-36", + "text": "verified (signed-in) customers can view the article.\\n* **Verified Customers**: Limits visibility to customers signed in to the customer portal.\\n* **Customer Admins**: Restricts access to a subset of verified customers in the **Customer Admin** group. Membership in this group is managed through [**Settings** > **Customer Management** > **Segments**](https://app.devrev.ai/?setting=segments)\\\\*.\\n\\n ![]()\\n\\n If an article is for internal use only, leave the **Visible to** field blank.\\n\\n###", "title": "Articles | Knowledge Base | Computer for Support Teams | DevRev" }, { - "id": "ART-4065_KNOWLEDGE_NODE-9", - "text": "demo](https://devrev.ai/request-a-demo)\\n\\n'", - "title": "Delete Article \u2014 DevRev | Docs" + "id": "ART-15716_KNOWLEDGE_NODE-19", + "text": "DevRev documentation or contact support for CSV-specific workflows.\\n\\nTroubleshooting Missing Migrated Articles\\n\\nIf you can\\xe2\\x80\\x99t find your migrated articles:\\n\\nDouble-check the knowledge base section in your DevRev workspace.\\n\\nConfirm with your admin or implementation team which articles were migrated and to which workspace or project.\\n\\nSometimes, articles may be in draft/unpublished state or linked to a different part of the product.\\n\\nIf you still can\\xe2\\x80\\x99t locate", + "title": "Support queries related playbook" }, { - "id": "ART-4066_KNOWLEDGE_NODE-0", - "text": "b'[](/public/api-reference/articles/get-article)\\n\\nPublic\\n\\n[](https://devrev.ai)\\n\\n * Product\\n * Platform\\n * Solutions\\n * Marketplace\\n * Company\\n * Resources\\n * [Pricing](https://devrev.ai/pricing)\\n\\n __\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](https://devrev.ai/request-a-demo)\\n\\n[](https://devrev.ai)\\n\\n __\\n\\nProduct __\\n\\nPlatform __\\n\\nSolutions __\\n\\nMarketplace __\\n\\nCompany __\\n\\nResources", - "title": "Get Article \u2014 DevRev | Docs" + "id": "ART-2666_KNOWLEDGE_NODE-29", + "text": "views\\n\\nAn **Explore** section has been introduced where all your shared, personal, and sprint boards are now conveniently located.\\n\\nTo access your boards and views, navigate to **Explore** in the left navigation menu. The **Explore** section is divided into three categories:\\n\\n * **Stock Views** : Default views provided by DevRev.\\n * **My Views** : Views that you have created.\\n * **Shared** : Views that have been shared with you or your organization.\\n\\n#### Search and filter options", + "title": "October 5: Left navigation | Changelog | DevRev" }, { - "id": "ART-4068_KNOWLEDGE_NODE-19", - "text": "[About](https://devrev.ai/about)\\n * [People](https://devrev.ai/people)\\n * [Careers](https://devrev.ai/careers)\\n * [Places](https://devrev.ai/places)\\n * [Invest](https://revd.devrev.ai/)\\n * [What Why How](https://devrev.ai/what-why-how)\\n\\nConnect\\n\\n * [Contact ](mailto:humansofdevrev@devrev.ai)\\n * [Instagram ](https://www.instagram.com/devrev)\\n * [Medium ](https://medium.com/devrev)\\n * [Linkedin ](https://www.linkedin.com/company/devrev)\\n * [X (formerly", - "title": "List Articles \u2014 DevRev | Docs" + "id": "ART-1985_KNOWLEDGE_NODE-34", + "text": "delete an article.\\n\\n### Bulk change options\\n\\nIn the main knowledge base view, you can select multiple articles to delete articles in bulk or to modify article settings, such as transitioning multiple articles from *Draft* to *Published* stage.\\n\\nStatus settings\\n---------------\\n\\n* *Draft*: The article isn't ready to be released to the public. You can make edits at this stage.\\n* *Published*: The article has already been released to the public.\\n* *Archived*: Articles that are outdated", + "title": "Articles | Knowledge Base | Computer for Support Teams | DevRev" } ] }, @@ -4372,24 +4372,19 @@ "query": "Next Best Action recommendations based on case context and history", "retrievals": [ { - "id": "ART-2133_KNOWLEDGE_NODE-56", - "text": "now.\\n\\n\\n\\nTime Travel (Context | Hisory) Hyper-Personalized Ontology | Fine-Tuning Predictive vs. Proactive Beyond SLAs Gustomer-Centric Lowest Latency Notifications Mobile-First User-over-Buyer Grassrocts Community | Word-of-Mouth Design-First | Consumer- Grade\\n\\n\\n\\nDeep Work | LLIs before Channels Cravi-n-index Everything Enterprise Shortcuts Discern Real Time Iterventions No Human-inthe-Loop Defloct L Deduplicate Text2SQL | Text2Visualization | TextdManagers Toxt2Logacy Voice for", - "title": "The Essential Methodology: Less but Better" - }, - { - "id": "ART-2133_KNOWLEDGE_NODE-22", - "text": "suboptimal decisions. Only by going back in time can best decisions be taken.\\n\\n\\n\\nFine Tuning Customer ontologies \\xe2\\x80\\x93 {product, process, organization, skills} taxonomy, and people identities \\xe2\\x80\\x93 are extremely important in this day and age of AI to make models accurate and relevant within an enterprise. The Essential methodology embraces model \\xef\\xac\\x81ne-tuning as a necessary tenet of hyper-personalization.\\n\\nPredictive Servicing A large proportion of businesses are", - "title": "The Essential Methodology: Less but Better" + "id": "ART-2134_KNOWLEDGE_NODE-1", + "text": "products, and deeper connections with users.\\n\\nThe customer-centric pillar emphasizes the importance of hyper-personalization, which involves establishing a deeper understanding of the customer's context and history. It also highlights the need for time travel (tracking historical changes), \\xef\\xac\\x81ne-tuning customer models, predictive servicing, grassroots focus (engaging end-users), zero-touch experiences, word-of-mouth communities, and design workshops with users.\\n\\nThe product-led", + "title": "The Essential Methodology: Executive Summary" }, { - "id": "ART-13178_KNOWLEDGE_NODE-44", - "text": "action demonstrates this approach.\\n * **Goal-based agents** evaluate actions based on how they contribute to achieving specific objectives. DevRev\\xe2\\x80\\x99s product development AI agents exemplify this approach by coordinating activities specifically designed to meet release deadlines and quality targets.\\n * **Utility-based agents** use sophisticated evaluation mechanisms to maximize overall benefit across multiple objectives. For instance, a marketing campaign optimizer might balance", + "id": "ART-13178_KNOWLEDGE_NODE-25", + "text": "complete solutions at first contact. For complex cases, they provide human specialists with AI-recommended actions based on similar historical tickets. \\nThe platform\\xe2\\x80\\x99s session replay feature offers visual context of user problems without relying on vague descriptions. This unified approach eliminates time wasted switching between disconnected tools, allowing support teams to focus on complex problem-solving while the AI powered agents handle routine diagnostics and", "title": "Understanding Agentic AI: Capabilities and Implications for the Future" }, { - "id": "ART-15621_KNOWLEDGE_NODE-17", - "text": "activity patterns for context-aware results\"\\n\\nBattle Tactic : Demonstrate comprehensive data access in head-to-head comparisons\\n\\n2. Conversational Analytics & Workflows\\n\\nPositioning : \"DevRev\\'s Search Agent combines search with deep object relationships, delivering conversational analytics and RCA through natural conversations while proactively surfacing business-critical patterns\"\\n\\nBattle Tactic : Show workflow automation and analytics capabilities that Glean cannot deliver\\n\\n3.", - "title": "Glean - Competitive - for the PLuG on website" + "id": "ART-2133_KNOWLEDGE_NODE-20", + "text": "partner, and this can get onerous, both for the customer and the service provider hosting highly customized products in their cloud without sacri\\xef\\xac\\x81cing economies of scale in operations.\\n\\nIn essence, personalization is a double-edged sword. It is extremely important to design it in a way that choice and simplicity go hand-in-hand. But essential thinking goes beyond personalization to what is called hyper-personalization \\xe2\\x80\\x93 establishing the context and history of the", + "title": "The Essential Methodology: Less but Better" }, { "id": "ART-13178_KNOWLEDGE_NODE-43", @@ -4397,29 +4392,34 @@ "title": "Understanding Agentic AI: Capabilities and Implications for the Future" }, { - "id": "ART-1954_KNOWLEDGE_NODE-35", - "text": "determined by the type of action, rather than solely by the actor performing the action.\\n\\nExamples:\\n\\n* If mentions are set to **Important** and a bot's notifications are set to **Others**, then bot mentions will only appear in the **Others** tab.\\n* If mentions are set to **Important** and a bot's notifications are also set to **Important**, then bot mentions will appear in the **Important** tab.\\n* If mentions are set to **Others** and a bot's notifications are set to **Important**, then", - "title": "Updates | Computer by DevRev | DevRev" + "id": "ART-2133_KNOWLEDGE_NODE-6", + "text": "and squeakiest wheels, and years of history that is lost when the account manager quits.\\n\\nContext is the most di\\xef\\xac\\x83cult thing to establish, and despite that, all we have is a single relationship manager who barely orchestrates quarterly business reviews (QBRs). Wouldn\\xe2\\x80\\x99t we want the context of the customer to be at the tip of everyone\\xe2\\x80\\x99s \\xef\\xac\\x81ngers \\xe2\\x80\\x93 sales engineers, marketing managers (doing ABM), customer support and success managers and", + "title": "The Essential Methodology: Less but Better" }, { - "id": "ART-1989_KNOWLEDGE_NODE-37", - "text": "follow a common structure for easy categorization and search. If you have common themes or categories, the exact convention is up to you to standardize for your teams.\\n\\n One possible convention is Category-Subcategory-Specific command subject. For example:\\n\\n + Rerouting-Reroute to payments-Refund\\n + Rerouting-Reroute to payments-Payment failure\\n + Rerouting-Reroute to Sales\\n\\n[PreviousBest practices for documentation that supports AI](/docs/product/writing-bp)[NextService-level", - "title": "Commands | Computer for Support Teams | DevRev" + "id": "ART-3880_KNOWLEDGE_NODE-11", + "text": "collaboration\\n* Comprehensive view of customer context and history\\n* Reduced time to resolve complex issues\\n* Improved support team efficiency\\n* Transformed support agent capabilities\\n* Scalable support infrastructure\\n* Foundation for AI-powered future enhancements\\n\\nLooking ahead\\n-------------\\n\\nOrum sees their work with DevRev as just the first step toward even better customer support through AI-powered tools. Brian shared his excitement:\\n\\nDanny (Orum\\xe2\\x80\\x99s head of support)", + "title": "How Orum built a collaborative, AI-ready support engine" }, { - "id": "ART-1995_KNOWLEDGE_NODE-30", - "text": "a continuous planning approach that allows you to prioritize work in a more intuitive way.\\n\\n When creating an issue, you can categorize it under the following buckets:\\n\\n + **Now:** What is currently being executed.\\n + **Next:** Estimate of what will be worked on within a specific timeframe.\\n + **Backlog/Later:** Prioritized issues expected to be committed to in a later timeframe.\\n + **Triage:** Triage is a process to prioritize work items (issues or tickets) based on severity, risk,", - "title": "Build best practices | Computer for Builders | DevRev" + "id": "ART-13178_KNOWLEDGE_NODE-32", + "text": "satisfaction and loyalty. Organizations deploying such agentic artificial intelligence systems consistently see improved [customer retention metrics](/blog/customer-retention-rate).\\n\\nIn retail, AI agents remember preferences and anticipate needs. In healthcare, they customize care recommendations based on patient history.\\n\\n### Informed decision-making\\n\\nAutonomous agents process vast data streams in real time, providing actionable insights for smarter decisions. By detecting patterns and", + "title": "Understanding Agentic AI: Capabilities and Implications for the Future" }, { - "id": "ART-1990_KNOWLEDGE_NODE-26", - "text": "worked on. This approach directly enables developers to pick up work that drives customer and business impact on a continuous basis. The power of continuous planning comes through deconstructing complex processes in favor of more intuitive and integrated workflows.\\n\\n\\xf0\\x9f\\x8e\\xa5 Video: Prioritize backlog by customer impact\\n\\nPrioritized work\\n----------------\\n\\nInstead of antiquated concepts requiring domain knowledge, prioritized work is defined by a state machine into *Now*, *Next*,", - "title": "Now, Next, Later | Computer for Builders | DevRev" + "id": "ART-2749_KNOWLEDGE_NODE-6", + "text": "tools, giving their support and engineering teams context on customer history, product usage, and prior interactions.\\n\\nThis shift improved operational efficiency while fostering better collaboration and faster resolution times, aligning more closely with Phenom's evolving needs and goals.\\n\\nWith DevRev, we've significantly reduced our ticket resolution time by 30%, enhancing our overall support efficiency.\\n\\n![]()\\n\\nMark MacDonaldVice President of Global Customer Care, Phenom\\n\\nThe", + "title": "Phenom transforms talent experience with streamlined support and development workflows" }, { - "id": "ART-12390_KNOWLEDGE_NODE-6", - "text": "+ [Turing AI agent](/docs/product/conversational-bot)\\n\\n - [Best practices for documentation that supports AI](/docs/product/writing-bp)\\n + [Commands](/docs/product/commands)\\n + [Service-level agreement](/docs/product/sla)\\n + [Operational-level agreement](/docs/product/ola)\\n + [Support snap-ins](/docs/product/snapins-support)\\n* [Computer for Builders](/docs/product/build)\\n\\n + [Issues](/docs/product/issues)\\n + [Now, Next, Later](/docs/product/nnl)\\n + [Sprint", - "title": "Workflow action library | Workflows | Computer by DevRev | DevRev" + "id": "ART-1003_KNOWLEDGE_NODE-22", + "text": "likelihood to recommend the company\\xe2\\x80\\x99s product or service based on their support experience.\\n \\n \\n Calculation\\n \\n (Percentage of Promoters - Percentage of Detractors) * 100\\n \\n \\n\\n\\nSELECT\\n ((COUNT(CASE WHEN nps.score >= 9 THEN 1 END) * 100 / COUNT(nps.id)) -\\n (COUNT(CASE WHEN nps.score <= 6 THEN 1 END) * 100 / COUNT(nps.id))) AS NetPromoterScore\\nFROM net_promoter_surveys nps\\nWHERE EXTRACT(@period FROM nps.created_at) = EXTRACT(@period FROM", + "title": "Understanding a Support Lead's Pain Points and KPIs" + }, + { + "id": "ART-1996_KNOWLEDGE_NODE-25", + "text": "to finish.\\n* Track customer requests through tickets, opportunities, and potential revenue which are linked to each enhancement that evaluates the total customer impact. Prioritize enhancements based on customer impact, evaluation of tickets, and issues in *Next*, gaining insights into customer needs, and estimating the required work.\\n* Follow up with ideas for enhancements that are prioritized next in **Later**. You can change the stage from *Ideation* to *Prioritized* when it's ready to be", + "title": "Roadmap | Computer for Builders | DevRev" } ] }, @@ -4427,35 +4427,35 @@ "query_id": "f7f17717-1b4b-40c4-be08-730ba25da4c8", "query": "Pro license pricing cost subscription plan", "retrievals": [ - { - "id": "ART-962_KNOWLEDGE_NODE-0", - "text": "b'1. Core Pricing Plans:\\n\\nStarter: Ideal for small teams (up to 15 users) navigating product-market fit.\\n\\nLimited Time Offer: $1,000 credits.\\n\\nPlatform License: $9.99 per monthly active user (MAU).\\n\\nSupport License: $9.99 per MAU.\\n\\nFeatures:\\n\\nUnlimited viewers at no extra charge.\\n\\nConverge Issue and Ticket Management.\\n\\nMap your product features with Parts and Trails\\n\\nCustomize your data and insights with Vistas.\\n\\nCustomer and user management.\\n\\nLive chat and deflection", - "title": "DevRev Pricing" - }, { "id": "ART-962_KNOWLEDGE_NODE-2", "text": "offer).\\n\\n24/5 customer support.\\n\\nPricing: Platform license at $24.99 per MAU, support license at $34.99 per MAU.\\n\\nUltimate: Tailored for complex organizations with strict requirements.\\n\\nAll features from Pro, plus:\\n\\nAudit logging.\\n\\nEnhanced storage and retention.\\n\\nSLA-driven support response times.\\n\\nAdvanced object, subtype, and attribute customization.\\n\\nMulti-region high availability.\\n\\nLive read replica sandboxes.\\n\\nCustom pricing based on specific needs.\\n\\n2.", "title": "DevRev Pricing" }, { - "id": "ART-15627_KNOWLEDGE_NODE-1", - "text": "Starter, Pro, and Ultimate. This ensures flexibility and scalability as your business needs evolve. Most plans are priced per user per month, while PLuG offers usage-based pricing options. Is there a free trial available? Yes, DevRev offers a\\xc2\\xa0 45-day free trial \\xc2\\xa0for both Build and Support paid plans (Starter and Pro tiers). What are my payment options? You can use your credit card to pay for any plan. If you sign up for a Pro Plan, DevRev can invoice you annually and offer a", + "id": "ART-15627_KNOWLEDGE_NODE-4", + "text": "based on requirements\\n\\nDevRev Build Pricing For detailed pricing and to get started: \\xc2\\xa0 https://devrev.ai/pricing/build What are the Build pricing plans?\\n\\nStarter : $9.99 per user/month\\n\\nPro : $24.99 per user/month\\n\\nUltimate : Custom pricing (contact sales)\\n\\nWhat\\'s included in Build Starter ($9.99/month)?\\n\\nAI agents, assistants, and issue tracking\\n\\nSprint management\\n\\nRoadmapping and dependency tracking\\n\\nReady-to-go reporting and analytics\\n\\n45-day free trial\\n\\nWhat\\'s", + "title": "DevRev Pricing - for the PLuG on the website" + }, + { + "id": "ART-15627_KNOWLEDGE_NODE-3", + "text": "migration and integrations\\n\\nReady-to-go reporting and analytics\\n\\n45-day free trial\\n\\nWhat\\'s included in Support Pro ($59.99/month)?\\n\\nEverything in Starter\\n\\nAdvanced reporting & analytics\\n\\nCustom SLA and routing policies\\n\\nCustomizable object and data types\\n\\n45-day free trial\\n\\nWhat\\'s included in Support Ultimate?\\n\\nEverything in Pro\\n\\nFull object model customization and unlimited integrations\\n\\nEnterprise-grade security, compliance, controls, and policies\\n\\nCustom pricing", "title": "DevRev Pricing - for the PLuG on the website" }, { - "id": "ART-15627_KNOWLEDGE_NODE-13", - "text": "tier or contact sales for custom arrangements. Is there an enterprise discount for annual payments? Yes, for Pro Plans and above, DevRev can invoice annually and offers discounts. Contact\\xc2\\xa0 support@devrev.ai \\xc2\\xa0to discuss annual pricing options.'", + "id": "ART-15627_KNOWLEDGE_NODE-2", + "text": "discount. Contact\\xc2\\xa0 support@devrev.ai \\xc2\\xa0to discuss annual pricing. DevRev Support Pricing For detailed pricing and to get started: \\xc2\\xa0 https://devrev.ai/pricing/support What are the Support pricing plans?\\n\\nStarter : $19.99 per user/month (up to 10 users)\\n\\nPro : $59.99 per user/month\\n\\nUltimate : Custom pricing (contact sales)\\n\\nWhat\\'s included in Support Starter ($19.99/month)?\\n\\nAI agents, assistants, and deflection\\n\\nModern omnichannel ticketing platform\\n\\nData", "title": "DevRev Pricing - for the PLuG on the website" }, { - "id": "ART-962_KNOWLEDGE_NODE-3", - "text": "Usage-Based Costs:\\n\\nOn top of the core plans, DevRev charges for specific usage:\\n\\nUser and Customer Management: $0.20 per user, per month.\\n\\nConversations:\\n\\n$0.01 per anonymous user conversation, per month.\\n\\n$0.45 per verified user conversation, per month.\\n\\nStorage:\\n\\n$2.00 per extra GB of file storage, per month.\\n\\n$25.00 per extra GB of base storage, per month.\\n\\n3. Additional Considerations:\\n\\nAuthorization roles and profiles: $10.00 per MAU (optional add-on).\\n\\nFree tier:", + "id": "ART-962_KNOWLEDGE_NODE-0", + "text": "b'1. Core Pricing Plans:\\n\\nStarter: Ideal for small teams (up to 15 users) navigating product-market fit.\\n\\nLimited Time Offer: $1,000 credits.\\n\\nPlatform License: $9.99 per monthly active user (MAU).\\n\\nSupport License: $9.99 per MAU.\\n\\nFeatures:\\n\\nUnlimited viewers at no extra charge.\\n\\nConverge Issue and Ticket Management.\\n\\nMap your product features with Parts and Trails\\n\\nCustomize your data and insights with Vistas.\\n\\nCustomer and user management.\\n\\nLive chat and deflection", "title": "DevRev Pricing" }, { - "id": "ART-15627_KNOWLEDGE_NODE-3", - "text": "migration and integrations\\n\\nReady-to-go reporting and analytics\\n\\n45-day free trial\\n\\nWhat\\'s included in Support Pro ($59.99/month)?\\n\\nEverything in Starter\\n\\nAdvanced reporting & analytics\\n\\nCustom SLA and routing policies\\n\\nCustomizable object and data types\\n\\n45-day free trial\\n\\nWhat\\'s included in Support Ultimate?\\n\\nEverything in Pro\\n\\nFull object model customization and unlimited integrations\\n\\nEnterprise-grade security, compliance, controls, and policies\\n\\nCustom pricing", - "title": "DevRev Pricing - for the PLuG on the website" + "id": "ART-15258_KNOWLEDGE_NODE-5", + "text": "users per product. While the $10K credits typically cover around 14 pro-level licenses based on current pricing, you\\xe2\\x80\\x99re free to use as many licenses based on your business needs. Q:-How do my credits get consumed throughout the year?\\n\\nA:- Credits are consumed monthly, primarily based on the number of licenses you provision and any custom integrations you request for. To make the most of your credits, we recommend starting with just the minimum number of licenses you need and", + "title": "DevRev - Website - FAQs" }, { "id": "ART-15627_KNOWLEDGE_NODE-5", @@ -4463,18 +4463,18 @@ "title": "DevRev Pricing - for the PLuG on the website" }, { - "id": "ART-15627_KNOWLEDGE_NODE-9", - "text": "that time, DevRev starts charging your credit card for subscription and consumption costs. What is a Platform vs. Support User?\\n\\nPlatform users : Have full access to the Build App and gain visibility across an organization to understand the context between product and customer\\n\\nSupport Users : Users that create or update customer-related records. The per-seat pricing is in addition to the platform license cost and includes customer records (RevO or RevU), plus other related records like", - "title": "DevRev Pricing - for the PLuG on the website" + "id": "ART-3908_KNOWLEDGE_NODE-5", + "text": "users per product. While the $10K credits typically cover around 14 pro-level licenses based on current pricing, you\\xe2\\x80\\x99re free to use as many licenses based on your business needs. Q:-How do my credits get consumed throughout the year?\\n\\nA:- Credits are consumed monthly, primarily based on the number of licenses you provision and any custom integrations you request for. To make the most of your credits, we recommend starting with just the minimum number of licenses you need and", + "title": "DevRev for Startups" }, { - "id": "ART-15627_KNOWLEDGE_NODE-2", - "text": "discount. Contact\\xc2\\xa0 support@devrev.ai \\xc2\\xa0to discuss annual pricing. DevRev Support Pricing For detailed pricing and to get started: \\xc2\\xa0 https://devrev.ai/pricing/support What are the Support pricing plans?\\n\\nStarter : $19.99 per user/month (up to 10 users)\\n\\nPro : $59.99 per user/month\\n\\nUltimate : Custom pricing (contact sales)\\n\\nWhat\\'s included in Support Starter ($19.99/month)?\\n\\nAI agents, assistants, and deflection\\n\\nModern omnichannel ticketing platform\\n\\nData", - "title": "DevRev Pricing - for the PLuG on the website" + "id": "ART-15621_KNOWLEDGE_NODE-22", + "text": "excels in providing granular, field-level access controls per user role\" Pricing & Value Proposition Strategy Glean\\'s Pricing Challenges\\n\\nHigh Cost Structure : $25/user/month for keyword-based search\\n\\nSeat-Based Limitations : Unused license burden and scaling constraints\\n\\nPremium for Basic Features : Expensive pricing for document search capabilities DevRev\\'s Pricing Advantages\\n\\nZero-Cost Static Search : Disrupting market by offering basic search capabilities at no cost\\n\\nUsage-Based", + "title": "Glean - Competitive - for the PLuG on website" }, { - "id": "ART-15627_KNOWLEDGE_NODE-7", - "text": "session record)\\n\\nWhat\\'s included in PLuG Ultimate?\\n\\nAll Pay-as-you-go features\\n\\nAdvanced functionality for scale\\n\\nVolume discounting\\n\\nUnderstanding users wherever they are\\n\\nDevRev AgentOS Pricing For detailed pricing and to get started: \\xc2\\xa0 https://devrev.ai/pricing/agentos How is AgentOS priced? AgentOS is available only through custom pricing. Contact sales for a quote. What\\'s included in AgentOS?\\n\\nFlexible pricing models: usage-based or predictable fixed pricing\\n\\nFull", + "id": "ART-15627_KNOWLEDGE_NODE-1", + "text": "Starter, Pro, and Ultimate. This ensures flexibility and scalability as your business needs evolve. Most plans are priced per user per month, while PLuG offers usage-based pricing options. Is there a free trial available? Yes, DevRev offers a\\xc2\\xa0 45-day free trial \\xc2\\xa0for both Build and Support paid plans (Starter and Pro tiers). What are my payment options? You can use your credit card to pay for any plan. If you sign up for a Pro Plan, DevRev can invoice you annually and offer a", "title": "DevRev Pricing - for the PLuG on the website" } ] @@ -4484,54 +4484,54 @@ "query": "count tickets with customer CSAT review", "retrievals": [ { - "id": "ART-2011_KNOWLEDGE_NODE-26", - "text": "**CSAT on ticket** > **Configure**.\\n2. Select the channel you want to send the survey on in **Survey channel**.\\n3. Write introductory text for the survey in **Survey introductory text**.\\n\\n ![]()\\n\\n To include the customer's name in the CSAT survey emails, add a key {{customer\\\\_name}} to the introductory text configuration of the CSAT.\\n4. Customize your survey response scale which is shown to the customers to select from in **Survey response scale**.\\n5. To collect additional feedback", - "title": "CSAT on ticket | Automate | Snap-ins | DevRev" + "id": "ART-1977_KNOWLEDGE_NODE-25", + "text": "Average CSAT rating for ticket Owners.\\n* **SLA breaches by Customer tier**\\n\\n Number of Tickets with SLA breaches for ticket owners.\\n* **Active Tickets**\\n\\n A distribution of tickets in Open and In Progress states and the respective owners.\\n* **Closed Tickets**\\n\\n A distribution of tickets in Closed state and the respective owners.\\n* **SLA breaches**\\n\\n Number of Tickets with SLA breaches for ticket owners.\\n* **Tickets Escalated**\\n\\n Number of tickets that are escalated by", + "title": "Ticket-Team Performance | Support analytics | Computer for Support Teams | DevRev" }, { - "id": "ART-2011_KNOWLEDGE_NODE-24", - "text": "[Snap-ins](/docs/snapins)\\n[Automate](/docs/automate)\\n[CSAT on ticket](/docs/automations/csat-tickets)\\n\\nCSAT on ticket\\n==============\\n\\n[CSAT on ticket](/marketplace/csat_on_ticket_dwx7b2bp) offers a simplified approach to measure customer satisfaction level for the ticket resolved with the help of surveys which can be utilized to enhance the overall customer experience.\\n\\nThis snap-in displays a customer satisfaction survey to customers after their ticket gets resolved. The questions can", - "title": "CSAT on ticket | Automate | Snap-ins | DevRev" + "id": "ART-1003_KNOWLEDGE_NODE-20", + "text": "AverageResolutionTime\\nFROM tickets t\\nWHERE t.status = 'resolved'\\nAND EXTRACT(@period FROM t.created_at) = EXTRACT(@period FROM CURRENT_DATE);\\n-- NOTE: Replace @period with 'DAY', 'WEEK', 'MONTH', or 'QUARTER'.\\n\\n\\nCustomer Satisfaction Score (CSAT)\\n\\n\\n Definition\\n \\n A metric that gauges customer satisfaction with the support provided, typically collected through surveys.\\n \\n \\n Calculation\\n \\n (Number of satisfied responses) / (Total number of responses) * 100\\n", + "title": "Understanding a Support Lead's Pain Points and KPIs" }, { - "id": "ART-2011_KNOWLEDGE_NODE-27", - "text": "from the customer along with the scale rating, ensure that the toggle for **Additional Feedback Request** configuration is enabled.\\n6. Write a query for the customers after the survey is populated in **Survey query**.\\n7. Write a message for the customers after the survey response is submitted in **Survey response message**.\\n8. Specify the time for the survey to expire (in minutes) in **Survey expires after**.\\n\\n ![]()\\n9. If you want to send the survey only once, enable the **Send survey", + "id": "ART-2011_KNOWLEDGE_NODE-24", + "text": "[Snap-ins](/docs/snapins)\\n[Automate](/docs/automate)\\n[CSAT on ticket](/docs/automations/csat-tickets)\\n\\nCSAT on ticket\\n==============\\n\\n[CSAT on ticket](/marketplace/csat_on_ticket_dwx7b2bp) offers a simplified approach to measure customer satisfaction level for the ticket resolved with the help of surveys which can be utilized to enhance the overall customer experience.\\n\\nThis snap-in displays a customer satisfaction survey to customers after their ticket gets resolved. The questions can", "title": "CSAT on ticket | Automate | Snap-ins | DevRev" }, { - "id": "ART-2013_KNOWLEDGE_NODE-27", - "text": "customer's name in the CSAT survey emails, add a key {{customer\\\\_name}} to the introductory text configuration of the CSAT.\\n4. Customize your survey response scale which is shown to the customers to select from in **Survey response scale**.\\n5. To collect additional feedback from the customer along with the scale rating, ensure that the toggle for **Additional Feedback Request** configuration is enabled.\\n6. Write a query for the customers after the survey is populated in **Survey", - "title": "CSAT on conversation | Automate | Snap-ins | DevRev" + "id": "ART-1004_KNOWLEDGE_NODE-9", + "text": "tickets\\nWHERE EXTRACT(@period FROM created_at) = EXTRACT(@period FROM CURRENT_DATE)\\nGROUP BY engineer_id;\\n-- NOTE: Replace @period with 'DAY', 'WEEK', 'MONTH', or 'QUARTER'.\\n\\n\\nIndividual Customer Satisfaction (CSAT) Score\\n\\n\\n Definition\\n \\n A metric that gauges customer satisfaction with the support provided by a specific engineer, typically collected through surveys.\\n \\n \\n Calculation\\n \\n (Number of satisfied responses for the engineer) / (Total number of", + "title": "Understanding a Support Engineer's Pain Points and KPIs" }, { - "id": "ART-2011_KNOWLEDGE_NODE-25", - "text": "be customized to align with their requirements.\\n\\nTo manually request CSAT feedback without having to wait until the ticket is resolved, use the /survey command in **Tickets** > **Customer messages**.\\n\\nInstallation\\n------------\\n\\n1. Install the [CSAT on ticket](/marketplace/csat_on_ticket_dwx7b2bp) from the DevRev marketplace.\\n2. Select the workspace to install the snap-in, confirm installation, and click **Deploy snap-in**.\\n\\nConfiguration\\n-------------\\n\\n1. Go to **Snap-ins** >", - "title": "CSAT on ticket | Automate | Snap-ins | DevRev" + "id": "ART-1975_KNOWLEDGE_NODE-26", + "text": "resolve tickets.\\n* **Tickets awaiting response**\\n\\n The number of active tickets awaiting response to customer.\\n* **Unassigned tickets**\\n\\n The number of tickets not yet assigned to a support agent.\\n* **Active blocker tickets**\\n\\n The number of tickets with severity Blocker that are in the Open or In Progress state.\\n* **SLA compliance rate**\\n\\n The percentage of tickets where the SLA was met out of all tickets where the SLA was applied.\\n* **Average CSAT score**\\n\\n The average", + "title": "Ticket insights | Support analytics | Computer for Support Teams | DevRev" }, { - "id": "ART-2011_KNOWLEDGE_NODE-28", - "text": "only once per ticket** toggle.\\n10. If you want to automatically send CSAT surveys when tickets reach the *Resolved* stage, keep the **Trigger the CSAT survey based on configured rules** toggle turned off.\\n11. If you want to send CSAT at a specific ticket stage, turn the **Trigger the CSAT survey based on configured rules** toggle on and set up a custom workflow with the following configuration:\\n\\n| **Component** | **Details** |\\n| --- | --- |\\n| Trigger | Update Ticket |\\n| Stage Control |", - "title": "CSAT on ticket | Automate | Snap-ins | DevRev" + "id": "ART-1003_KNOWLEDGE_NODE-25", + "text": "* 100\\n \\n \\n\\n\\nSELECT (COUNT(*) * 100) / (SELECT COUNT(*) FROM tickets WHERE EXTRACT(@period FROM created_at) = EXTRACT(@period FROM CURRENT_DATE)) AS EscalationRate\\nFROM tickets\\nWHERE is_escalated = 1\\nAND EXTRACT(@period FROM created_at) = EXTRACT(@period FROM CURRENT_DATE);\\n-- NOTE: Replace @period with 'DAY', 'WEEK', 'MONTH', or 'QUARTER'.\\n\\n\\nAgent Utilization Rate\\n\\n\\n Definition\\n \\n The percentage of an engineer\\xe2\\x80\\x99s working hours spent on handling customer", + "title": "Understanding a Support Lead's Pain Points and KPIs" }, { - "id": "ART-2011_KNOWLEDGE_NODE-29", - "text": "If Else |\\n| Condition | When: Ticket Updated / Output > Stage > Name (Make sure that the stage name is in snake case.) |\\n| Action | Update Ticket |\\n| ID | Ticket Updated > Output > Id |\\n| List of Integrations | CSAT |\\n| Integrations | App CSAT Send Survey > Yes |\\n\\n1. Click **Save** > **Next** and deploy the snap-in.\\n\\n[PreviousCSAT on conversation](/docs/automations/csat-conv)[NextCSV work item uploader](/docs/automations/csv-work-item-uploader)\\n\\n#### On this page\\n\\n*", - "title": "CSAT on ticket | Automate | Snap-ins | DevRev" + "id": "ART-1972_KNOWLEDGE_NODE-27", + "text": "by Channel**\\n\\n Number of tickets where SLA was breached for each source channel.\\n* **SLA breaches by Subtype**\\n\\n Number of tickets where SLA was breached for each ticket subtype.\\n* **SLA breaches by Owner**\\n\\n Number of Tickets with SLA breaches for ticket owners.\\n* **Avg CSAT by SLA status**\\n\\n Average CSAT rating of tickets w.r.t. their SLA status and severity.\\n* **Unassigned Tickets with SLA breaches per Customer**\\n\\n Number of Unassigned Tickets with SLA breaches for each", + "title": "Ticket-SLA Analytics | Support analytics | Computer for Support Teams | DevRev" }, { - "id": "ART-2011_KNOWLEDGE_NODE-5", - "text": "ticket conversion](/docs/product/conversation-ticket)\\n + [Tickets](/docs/product/tickets)\\n + [Routing](/docs/product/routing)\\n + [Support best practices](/docs/product/support-bp)\\n + [Customer portal](/docs/product/support-portal)\\n + [Questions & answers](/docs/product/qa)\\n + [Knowledge Base](/docs/product/knowledge-base)\\n\\n - [Articles](/docs/product/articles)\\n - [Collections](/docs/product/collection)\\n + [Turing AI agent](/docs/product/conversational-bot)\\n\\n - [Best", + "id": "ART-2011_KNOWLEDGE_NODE-25", + "text": "be customized to align with their requirements.\\n\\nTo manually request CSAT feedback without having to wait until the ticket is resolved, use the /survey command in **Tickets** > **Customer messages**.\\n\\nInstallation\\n------------\\n\\n1. Install the [CSAT on ticket](/marketplace/csat_on_ticket_dwx7b2bp) from the DevRev marketplace.\\n2. Select the workspace to install the snap-in, confirm installation, and click **Deploy snap-in**.\\n\\nConfiguration\\n-------------\\n\\n1. Go to **Snap-ins** >", "title": "CSAT on ticket | Automate | Snap-ins | DevRev" }, { - "id": "ART-1977_KNOWLEDGE_NODE-25", - "text": "Average CSAT rating for ticket Owners.\\n* **SLA breaches by Customer tier**\\n\\n Number of Tickets with SLA breaches for ticket owners.\\n* **Active Tickets**\\n\\n A distribution of tickets in Open and In Progress states and the respective owners.\\n* **Closed Tickets**\\n\\n A distribution of tickets in Closed state and the respective owners.\\n* **SLA breaches**\\n\\n Number of Tickets with SLA breaches for ticket owners.\\n* **Tickets Escalated**\\n\\n Number of tickets that are escalated by", - "title": "Ticket-Team Performance | Support analytics | Computer for Support Teams | DevRev" + "id": "ART-1975_KNOWLEDGE_NODE-28", + "text": "conversations against standalone tickets.\\n* **Tickets linked to issues**\\n\\n The percentage of tickets linked to product issues.\\n* **Active tickets by owner**\\n\\n The number of Open or In Progress tickets grouped by owner.\\n* **Tickets created vs. closed**\\n\\n The trend of tickets created against those closed.\\n\\nCustomer satisfaction (CSAT)\\n----------------------------\\n\\n* **CSAT score distribution**\\n\\n A distribution of customer satisfaction scores on tickets.\\n\\nTime spent per", + "title": "Ticket insights | Support analytics | Computer for Support Teams | DevRev" }, { - "id": "ART-2011_KNOWLEDGE_NODE-4", - "text": "insights](/docs/dashboards/conversation-insights)\\n - [Conversation-SLA Analytics](/docs/dashboards/conversation-sla-analytics)\\n - [Conversation-Team Performance](/docs/dashboards/conversation-team-performance)\\n - [Ticket insights](/docs/dashboards/ticket-insights)\\n - [Ticket-SLA Analytics](/docs/dashboards/ticket-sla-analytics)\\n - [Ticket-Team Performance](/docs/dashboards/ticket-team-performance)\\n + [Conversations](/docs/product/conversation)\\n\\n - [Conversation to", - "title": "CSAT on ticket | Automate | Snap-ins | DevRev" + "id": "ART-1973_KNOWLEDGE_NODE-26", + "text": "customer type.\\n* **SLA breaches per customer**\\n\\n Number of Conversations with SLA breaches for each customer.\\n* **SLA breaches w.r.t. Channel**\\n\\n Number of conversations where SLA was breached for each source channel.\\n* **Avg CSAT w.r.t. SLA status**\\n\\n Average CSAT rating of conversations w.r.t. their SLA status.\\n* **Unassigned Conversations with SLA breaches per customer**\\n\\n Number of Unassigned Tickets with SLA breaches for each customer.\\n\\n[PreviousConversation", + "title": "Conversation-SLA Analytics | Support analytics | Computer for Support Teams | DevRev" } ] }, @@ -4540,14 +4540,14 @@ "query": "save filters in support portal", "retrievals": [ { - "id": "ART-1978_KNOWLEDGE_NODE-11", - "text": "[CSV comments uploader](/docs/automations/csv-comments-uploader)\\n - [CSV commands uploader](/docs/automations/csv-commands-uploader)\\n - [Descope identity validation](/docs/automations/descope-identity-validation)\\n - [Effort logger](/docs/automations/effort-logger)\\n - [HTTP archive file upload & sanitization](/docs/automations/har-sanitization)\\n - [Link preview](/docs/automations/link-preview)\\n - [Org tags sync](/docs/automations/org-tags-sync)\\n - [Search", - "title": "Customer portal | Computer for Support Teams | DevRev" + "id": "ART-10697_KNOWLEDGE_NODE-31", + "text": "boosting engagement and reducing repetitive inquiries. To enable Plug, go to **Settings > Portal Settings**, activate Plug widget, and **Save** and **Publish**.\\n\\n![]()\\xc2\\xa0For more information about *Support App*, refer to the following articles: \\xe2\\x80\\xa3 [Support snap-ins | Support](/docs/product/snapins-support) \\xe2\\x80\\xa3 [Support best practices | Support](/docs/product/support-bp) \\xe2\\x80\\xa3 [Support](/docs/product/support) \\xe2\\x80\\xa3", + "title": "February 2025 | Changelog | DevRev" }, { - "id": "ART-15716_KNOWLEDGE_NODE-35", - "text": "filters\\n\\nYou can create a simple report by clicking on the Smart Icon at the top right corner and selecting \\'Create New report.\\' Create a dashboard and a widget by giving a name. Select the dimensions and measures and finalize the visualization of the widget and click on the preview widget to test it out.\\n\\nEach widget can be customized with filters, groupings, and visualizations (charts, tables, etc.)4. Create a dashboard for tracking ticket resolution time\\n\\nCreate a new dashboard in", - "title": "Support queries related playbook" + "id": "ART-1978_KNOWLEDGE_NODE-39", + "text": "toggle and craft your own title and description.\\n7. Enable **Public portal** to allow unauthenticated users to view/search public articles.\\n8. Click **Save & publish** to make the changes visible on your portal.\\n\\nIf you want to customize the font color and favicon, contact DevRev support. For favicon customization, an icon in .ico format is needed.\\n\\nCustomize portal URL\\n--------------------\\n\\nBy default, your customer portal is hosted at support.devrev.ai/. The", + "title": "Customer portal | Computer for Support Teams | DevRev" }, { "id": "ART-1978_KNOWLEDGE_NODE-37", @@ -4555,38 +4555,38 @@ "title": "Customer portal | Computer for Support Teams | DevRev" }, { - "id": "ART-10697_KNOWLEDGE_NODE-30", - "text": "New filtering options let agents view tickets tied to specific articles, while updated analytics reveal the most and least linked articles, improving knowledge sharing and support strategy.\\n* Plug is our live chat widget designed for real-time conversations in your customer portal. It reduces ticket volume by resolving common queries instantly, enhancing self-service and speeding up issue resolution. Use spotlight cards or banners to notify customers about incidents, updates, or promotions,", - "title": "February 2025 | Changelog | DevRev" + "id": "ART-1952_KNOWLEDGE_NODE-35", + "text": "well.\\n\\n### Save\\n\\nAdd measures, dimensions, and filters. Experiment with arranging them, preview your changes, and remember to **Save** your widget. This ensures the widget appears on the dashboard.\\n\\n### Custom fields\\n\\nYou can also create reports based on custom fields by creating them via Object Customization. You\\xe2\\x80\\x99ll be able to utilize these custom fields in report generation, as they can be used in measures, dimensions, and filters.\\n\\n### Cross-entity", + "title": "Vista Reports | Vistas | Computer by DevRev | DevRev" }, { - "id": "ART-1452_KNOWLEDGE_NODE-4", - "text": "users.\\n\\nstageobjectOptional\\n\\nThe filter for stages.\\n\\nShow property\\n\\nstaged_infoobjectOptional\\n\\nShow property\\n\\nstatelist of stringsOptional\\n\\nFilters for work with any of the provided states.\\n\\nsync_metadataobjectOptional\\n\\nShow 4 properties\\n\\ntagslist of stringsOptional\\n\\nFilters for work with any of the provided tags.\\n\\ntarget_close_dateobjectOptional\\n\\nProvides ways to specify date ranges on objects.\\n\\nShow 2 variants\\n\\nticketobjectOptional\\n\\nShow 13 properties\\n\\n###", - "title": "Export Works (POST) \u2014 DevRev | Docs" + "id": "ART-1952_KNOWLEDGE_NODE-39", + "text": "view](/docs/product/board-view)\\n\\n#### On this page\\n\\n* [Discover](#discover)\\n* [Create](#create)\\n* [Widget builder](#widget-builder)\\n* [Auto-visualization generator](#autovisualization-generator)\\n* [Preview](#preview)\\n* [Filters](#filters)\\n* [Save](#save)\\n* [Custom fields](#custom-fields)\\n* [Cross-entity joins](#crossentity-joins)\\n* [Edit](#edit)\\n* [Share](#share)\\n* [Authorization (MFZ)](#authorization-mfz)\\n\\n[Enterprise grade security to protect customer data\\n\\nLearn more about", + "title": "Vista Reports | Vistas | Computer by DevRev | DevRev" }, { - "id": "ART-1952_KNOWLEDGE_NODE-34", - "text": "filters from your vista will be transferred to your widget definition. If any filters are not carried over, a message will indicate the reason, and you will have the option to add the missing vista filters to your widget filter definition.\\n* **Widget Filters**: These filters are for your widget definition and include all filters from the vista, as well as other objects.\\n\\n![]()\\n\\nThe filters and dimensions are interlinked. To have filterable values, you must select them in dimensions as", - "title": "Vista Reports | Vistas | Computer by DevRev | DevRev" + "id": "ART-2695_KNOWLEDGE_NODE-35", + "text": "the breach occurred.\\n + **Over an Hour**: Filters issues that have been in breach for more than one hour.\\n + **Over a Day**: Filters issues that have been in breach for more than one day.\\n + **Custom**: Filters issues that have been in breach since a specified date.\\n* **Will Breach In:**\\n\\n + **Any**: Filters all issues that are currently not in breach.\\n + **Over an Hour**: Filters issues with less than one hour left before breaching.\\n + **Over a Day**: Filters issues with less", + "title": "Operational-level agreement | Computer for Support Teams | DevRev" }, { - "id": "ART-10697_KNOWLEDGE_NODE-31", - "text": "boosting engagement and reducing repetitive inquiries. To enable Plug, go to **Settings > Portal Settings**, activate Plug widget, and **Save** and **Publish**.\\n\\n![]()\\xc2\\xa0For more information about *Support App*, refer to the following articles: \\xe2\\x80\\xa3 [Support snap-ins | Support](/docs/product/snapins-support) \\xe2\\x80\\xa3 [Support best practices | Support](/docs/product/support-bp) \\xe2\\x80\\xa3 [Support](/docs/product/support) \\xe2\\x80\\xa3", - "title": "February 2025 | Changelog | DevRev" + "id": "ART-1986_KNOWLEDGE_NODE-43", + "text": "tickets that have been in breach for more than one hour.\\n + **Over a day**: Filters all tickets that have been in breach for more than one day.\\n + **Custom**: Filters all tickets that have been in breach from a given date.\\n* **Will breach in**:\\n\\n + **Any**: Filters all tickets that are currently not in breach.\\n + **Over an hour**: Filters all tickets that have less than 1 hour left for breach.\\n + **Over a day**: Filters all tickets that have less than 1 day left for breach.\\n +", + "title": "Service-level agreement | Computer for Support Teams | DevRev" }, { - "id": "ART-1978_KNOWLEDGE_NODE-10", - "text": "data](/docs/automations/bulk-delete)\\n - [Bulk work item uploader](/docs/automations/bulk-upload)\\n - [Commands surface expander](/docs/automations/commands-surface-expander)\\n - [Convergence](/docs/automations/converge)\\n - [Conversation reminder](/docs/automations/conversation-reminder)\\n - [CSAT on conversation](/docs/automations/csat-conv)\\n - [CSAT on ticket](/docs/automations/csat-tickets)\\n - [CSV work item uploader](/docs/automations/csv-work-item-uploader)\\n -", + "id": "ART-1978_KNOWLEDGE_NODE-30", + "text": "communication.\\n\\n### Article search\\n\\n* Your customers can search across your articles and self-serve themselves on their queries. This empowers your customers to find answers on their own instead of waiting for your support team to get back to them.\\n* The customer portal supports both syntactic search (finds results based on keywords) and semantic search (finds results based on the meaning or context of your query\\n\\n### SEO compatibility\\n\\n![]()\\n\\nThis is a limited availability feature", "title": "Customer portal | Computer for Support Teams | DevRev" }, { - "id": "ART-1978_KNOWLEDGE_NODE-27", - "text": "portal\\n-------------------------------------\\n\\n* **Enhanced customer experience**: Customers can access self-service options, track their tickets, and receive timely updates, leading to improved satisfaction.\\n* **Efficient ticket management**: The portal streamlines the ticket creation, assignment, and tracking process, ensuring faster resolution times.\\n* **Seamless, timely, and transparent communication**: Customers and support teams can engage in threaded conversations within the portal,", - "title": "Customer portal | Computer for Support Teams | DevRev" + "id": "ART-1952_KNOWLEDGE_NODE-24", + "text": "generator](#autovisualization-generator)\\n* [Preview](#preview)\\n* [Filters](#filters)\\n* [Save](#save)\\n* [Custom fields](#custom-fields)\\n* [Cross-entity joins](#crossentity-joins)\\n* [Edit](#edit)\\n* [Share](#share)\\n* [Authorization (MFZ)](#authorization-mfz)\\n\\n1. [Documentation](/docs)\\n3. [Computer by DevRev](/docs/intro)\\n[Vistas](/docs/product/vistas)\\n[Vista Reports](/docs/product/vista-reports)\\n\\nVista Reports\\n=============\\n\\nReal-time reporting represents a paradigm shift in the", + "title": "Vista Reports | Vistas | Computer by DevRev | DevRev" }, { - "id": "ART-1978_KNOWLEDGE_NODE-13", - "text": "group](/docs/automations/set-user-preference)\\n - [SLA status change Slack notifier](/docs/automations/sla-change-notifier)\\n - [Slash commands](/docs/automations/slash-commands)\\n - [Spam Shield](/docs/automations/spam-shield)\\n - [Subtype Migration](/docs/automations/subtype-migration)\\n - [Ticket age in engineering](/docs/automations/ticket-age-in-engineering)\\n - [Ticket issue field migrator](/docs/automations/ticket-issue-field-migrator)\\n - [Ticket", + "id": "ART-1978_KNOWLEDGE_NODE-26", + "text": "online platform that enables your customers to interact with your support team, create support tickets, track the progress of their requests, and engage in conversations related to their issues. It serves as a centralized hub for managing customer support inquiries efficiently.\\n\\nThe customer portal is available in both web and mobile formats (Android and iOS). It enables end users to access support articles, manage tickets, and interact with the support team.\\n\\nBenefits of using the customer", "title": "Customer portal | Computer for Support Teams | DevRev" } ] @@ -4596,53 +4596,53 @@ "query": "unable to convert conversation into ticket and can't fill customer information", "retrievals": [ { - "id": "ART-4271_KNOWLEDGE_NODE-26", - "text": "conversation metadata including: \\n * Source channel\\n * Customer account information\\n * External members added as **reported by** on the ticket\\n * An AI-generated ticket title and description based on customer messages.\\n\\n### How to convert Conversations to Tickets\\n\\n**Manual Conversion**\\n\\nTo manually convert a conversation to a ticket:\\n\\n 1. Open the conversation record pane view.\\n 2. Click **Convert to Ticket** to initiate the conversion.\\n\\n**Automated Conversion", + "id": "ART-6174_KNOWLEDGE_NODE-28", + "text": "tickets\\n--------------------------------\\n\\n**Manual conversion**\\n\\nGo to the conversation record pane and select **Convert to Ticket** to create a new ticket from the conversation.\\n\\n![]()\\n\\n**Automated conversion via workflows**\\n\\nSet up automated [workflows](./workflow-engine) to convert conversations to tickets based on specific triggers:\\n\\n* When a conversation meets defined criteria\\n* When the AI agent identifies an issue requiring escalation\\n* According to custom business", + "title": "Conversation to ticket conversion | Conversations | Computer for Support Teams | DevRev" + }, + { + "id": "ART-6174_KNOWLEDGE_NODE-25", + "text": "Teams](/docs/product/support)\\n[Conversations](/docs/product/conversation)\\n[Conversation to ticket conversion](/docs/product/conversation-ticket)\\n\\nConversation to ticket conversion\\n=================================\\n\\nYou can convert conversations from Plug and Slack directly into tickets. Previously, conversations were only linked to tickets. This update streamlines workflows and enhances the customer experience.\\n\\nFor conversations originating from Plug or Slack, the **Link to Ticket**", + "title": "Conversation to ticket conversion | Conversations | Computer for Support Teams | DevRev" + }, + { + "id": "ART-4271_KNOWLEDGE_NODE-24", + "text": "[Support](/docs/product/support?)\\n 4. [Conversations](/docs/product/conversation?)\\n 5. [Convert Conversations to Tickets](/docs/product/Conversation-Tickets?)\\n\\n# Convert Conversations to Tickets\\n\\nYou can now convert conversations from PLuG and Slack directly into tickets. Previously, conversations were only linked to tickets. This update streamlines workflows and enhances the customer experience.\\n\\nFor conversations originating from PLuG or Slack, the **Link to Ticket** functionality", "title": "Convert Conversations to Tickets | Conversations | Support | DevRev" }, { - "id": "ART-4271_KNOWLEDGE_NODE-31", - "text": "AI-handled conversation reaches its capability limits and needs human expertise.\\n * **Extended troubleshooting** : Issues requiring multiple steps or follow-ups over time.\\n\\n## Key information\\n\\n * **Channel support** : Currently, the conversion feature is only available for PLuG and Slack conversations. Other channels still use the traditional **Link Ticket** functionality.\\n\\n * **CSAT surveys** : CSAT surveys are not sent when a conversation is converted to a ticket. Surveys are only", + "id": "ART-4271_KNOWLEDGE_NODE-26", + "text": "conversation metadata including: \\n * Source channel\\n * Customer account information\\n * External members added as **reported by** on the ticket\\n * An AI-generated ticket title and description based on customer messages.\\n\\n### How to convert Conversations to Tickets\\n\\n**Manual Conversion**\\n\\nTo manually convert a conversation to a ticket:\\n\\n 1. Open the conversation record pane view.\\n 2. Click **Convert to Ticket** to initiate the conversion.\\n\\n**Automated Conversion", "title": "Convert Conversations to Tickets | Conversations | Support | DevRev" }, { - "id": "ART-6174_KNOWLEDGE_NODE-28", - "text": "tickets\\n--------------------------------\\n\\n**Manual conversion**\\n\\nGo to the conversation record pane and select **Convert to Ticket** to create a new ticket from the conversation.\\n\\n![]()\\n\\n**Automated conversion via workflows**\\n\\nSet up automated [workflows](./workflow-engine) to convert conversations to tickets based on specific triggers:\\n\\n* When a conversation meets defined criteria\\n* When the AI agent identifies an issue requiring escalation\\n* According to custom business", - "title": "Conversation to ticket conversion | Conversations | Computer for Support Teams | DevRev" + "id": "ART-4271_KNOWLEDGE_NODE-25", + "text": "is being replaced with a new **Convert to Ticket** feature. This change provides a more seamless transition from conversation to ticket management.\\n\\n## How Conversation conversion works\\n\\nWhen you convert a conversation to a ticket, the following happens automatically:\\n\\n * The original conversation is moved to _Archived_ stage and cannot be reopened.\\n * A new ticket is created with: \\n * All internal discussions and customer messages copied from the conversation.\\n * Preserved", + "title": "Convert Conversations to Tickets | Conversations | Support | DevRev" }, { "id": "ART-6174_KNOWLEDGE_NODE-26", "text": "functionality is replaced with a new **Convert to Ticket** feature. Currently, the conversion feature is available only for Plug and Slack conversations. Other channels still use the traditional **Link Ticket** functionality.\\n\\nConversion cannot be undone. Once a conversation is converted to a ticket, this action is permanent and the conversation remains archived.\\n\\nConversation conversion process\\n-------------------------------\\n\\nWhen you convert a conversation to a ticket, the following", "title": "Conversation to ticket conversion | Conversations | Computer for Support Teams | DevRev" }, - { - "id": "ART-4271_KNOWLEDGE_NODE-29", - "text": "end user.\\n\\n## Why you should convert a Conversation to a Ticket\\n\\nConsider converting a conversation to a ticket in these scenarios:\\n\\n * **Complex issues** : When a customer inquiry requires in-depth investigation that can't be resolved in a quick conversation.\\n * **Cross-team collaboration** : Issues requiring input from multiple departments or specialists.\\n * **Escalation needs** : When a conversation needs to be escalated to a higher support tier.\\n * **Feature requests** :", - "title": "Convert Conversations to Tickets | Conversations | Support | DevRev" - }, { "id": "ART-6174_KNOWLEDGE_NODE-27", "text": "happens automatically:\\n\\n* The original conversation moves to *Archived* stage and cannot be reopened.\\n* A new ticket is created with:\\n + All internal discussions and customer messages copied from the conversation\\n + Equivalent metadata as the conversation, including source channel, customer account information, and external members added as **reported by** on the ticket\\n + An AI-generated ticket title and description based on customer messages\\n\\nConvert conversations to", "title": "Conversation to ticket conversion | Conversations | Computer for Support Teams | DevRev" }, { - "id": "ART-6174_KNOWLEDGE_NODE-31", - "text": "Cross-team collaboration needs\\n* Escalation requirements\\n* Feature requests\\n* Bug reports\\n* SLA tracking requirements\\n* Documentation needs\\n* Resource allocation requirements\\n* AI capability limitations\\n* Extended troubleshooting needs\\n\\nSupport workflows\\n-----------------\\n\\n* **CSAT surveys**: CSAT surveys are not sent when a conversation is converted to a ticket. Surveys are only triggered when a conversation is resolved, not when it's archived through conversion.\\n* **SLA", - "title": "Conversation to ticket conversion | Conversations | Computer for Support Teams | DevRev" - }, - { - "id": "ART-6174_KNOWLEDGE_NODE-32", - "text": "handling**: Conversation and ticket SLAs operate independently. When converting:\\n\\n + The new ticket starts with its own response and resolution SLA timers\\n + All active SLA metrics on the original conversation are marked as completed\\n\\n[PreviousConversations](/docs/product/conversation)[NextTickets](/docs/product/tickets)\\n\\n#### On this page\\n\\n* [Conversation conversion process](#conversation-conversion-process)\\n* [Convert conversations to tickets](#convert-conversations-to-tickets)\\n*", - "title": "Conversation to ticket conversion | Conversations | Computer for Support Teams | DevRev" + "id": "ART-4271_KNOWLEDGE_NODE-31", + "text": "AI-handled conversation reaches its capability limits and needs human expertise.\\n * **Extended troubleshooting** : Issues requiring multiple steps or follow-ups over time.\\n\\n## Key information\\n\\n * **Channel support** : Currently, the conversion feature is only available for PLuG and Slack conversations. Other channels still use the traditional **Link Ticket** functionality.\\n\\n * **CSAT surveys** : CSAT surveys are not sent when a conversation is converted to a ticket. Surveys are only", + "title": "Convert Conversations to Tickets | Conversations | Support | DevRev" }, { - "id": "ART-6174_KNOWLEDGE_NODE-30", - "text": "there.\\n\\n![]()\\n\\nSlack end-user experience\\n-------------------------\\n\\nWhen a conversation is converted to a ticket in Slack:\\n\\n* Ticket information appears within the same thread.\\n* All subsequent messages sync with the newly created ticket.\\n* The transition is seamless for the end user.\\n\\nConversation conversion scenarios\\n---------------------------------\\n\\nConsider converting a conversation to a ticket in these scenarios:\\n\\n* Complex issues requiring in-depth investigation\\n*", - "title": "Conversation to ticket conversion | Conversations | Computer for Support Teams | DevRev" + "id": "ART-4271_KNOWLEDGE_NODE-33", + "text": "remains archived.\\n\\n[PreviousConversations](/docs/product/conversation)[NextTickets](/docs/product/tickets)\\n\\n#### On this page\\n\\n * How Conversation conversion works\\n * How to convert Conversations to Tickets\\n * End user experience\\n * PLuG widget experience\\n * Slack experience\\n * Why you should convert a Conversation to a Ticket\\n * Key information\\n\\n[Enterprise grade security to protect customer dataLearn more about it.](/blog/soc-compliance?)\\n\\nProduct\\n\\n *", + "title": "Convert Conversations to Tickets | Conversations | Support | DevRev" }, { - "id": "ART-6174_KNOWLEDGE_NODE-24", - "text": "[Product demos](/docs/DevRevU/demos)\\n\\nOn this page\\n\\n* [Conversation conversion process](#conversation-conversion-process)\\n* [Convert conversations to tickets](#convert-conversations-to-tickets)\\n* [Plug widget end-user experience](#plug-widget-enduser-experience)\\n* [Slack end-user experience](#slack-enduser-experience)\\n* [Conversation conversion scenarios](#conversation-conversion-scenarios)\\n* [Support workflows](#support-workflows)\\n\\n1. [Documentation](/docs)\\n3. [Computer for Support", + "id": "ART-6174_KNOWLEDGE_NODE-32", + "text": "handling**: Conversation and ticket SLAs operate independently. When converting:\\n\\n + The new ticket starts with its own response and resolution SLA timers\\n + All active SLA metrics on the original conversation are marked as completed\\n\\n[PreviousConversations](/docs/product/conversation)[NextTickets](/docs/product/tickets)\\n\\n#### On this page\\n\\n* [Conversation conversion process](#conversation-conversion-process)\\n* [Convert conversations to tickets](#convert-conversations-to-tickets)\\n*", "title": "Conversation to ticket conversion | Conversations | Computer for Support Teams | DevRev" } ] @@ -4652,8 +4652,8 @@ "query": "control email notifications for new conversation", "retrievals": [ { - "id": "ART-1953_KNOWLEDGE_NODE-30", - "text": "linked to a conversation\\n-------------------------------\\n\\n* **Trigger**: A ticket is linked to an existing conversation.\\n* **Action**: The system sends out a notification with the linked ticket number.\\n* **Sender**: {Company\\\\_Name} [support@yourdomain.com](mailto:support@yourdomain.com)\\n* **Subject**: \"\"\\n\\n![]()\\n\\nThis email is only sent to the organizations with [Convergence snap-in](https://docs.devrev.ai/automations/converge)\\n\\nChange of", + "id": "ART-1953_KNOWLEDGE_NODE-28", + "text": "**Configure** > **Notification Sender Email Address** and select the required option.\\n\\nReply to the customer on a conversation\\n---------------------------------------\\n\\n* **Trigger**: When a reply is made to a customer on a conversation and they are not online anymore.\\n* **Action**: The system sends out a notification to the customer with the recent messages while highlighting the latest message that triggered the email.\\n* **Sender**: {Sender\\\\_Name}", "title": "Customer email notifications | Computer by DevRev | DevRev" }, { @@ -4662,44 +4662,44 @@ "title": "Customer email notifications | Computer by DevRev | DevRev" }, { - "id": "ART-1953_KNOWLEDGE_NODE-32", - "text": "\\xe2\\x80\\x9cUpdate on your Conversation with {Company\\\\_Name}\"\\n\\n![]()\\n\\nThis email is only sent to organizations that have installed [Convergence snap-in](https://docs.devrev.ai/automations/converge).\\n\\nCSAT survey for conversation/ticket\\n-----------------------------------\\n\\n* **Trigger**: A CSAT survey is sent for a conversation or ticket.\\n* **Action**: The system sends out a notification with the ticket/conversation number and CSAT form.\\n* **Sender**: DevRev", + "id": "ART-1953_KNOWLEDGE_NODE-30", + "text": "linked to a conversation\\n-------------------------------\\n\\n* **Trigger**: A ticket is linked to an existing conversation.\\n* **Action**: The system sends out a notification with the linked ticket number.\\n* **Sender**: {Company\\\\_Name} [support@yourdomain.com](mailto:support@yourdomain.com)\\n* **Subject**: \"\"\\n\\n![]()\\n\\nThis email is only sent to the organizations with [Convergence snap-in](https://docs.devrev.ai/automations/converge)\\n\\nChange of", "title": "Customer email notifications | Computer by DevRev | DevRev" }, { - "id": "ART-1953_KNOWLEDGE_NODE-28", - "text": "**Configure** > **Notification Sender Email Address** and select the required option.\\n\\nReply to the customer on a conversation\\n---------------------------------------\\n\\n* **Trigger**: When a reply is made to a customer on a conversation and they are not online anymore.\\n* **Action**: The system sends out a notification to the customer with the recent messages while highlighting the latest message that triggered the email.\\n* **Sender**: {Sender\\\\_Name}", + "id": "ART-1953_KNOWLEDGE_NODE-33", + "text": "[no-reply@devrev.ai](mailto:no-reply@devrev.ai)\\n* **Subject**: \"CSAT for TKT-XXX\"\\n\\n![]()\\n\\nThis email is only sent to organizations that have installed [CSAT snap-in](https://docs.devrev.ai/automations/csat-conv).\\n\\nAuto customer reply\\n-------------------\\n\\n* **Trigger**: A new conversation is initiated from a customer.\\n* **Action**: An automated reply is sent.\\n* **Sender**: {Company\\\\_Name} [support@yourdomain.com](mailto:support@yourdomain.com)\\n* **Subject**: \"\"\\n + For conversations:", + "id": "ART-1953_KNOWLEDGE_NODE-32", + "text": "\\xe2\\x80\\x9cUpdate on your Conversation with {Company\\\\_Name}\"\\n\\n![]()\\n\\nThis email is only sent to organizations that have installed [Convergence snap-in](https://docs.devrev.ai/automations/converge).\\n\\nCSAT survey for conversation/ticket\\n-----------------------------------\\n\\n* **Trigger**: A CSAT survey is sent for a conversation or ticket.\\n* **Action**: The system sends out a notification with the ticket/conversation number and CSAT form.\\n* **Sender**: DevRev", "title": "Customer email notifications | Computer by DevRev | DevRev" }, { - "id": "ART-1953_KNOWLEDGE_NODE-36", - "text": "conversation](#ticket-linked-to-a-conversation)\\n* [Change of stage of a ticket/conversation](#change-of-stage-of-a-ticketconversation)\\n* [CSAT survey for conversation/ticket](#csat-survey-for-conversationticket)\\n* [Auto customer reply](#auto-customer-reply)\\n* [Auto reply on email](#auto-reply-on-email)\\n\\n[Enterprise grade security to protect customer data\\n\\nLearn more about it.\\n\\n![]()](/blog/soc-compliance)\\n\\nComputer\\n\\n* [Meet Computer](/meet-computer)\\n* [How Computer", - "title": "Customer email notifications | Computer by DevRev | DevRev" + "id": "ART-2027_KNOWLEDGE_NODE-47", + "text": "AirSync](/docs/integrations/google-calendar-airdrop)[NextEmail snap-in configuration](/docs/integrations/email-config)\\n\\n#### On this page\\n\\n* [Conversation and ticket creation for emails](#conversation-and-ticket-creation-for-emails)\\n* [Email experience from an end user perspective](#email-experience-from-an-end-user-perspective)\\n* [Email experience from an support agent perspective](#email-experience-from-an-support-agent-perspective)\\n* [Email notifications](#email-notifications)\\n* [The", + "title": "Email | Integrate | Snap-ins | DevRev" }, { - "id": "ART-1953_KNOWLEDGE_NODE-4", - "text": "insights](/docs/dashboards/conversation-insights)\\n - [Conversation-SLA Analytics](/docs/dashboards/conversation-sla-analytics)\\n - [Conversation-Team Performance](/docs/dashboards/conversation-team-performance)\\n - [Ticket insights](/docs/dashboards/ticket-insights)\\n - [Ticket-SLA Analytics](/docs/dashboards/ticket-sla-analytics)\\n - [Ticket-Team Performance](/docs/dashboards/ticket-team-performance)\\n + [Conversations](/docs/product/conversation)\\n\\n - [Conversation to", + "id": "ART-1953_KNOWLEDGE_NODE-35", + "text": "installed [Auto-reply snap-in](https://docs.devrev.ai/automations/auto-reply).\\n\\n[PreviousUpdates](/docs/product/updates)[NextRoles](/docs/product/roles)\\n\\n#### On this page\\n\\n* [White-label customer email notifications](#whitelabel-customer-email-notifications)\\n* [Reply to the customer on a conversation](#reply-to-the-customer-on-a-conversation)\\n* [Reply to the customer on a ticket](#reply-to-the-customer-on-a-ticket)\\n* [Ticket linked to a", "title": "Customer email notifications | Computer by DevRev | DevRev" }, + { + "id": "ART-3068_KNOWLEDGE_NODE-1", + "text": "[Groups](/docs/product/groups)\\n + [Parts & trails](/docs/product/parts)\\n + [Vistas](/docs/product/vistas)\\n\\n - [Vista Reports](/docs/product/vista-reports)\\n - [Board view](/docs/product/board-view)\\n + [Tasks](/docs/product/tasks)\\n + [Updates](/docs/product/updates)\\n + [Customer email notifications](/docs/product/customer-emails)\\n + [Roles](/docs/product/roles)\\n\\n - [Default privileges by group](/docs/product/privs)\\n + [Access control](/docs/product/access-control)\\n +", + "title": "Conversation reminder | Automate | Snap-ins | DevRev" + }, { "id": "ART-1953_KNOWLEDGE_NODE-24", "text": "conversation](#reply-to-the-customer-on-a-conversation)\\n* [Reply to the customer on a ticket](#reply-to-the-customer-on-a-ticket)\\n* [Ticket linked to a conversation](#ticket-linked-to-a-conversation)\\n* [Change of stage of a ticket/conversation](#change-of-stage-of-a-ticketconversation)\\n* [CSAT survey for conversation/ticket](#csat-survey-for-conversationticket)\\n* [Auto customer reply](#auto-customer-reply)\\n* [Auto reply on email](#auto-reply-on-email)\\n\\n1. [Documentation](/docs)\\n3.", "title": "Customer email notifications | Computer by DevRev | DevRev" }, { - "id": "ART-1820_KNOWLEDGE_NODE-3", - "text": "Error\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/beta/api-reference/notifications/content-template-list-post)[#### Create Conversation\\n\\nNext](/beta/api-reference/conversations/create)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", - "title": "Send Notifications | DevRev | Docs" - }, - { - "id": "ART-1953_KNOWLEDGE_NODE-35", - "text": "installed [Auto-reply snap-in](https://docs.devrev.ai/automations/auto-reply).\\n\\n[PreviousUpdates](/docs/product/updates)[NextRoles](/docs/product/roles)\\n\\n#### On this page\\n\\n* [White-label customer email notifications](#whitelabel-customer-email-notifications)\\n* [Reply to the customer on a conversation](#reply-to-the-customer-on-a-conversation)\\n* [Reply to the customer on a ticket](#reply-to-the-customer-on-a-ticket)\\n* [Ticket linked to a", - "title": "Customer email notifications | Computer by DevRev | DevRev" + "id": "ART-3068_KNOWLEDGE_NODE-0", + "text": "b'Conversation reminder | Automate | Snap-ins | DevRev\\n\\n* Computer\\n* Resources\\n* [Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nComputer\\n\\nResources\\n\\n[Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nSearch\\n\\n`CTRL`\\xc2\\xa0+\\xc2\\xa0`K`\\n\\n* [Introduction](/docs)\\n* [Computer by DevRev](/docs/intro)\\n\\n + [Core concepts](/docs/product/core)\\n + [Apps](/docs/product/apps)\\n +", + "title": "Conversation reminder | Automate | Snap-ins | DevRev" } ] }, @@ -4708,54 +4708,54 @@ "query": "create mandatory field time log spent on a ticket", "retrievals": [ { - "id": "ART-15688_KNOWLEDGE_NODE-29", - "text": "system automatically validates:\\n\\n * Date format and range (within last 10 days to next 10 days)\\n * Hours and minutes values\\n * Prevents logging when both hours and minutes are zero\\n3. **Confirmation**: After successful validation, the effort is logged and a confirmation message appears in the timeline.\\n\\nSupported object types\\n----------------------\\n\\nThe Effort logger snap-in works with the following object types:\\n\\n* **Tickets**: Log effort against support tickets, bug reports,", + "id": "ART-15688_KNOWLEDGE_NODE-24", + "text": "[Supported object types](#supported-object-types)\\n\\n1. [Documentation](/docs)\\n3. [Snap-ins](/docs/snapins)\\n[Automate](/docs/automate)\\n[Effort logger](/docs/automations/effort-logger)\\n\\nEffort logger\\n=============\\n\\nThe effort logger snap-in allows users to log effort against objects with comprehensive validation and custom schema management. It provides a seamless way for teams to track time spent on tickets, conversations, and other objects within", "title": "Effort logger | Automate | Snap-ins | DevRev" }, { - "id": "ART-2021_KNOWLEDGE_NODE-24", - "text": "[Documentation](/docs)\\n3. [Snap-ins](/docs/snapins)\\n[Automate](/docs/automate)\\n[Ticket age in engineering](/docs/automations/ticket-age-in-engineering)\\n\\nTicket age in engineering\\n=========================\\n\\n[Ticket age in engineering](/marketplace/ticket-age-in-engineering)\\noffers the ability to track how much time tickets spend on engineering, measured\\nby ticket time spent on engineering stages.\\n\\nThe snap-in adds a new attribute to tickets which automatically calculates the\\ntime", - "title": "Ticket age in engineering | Automate | Snap-ins | DevRev" + "id": "ART-1975_KNOWLEDGE_NODE-29", + "text": "stage\\n--------------------\\n\\n* **Average time spent per stage**\\n\\n The average time tickets spent in each stage.\\n\\n[PreviousConversation-Team Performance](/docs/dashboards/conversation-team-performance)[NextTicket-SLA Analytics](/docs/dashboards/ticket-sla-analytics)\\n\\n#### On this page\\n\\n* [Customer & product impact](#customer-product-impact)\\n* [Ticket distribution](#ticket-distribution)\\n* [Customer satisfaction (CSAT)](#customer-satisfaction-csat)\\n* [Time spent per", + "title": "Ticket insights | Support analytics | Computer for Support Teams | DevRev" }, { - "id": "ART-2021_KNOWLEDGE_NODE-25", - "text": "spent on engineering for that ticket. There can be multiple engineering\\nsessions. An engineering session starts when a ticket moves from a\\nnon-engineering stage to an engineering stage and it ends when it moves from an\\nengineering stage to a non-engineering stage. You should select which ticket\\nstages reflect engineering work and if the time spent should be shown in hours\\nor days.\\n\\nInstalling the Ticket age in engineering snap-in\\n------------------------------------------------\\n\\n1.", + "id": "ART-2021_KNOWLEDGE_NODE-26", + "text": "Install the\\n [Ticket age in engineering](/marketplace/ticket-age-in-engineering)\\n from the DevRev marketplace.\\n2. Add all of the **stage names** that reflect that engineering work is planned\\n or is being done for that ticket. The stages you specify are the ones that\\n track time spent on engineering. The default values are the default DevRev\\n engineering stages for tickets.\\n3. Select whether time spent on engineering should be displayed in hours or\\n days.\\n4. Click **Install", "title": "Ticket age in engineering | Automate | Snap-ins | DevRev" }, { - "id": "ART-1961_KNOWLEDGE_NODE-37", - "text": "\\n{{Ticket\\xc2\\xa0Created\\xc2\\xa0>\\xc2\\xa0Output\\xc2\\xa0>\\xc2\\xa0Reported\\xc2\\xa0By\\xc2\\xa0>\\xc2\\xa0Rev\\xc2\\xa0Org\\xc2\\xa0>\\xc2\\xa0Display\\xc2\\xa0Name}}.\\xe2\\x80\\x9d\\n\\n\\n\\nDelay\\n\\n\\n\\nDuration: 2 minutes\\n\\n\\n\\nIf-else\\n\\n\\n\\nAttribute:\\xc2\\xa0Ticket\\xc2\\xa0Created/Output\\xc2\\xa0>\\xc2\\xa0Applies\\xc2\\xa0to\\xc2\\xa0part\\xc2\\xa0>\\xc2\\xa0Display\\xc2\\xa0ID \\nOperator: Equals \\nOperand: CAPL-18\\n\\n\\n\\nTicket \\ncreated\\n\\n\\n\\nEnd\\n```\\n\\n[### Workflow action", - "title": "Workflows | Computer by DevRev | DevRev" + "id": "ART-1275_KNOWLEDGE_NODE-19", + "text": "owned_by: [\"DEVU-1\"], |\\n| 23 | type: publicSDK.WorkType.Ticket, |\\n| 24 | }); |\\n| 25 | |\\n| 26 | console.log(response); |\\n| 27 | } |\\n| 28 | }; |\\n| 29 | |\\n| 30 | export default run; |\\n```\\n\\n[6](/snapin-development/tutorials/timer-ticket-creator#deploying-the-snap-in-to-your-organization)\\n\\n### Deploying the snap-in to your organization\\n\\nOnce satisfied with the code changes, move to the `code` folder, and run\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | npm install |\\n| > | |\\n| > | npm", + "title": "Using a snap-in to perform a DevRev action | DevRev | Docs" }, { - "id": "ART-15688_KNOWLEDGE_NODE-28", - "text": "effort logs as custom objects with structured data\\n\\nHow to use\\n----------\\n\\n1. **Access the command**: In the timeline of any ticket or conversation, type the following command:\\n\\n```\\n```\\n1 /log_effort\\n```\\n```\\n\\n1. **Enter effort details**: The snap-in prompts you to enter:\\n\\n * **Date**: The date when the effort was performed (MM/DD/YYYY format)\\n * **Hours**: Number of hours worked (0 or positive number)\\n * **Minutes**: Number of minutes worked (0-59)\\n2. **Validation**: The", - "title": "Effort logger | Automate | Snap-ins | DevRev" + "id": "ART-15716_KNOWLEDGE_NODE-35", + "text": "filters\\n\\nYou can create a simple report by clicking on the Smart Icon at the top right corner and selecting \\'Create New report.\\' Create a dashboard and a widget by giving a name. Select the dimensions and measures and finalize the visualization of the widget and click on the preview widget to test it out.\\n\\nEach widget can be customized with filters, groupings, and visualizations (charts, tables, etc.)4. Create a dashboard for tracking ticket resolution time\\n\\nCreate a new dashboard in", + "title": "Support queries related playbook" }, { - "id": "ART-2021_KNOWLEDGE_NODE-26", - "text": "Install the\\n [Ticket age in engineering](/marketplace/ticket-age-in-engineering)\\n from the DevRev marketplace.\\n2. Add all of the **stage names** that reflect that engineering work is planned\\n or is being done for that ticket. The stages you specify are the ones that\\n track time spent on engineering. The default values are the default DevRev\\n engineering stages for tickets.\\n3. Select whether time spent on engineering should be displayed in hours or\\n days.\\n4. Click **Install", - "title": "Ticket age in engineering | Automate | Snap-ins | DevRev" + "id": "ART-1003_KNOWLEDGE_NODE-26", + "text": "support tickets, which helps measure workload balance and resource allocation.\\n \\n \\n Calculation\\n \\n (Total hours spent on support tasks) / (Total working hours) * 100\\n \\n \\n\\n\\nSELECT (SUM(TIMESTAMPDIFF(MINUTE, t.start_time, t.end_time)) * 100) / (COUNT(DISTINCT t.engineer_id) * 8 * 60) AS AgentUtilizationRate\\nFROM ticket_work_times\\n\\n\"", + "title": "Understanding a Support Lead's Pain Points and KPIs" }, { - "id": "ART-2665_KNOWLEDGE_NODE-13", - "text": "creator](/docs/automations/smart-issue-creator)\\n - [Set user preference for group](/docs/automations/set-user-preference)\\n - [SLA status change Slack notifier](/docs/automations/sla-change-notifier)\\n - [Slash commands](/docs/automations/slash-commands)\\n - [Spam Shield](/docs/automations/spam-shield)\\n - [Subtype Migration](/docs/automations/subtype-migration)\\n - [Ticket age in engineering](/docs/automations/ticket-age-in-engineering)\\n - [Ticket issue field", - "title": "Session recording options | Session analytics | Computer for Your Customers | DevRev" + "id": "ART-1975_KNOWLEDGE_NODE-24", + "text": "[Product demos](/docs/DevRevU/demos)\\n\\nOn this page\\n\\n* [Customer & product impact](#customer-product-impact)\\n* [Ticket distribution](#ticket-distribution)\\n* [Customer satisfaction (CSAT)](#customer-satisfaction-csat)\\n* [Time spent per stage](#time-spent-per-stage)\\n\\n1. [Documentation](/docs)\\n3. [Computer for Support Teams](/docs/product/support)\\n[Support analytics](/docs/product/support-analytics)\\n[Ticket insights](/docs/dashboards/ticket-insights)\\n\\nTicket", + "title": "Ticket insights | Support analytics | Computer for Support Teams | DevRev" }, { - "id": "ART-2028_KNOWLEDGE_NODE-24", - "text": "[Snap-ins](/docs/snapins)\\n[Automate](/docs/automate)\\n[Work duration](/docs/automations/work-duration)\\n\\nWork duration\\n=============\\n\\n[Work duration](/marketplace/work-duration) offers the ability\\nto track how much work issues and tickets took to complete, measured by time\\nspent in work sessions.\\n\\nThe snap-in adds a new attribute to tickets and issues which automatically\\ncalculates the work duration for that item. Work duration is meassured in time\\nspent through work sessions. A work", - "title": "Work duration | Automate | Snap-ins | DevRev" + "id": "ART-1975_KNOWLEDGE_NODE-28", + "text": "conversations against standalone tickets.\\n* **Tickets linked to issues**\\n\\n The percentage of tickets linked to product issues.\\n* **Active tickets by owner**\\n\\n The number of Open or In Progress tickets grouped by owner.\\n* **Tickets created vs. closed**\\n\\n The trend of tickets created against those closed.\\n\\nCustomer satisfaction (CSAT)\\n----------------------------\\n\\n* **CSAT score distribution**\\n\\n A distribution of customer satisfaction scores on tickets.\\n\\nTime spent per", + "title": "Ticket insights | Support analytics | Computer for Support Teams | DevRev" }, { - "id": "ART-2665_KNOWLEDGE_NODE-14", - "text": "migrator](/docs/automations/ticket-issue-field-migrator)\\n - [Ticket Immutability](/docs/automations/ticket-immutability)\\n - [Ticket email notifier](/docs/automations/ticket-email-notifier)\\n - [Task tracker](/docs/automations/task-tracker)\\n - [Ticket Tagger](/docs/automations/ticket-tagger)\\n - [Tracxn sync](/docs/automations/tracxn-sync)\\n - [User group validator](/docs/automations/user-group-validator)\\n - [Work duration](/docs/automations/work-duration)\\n -", - "title": "Session recording options | Session analytics | Computer for Your Customers | DevRev" + "id": "ART-1986_KNOWLEDGE_NODE-35", + "text": "of schedule when they remain at the same stage, but time spent out of schedule isn't included in the calculation.\\n\\n![]()\\n\\nIf the customer account is updated after the ticket is created, all SLA metrics will be recalculated based on the updated customer account information. Any previous SLA breaches or achievements will be discarded, and new calculations will be applied according to the updated SLA.\\n\\nThe following table describes how each metric works for tickets and", + "title": "Service-level agreement | Computer for Support Teams | DevRev" }, { - "id": "ART-1003_KNOWLEDGE_NODE-26", - "text": "support tickets, which helps measure workload balance and resource allocation.\\n \\n \\n Calculation\\n \\n (Total hours spent on support tasks) / (Total working hours) * 100\\n \\n \\n\\n\\nSELECT (SUM(TIMESTAMPDIFF(MINUTE, t.start_time, t.end_time)) * 100) / (COUNT(DISTINCT t.engineer_id) * 8 * 60) AS AgentUtilizationRate\\nFROM ticket_work_times\\n\\n\"", - "title": "Understanding a Support Lead's Pain Points and KPIs" + "id": "ART-2021_KNOWLEDGE_NODE-25", + "text": "spent on engineering for that ticket. There can be multiple engineering\\nsessions. An engineering session starts when a ticket moves from a\\nnon-engineering stage to an engineering stage and it ends when it moves from an\\nengineering stage to a non-engineering stage. You should select which ticket\\nstages reflect engineering work and if the time spent should be shown in hours\\nor days.\\n\\nInstalling the Ticket age in engineering snap-in\\n------------------------------------------------\\n\\n1.", + "title": "Ticket age in engineering | Automate | Snap-ins | DevRev" } ] }, @@ -4764,54 +4764,54 @@ "query": "Just-in-time (JIT) provisioning for dynamic access", "retrievals": [ { - "id": "ART-1978_KNOWLEDGE_NODE-41", - "text": "If no such contact is found, JIT provisioning automatically creates a user account, allowing immediate access to the portal. This means users can sign up and log in without manual contact creation within the app.\\n* **Existing contacts without mapped accounts**: If a user is already a contact within the app but does not have a mapped account, they can still log in and create a ticket. In this scenario, the login is performed under the default workspace assigned to the contact.\\n* **Account", + "id": "ART-1978_KNOWLEDGE_NODE-40", + "text": " portion is based on your company name.\\n\\nIf you want to host your customer portal on a custom domain, please contact our support team.\\n\\nJust-in-time access to the customer portal\\n------------------------------------------\\n\\nDevRev offers just-in-time (JIT) provisioning to streamline login processes by automatically handling user account management.\\n\\n* **Automatic account creation**: When a user logs in, the system verifies if the user exists as a contact within an account.", "title": "Customer portal | Computer for Support Teams | DevRev" }, { - "id": "ART-738_KNOWLEDGE_NODE-17", - "text": "level\\n Also, some vendors who didn\\xe2\\x80\\x99t grow up in the \\xe2\\x80\\x9cas a service\\xe2\\x80\\x9d era will need to change processes to embrace CI/CD (some may have)\\n A good ask here is how frequently changes are deployed\\n When something new comes out, we can react and enable rapidly; others may be slower to enable, leading to a gap between when something is \\xe2\\x80\\x9cavailable\\xe2\\x80\\x9d and \\xe2\\x80\\x9creally available\\xe2\\x80\\x9d\\n \\n \\n\\n\\nMost of the available", - "title": "DevRev | Built for AI (not by AI... yet)" + "id": "ART-1978_KNOWLEDGE_NODE-41", + "text": "If no such contact is found, JIT provisioning automatically creates a user account, allowing immediate access to the portal. This means users can sign up and log in without manual contact creation within the app.\\n* **Existing contacts without mapped accounts**: If a user is already a contact within the app but does not have a mapped account, they can still log in and create a ticket. In this scenario, the login is performed under the default workspace assigned to the contact.\\n* **Account", + "title": "Customer portal | Computer for Support Teams | DevRev" }, { - "id": "ART-1978_KNOWLEDGE_NODE-40", - "text": " portion is based on your company name.\\n\\nIf you want to host your customer portal on a custom domain, please contact our support team.\\n\\nJust-in-time access to the customer portal\\n------------------------------------------\\n\\nDevRev offers just-in-time (JIT) provisioning to streamline login processes by automatically handling user account management.\\n\\n* **Automatic account creation**: When a user logs in, the system verifies if the user exists as a contact within an account.", + "id": "ART-1978_KNOWLEDGE_NODE-47", + "text": "articles](#integrating-your-knowledge-base-articles)\\n* [Customize the customer portal](#customize-the-customer-portal)\\n* [Customize portal URL](#customize-portal-url)\\n* [Just-in-time access to the customer portal](#justintime-access-to-the-customer-portal)\\n* [Troubleshooting](#troubleshooting)\\n\\n[Enterprise grade security to protect customer data\\n\\nLearn more about it.\\n\\n![]()](/blog/soc-compliance)\\n\\nComputer\\n\\n* [Meet Computer](/meet-computer)\\n* [How Computer", "title": "Customer portal | Computer for Support Teams | DevRev" }, { - "id": "ART-1687_KNOWLEDGE_NODE-3", - "text": "Jira, simplifying the process.\\n2. **Provide credentials:** During development, you\\xe2\\x80\\x99ll provide your developer keyring of type `oauth-secret` which contains client ID and client secret for the chosen service within the keyring definition. These credentials are securely stored and not distributed with your published snap-in.\\n3. **OAuth 2.0 flow:** When your snap-in needs to access user data from the external service, it initiates the OAuth flow. This typically involves redirecting the", - "title": "OAuth 2.0 configuration: Securely storing access tokens | DevRev | Docs" + "id": "ART-1978_KNOWLEDGE_NODE-25", + "text": "articles](#integrating-your-knowledge-base-articles)\\n* [Customize the customer portal](#customize-the-customer-portal)\\n* [Customize portal URL](#customize-portal-url)\\n* [Just-in-time access to the customer portal](#justintime-access-to-the-customer-portal)\\n* [Troubleshooting](#troubleshooting)\\n\\n1. [Documentation](/docs)\\n3. [Computer for Support Teams](/docs/product/support)\\n[Customer portal](/docs/product/support-portal)\\n\\nCustomer portal\\n===============\\n\\nThe customer portal is an", + "title": "Customer portal | Computer for Support Teams | DevRev" }, { - "id": "ART-992_KNOWLEDGE_NODE-13", - "text": "delivery model where we can offload the burden of requests from hitting origin and push more to the edge (more to come here!).\\n\\nIn our case we are using a mix of edge compute (C@E) which allows us to compile and execute RUST code on Fastly\\xe2\\x80\\x99s edge, which can also take advantage of their CDN which can cache content from origin.\\n\\nA quick note on WebAssembly (WASM)\\xe2\\x80\\xa6 this is one thing that is very interesting/exciting and will be one of the core enablers to making clients", - "title": "Perimeter security with Fastly edge and AWS \u2014 Part I" + "id": "ART-984_KNOWLEDGE_NODE-20", + "text": "example, metrics like time to first response, time to resolution, CSAT, etc. should be core metrics for all members of the cross-functional unit (not just the support team). Additionally, things like up-sell/cross-sell rates, win rates to CSAT scores are all crucial for the unit as a whole. For example, why can\\xe2\\x80\\x99t a PM or AE be the first to respond to a customer inquiry? It\\xe2\\x80\\x99s simple, they can and should.\\n\\nEnsure access across system boundaries\\n\\nDepending on the function", + "title": "Why you Should be Looking at Support Differently" }, { - "id": "ART-992_KNOWLEDGE_NODE-12", - "text": "0 IN A 151.101.194.137\\n;; Query time: 50 msec\\n;; SERVER: 172.29.208.1#53(172.29.208.1)\\n;; WHEN: Thu Apr 14 09:29:47 CDT 2022\\n;; MSG SIZE rcvd: 168\\n\\n\\nRequest handling/caching\\n\\nTraditionally a lot of delivery models would rely on CDNs only for their static asset caching and DDoS mitigation, still relying on origin to handle the majority of requests.\\n\\nHowever, I do believe with edge compute and the ability to execute logic efficiently on the edge via WASM we will see an inverting of the", - "title": "Perimeter security with Fastly edge and AWS \u2014 Part I" + "id": "ART-1952_KNOWLEDGE_NODE-25", + "text": "way organizations access and utilize information. In the realm of real-time reporting, the emphasis lies not just on the speed of data delivery but also on maintaining a continuous and seamless contextual flow. By enabling instant access to live data, real-time reporting ensures that decision-makers are not only kept abreast of the latest developments but can also interpret these updates within the broader context of their operations.\\n\\nThis immediacy eliminates the need for constant", + "title": "Vista Reports | Vistas | Computer by DevRev | DevRev" }, { - "id": "ART-738_KNOWLEDGE_NODE-13", - "text": "customization in from the start\\n \\n We knew extensibility would be key for any platform\\n Given the simplicity of customization, we can easily extend our object model with new annotations or context that can be used and fed into models\\n This means, that a customer or vendor, can easily extend our object model with new data on objects which can be used by models, new object types, or with the output of a model\\n \\n \\n We built multi-tenancy into the object\\n \\n", - "title": "DevRev | Built for AI (not by AI... yet)" + "id": "ART-1947_KNOWLEDGE_NODE-30", + "text": "between. A ticket is associated with a part of the product and can come from either an internal or an external user.\\n\\n> Example: \"User reported a problem using product X. They need a workaround for this problem.\"\\n\\nWhen a support ticket is filed, it\\'s a commitment that the concern will be addressed or resolved. The service-level metric for tickets is time to resolution.\\n\\nYou might have seen systems (such as Intercom) that have just conversations or systems (such as Zendesk) that just have", + "title": "Apps | Computer by DevRev | DevRev" }, { - "id": "ART-992_KNOWLEDGE_NODE-8", - "text": "any security groups with inbound rules allowing 0.0.0.0/0 with any/all port/protocols, or inbound SSH (yikes) you should consider evaluating things :)\\n\\nFastly CDN/C@E\\n\\n\\n\\nCDNs are not a new concept and have been around for years providing static asset caching and DDoS prevention.\\n\\nHowever, in the past few years, these have expanded to now include capabilities like web-application firewalls (WAFs) and edge compute (logic execution in the CDN) capabilities.\\n\\nIn this section,", - "title": "Perimeter security with Fastly edge and AWS \u2014 Part I" + "id": "ART-1005_KNOWLEDGE_NODE-8", + "text": "semblance for the past 20+ years, I was very familiar with its functionality and problems. We needed something that was flexible, scalable, and wasn\\xe2\\x80\\x99t built using 20+ year old constructs (Azure AD is still AD).\\n\\nWhat did we need?\\n\\n\\n Automated integration with our HRIS for user provisioning during onboarding\\n Ability to federate auth to a variety of different services across vendors\\n Something I could set and forget\\n\\n\\nWe set up BambooHR to be our profile master for Okta,", + "title": "Choosing the Right Systems For Your Startup" }, { - "id": "ART-738_KNOWLEDGE_NODE-14", - "text": "Rather than physically segmenting tenant data, we built tenancy into the objects using specific attributes which act as partitions\\n This allows us to create macro partitions (e.g., customer) or extremely granular partitions (e.g., user level)\\n This gives us a ton of flexibility as all data is in one place and the granularity can range from macro to micro\\n \\n \\n We designed our services for the cloud\\n \\n Being built in the \\xe2\\x80\\x9cera of cloud\\xe2\\x80\\x9d we had a", - "title": "DevRev | Built for AI (not by AI... yet)" + "id": "ART-1005_KNOWLEDGE_NODE-15", + "text": "really two core options: GitHub and GitLab, GitHub being the largest by a far cry even though GitLab has some cool features.\\n\\nWith Github we could integrate natively into Okta for SSO and SCIM based user provisioning. As users are onboarded into Okta, and based upon their department (e.g. Engineering), it will automatically invite the users to our organization in GitHub.\\n\\nWe then have IdP synchronization for groups which repo access is mapped to. So as users changes groups, their privileges", + "title": "Choosing the Right Systems For Your Startup" }, { - "id": "ART-970_KNOWLEDGE_NODE-102", - "text": "groundwork, ensuring we possessed the requisite keys to partition and segment data effectively. This profound understanding of the structure empowered us to fashion granular and precise authorization mechanisms. By dedicating upfront effort to this aspect, we\\xe2\\x80\\x99ve endowed our system with authorization capabilities that some mature companies can only envision, including support for role-based access control (RBAC), attribute-based access control (ABAC), policy-based access control", - "title": "The Story" + "id": "ART-2133_KNOWLEDGE_NODE-44", + "text": "analytics has been expensive, in the hands of a chosen few, and complex due to external dependencies such as cumbersome data warehouses and fragile data pipelines.\\n\\nD Ex\\n\\nThe essential philosophy argues for complete data access for maximum people, so as to reduce the number of escalation meetings, product wastage, and incident response times. But more importantly, it is not just about point-in-time data but also historical data, so essentialist companies reduce recency bias in their", + "title": "The Essential Methodology: Less but Better" } ] }, @@ -4820,53 +4820,53 @@ "query": "Audit logging for all customer portal activities", "retrievals": [ { - "id": "ART-1978_KNOWLEDGE_NODE-32", - "text": "on the following URL: support.devrev.ai/.\\n* Your customers can log in on the portal by entering their registered email address and OTP sent to that email address.\\n\\n![]()\\n\\n### Customer roles and permissions\\n\\nThe customer portal has two levels of customer roles and permissions:\\n\\n* **Verified customers**: Customers who can log in on the portal and see the tickets that they have created.\\n* **Customer admins**: Customers who can log in on the portal and see not just their own", - "title": "Customer portal | Computer for Support Teams | DevRev" + "id": "ART-16789_KNOWLEDGE_NODE-34", + "text": "controls, activity logging, and dedicated customer success management for enterprise customers.'", + "title": "Computer General FAQs" }, { - "id": "ART-1978_KNOWLEDGE_NODE-46", - "text": "tracking, and team collaboration](#ticket-creation-tracking-and-team-collaboration)\\n* [Conversations and messaging](#conversations-and-messaging)\\n* [Article search](#article-search)\\n* [SEO compatibility](#seo-compatibility)\\n* [Get started](#get-started)\\n* [Customer roles and permissions](#customer-roles-and-permissions)\\n* [Set up customer admins](#set-up-customer-admins)\\n* [Customer portal login methods](#customer-portal-login-methods)\\n* [Integrating your knowledge base", + "id": "ART-1978_KNOWLEDGE_NODE-23", + "text": "2025](/docs/changelog/_2025-06-01)\\n + [May 2025](/docs/changelog/_2025-05-01)\\n + [March and April 2025](/docs/changelog/_2025-04-01)\\n + [February 2025](/docs/changelog/_2025-02-01)\\n* [Developer \\xe2\\x86\\x97\\xef\\xb8\\x8f](https://developer.devrev.ai/)\\n* [DevRevU \\xe2\\x86\\x97\\xef\\xb8\\x8f](/docs/DevRevU)\\n\\n + [Product demos](/docs/DevRevU/demos)\\n\\nOn this page\\n\\n* [Benefits of using the customer portal](#benefits-of-using-the-customer-portal)\\n* [Features](#features)\\n* [Ticket", "title": "Customer portal | Computer for Support Teams | DevRev" }, { - "id": "ART-1978_KNOWLEDGE_NODE-34", - "text": "registered email address and go to **Settings** > **User management** > **Groups > Customer Admins**.\\n2. Select the **Add User** option in the top-right corner to search for the customer whom you want to designate as a customer admin.\\n\\n### Customer portal login methods\\n\\nThe customer portal supports three login methods:\\n\\n1. Email OTP (One-Time Password): User enters their email, receives a one-time code, and enters it to log in.\\n2. SSO: Users log in through organization\\xe2\\x80\\x99s", + "id": "ART-1978_KNOWLEDGE_NODE-29", + "text": "Ticket tracking allows customers to monitor the progress of their requests and view updates in real-time.\\n* Customer admins can access all tickets created by their team members, facilitating collaboration and knowledge sharing.\\n\\n### Conversations and messaging\\n\\n* Customers can engage in threaded conversations with support representatives, providing additional information or seeking clarification regarding their tickets.\\n* Support teams can respond to customer inquiries, ensuring effective", "title": "Customer portal | Computer for Support Teams | DevRev" }, { - "id": "ART-1978_KNOWLEDGE_NODE-24", - "text": "creation, tracking, and team collaboration](#ticket-creation-tracking-and-team-collaboration)\\n* [Conversations and messaging](#conversations-and-messaging)\\n* [Article search](#article-search)\\n* [SEO compatibility](#seo-compatibility)\\n* [Get started](#get-started)\\n* [Customer roles and permissions](#customer-roles-and-permissions)\\n* [Set up customer admins](#set-up-customer-admins)\\n* [Customer portal login methods](#customer-portal-login-methods)\\n* [Integrating your knowledge base", + "id": "ART-1978_KNOWLEDGE_NODE-32", + "text": "on the following URL: support.devrev.ai/.\\n* Your customers can log in on the portal by entering their registered email address and OTP sent to that email address.\\n\\n![]()\\n\\n### Customer roles and permissions\\n\\nThe customer portal has two levels of customer roles and permissions:\\n\\n* **Verified customers**: Customers who can log in on the portal and see the tickets that they have created.\\n* **Customer admins**: Customers who can log in on the portal and see not just their own", "title": "Customer portal | Computer for Support Teams | DevRev" }, { - "id": "ART-16789_KNOWLEDGE_NODE-34", - "text": "controls, activity logging, and dedicated customer success management for enterprise customers.'", - "title": "Computer General FAQs" + "id": "ART-1978_KNOWLEDGE_NODE-44", + "text": "URL and not on the support portal of some other customer.\\n* Customer admin isn't able to see all the tickets of the organization.\\n\\n + This could happen if the customer isn't logged in on the correct URL. If the customer is logged in on the correct URL, then check if there are any tickets that are reported by the other customers in that organization or not. Check if the customer is added as a customer admin or not by logging in to your DevRev application.\\n* You are not able to add customer", + "title": "Customer portal | Computer for Support Teams | DevRev" }, { - "id": "ART-2664_KNOWLEDGE_NODE-27", - "text": "your\\n [website](https://developer.devrev.ai/sdks/web/installation) or\\n [mobile app](https://developer.devrev.ai/sdks/mobile).\\n2. For web applications, configure\\n [user identification](https://developer.devrev.ai/sdks/web/user-identity).\\n3. Enable session recording for your users, go to **Settings** > **PluG and Portal** >\\n **Session Replays** and enable recording for your desired platform.\\n\\n **Note**: Alternatively, you can enable session recording during Plug SDK\\n", - "title": "Session analytics | Computer for Your Customers | DevRev" + "id": "ART-2718_KNOWLEDGE_NODE-0", + "text": "b'Fetch Audit Logs | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nBeta\\n\\nBeta\\n\\nBeta\\n\\nSearch\\n\\n`/`\\n\\n[API Reference](/beta/api-reference/accounts/create)[compliance](/beta/api-reference/compliance/export-audit-logs)\\n\\nFetch Audit Logs\\n================\\n\\nBeta\\n\\nCopy page\\n\\nPOST\\n\\nhttps://api.devrev.ai/audit-logs.fetch\\n\\nPOST\\n\\n/audit-logs.fetch\\n\\ncURL\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl -X POST https://api.devrev.ai/audit-logs.fetch \\\\ |\\n| > | -H", + "title": "Fetch Audit Logs | DevRev | Docs" }, { - "id": "ART-2665_KNOWLEDGE_NODE-1", - "text": "[Apps](/docs/product/apps)\\n + [Groups](/docs/product/groups)\\n + [Parts & trails](/docs/product/parts)\\n + [Vistas](/docs/product/vistas)\\n\\n - [Vista Reports](/docs/product/vista-reports)\\n - [Board view](/docs/product/board-view)\\n + [Tasks](/docs/product/tasks)\\n + [Updates](/docs/product/updates)\\n + [Customer email notifications](/docs/product/customer-emails)\\n + [Roles](/docs/product/roles)\\n\\n - [Default privileges by group](/docs/product/privs)\\n + [Access", + "id": "ART-2665_KNOWLEDGE_NODE-5", + "text": "[Conversations](/docs/product/conversation)\\n\\n - [Conversation to ticket conversion](/docs/product/conversation-ticket)\\n + [Tickets](/docs/product/tickets)\\n + [Routing](/docs/product/routing)\\n + [Support best practices](/docs/product/support-bp)\\n + [Customer portal](/docs/product/support-portal)\\n + [Questions & answers](/docs/product/qa)\\n + [Knowledge Base](/docs/product/knowledge-base)\\n\\n - [Articles](/docs/product/articles)\\n - [Collections](/docs/product/collection)\\n", "title": "Session recording options | Session analytics | Computer for Your Customers | DevRev" }, { - "id": "ART-1978_KNOWLEDGE_NODE-25", - "text": "articles](#integrating-your-knowledge-base-articles)\\n* [Customize the customer portal](#customize-the-customer-portal)\\n* [Customize portal URL](#customize-portal-url)\\n* [Just-in-time access to the customer portal](#justintime-access-to-the-customer-portal)\\n* [Troubleshooting](#troubleshooting)\\n\\n1. [Documentation](/docs)\\n3. [Computer for Support Teams](/docs/product/support)\\n[Customer portal](/docs/product/support-portal)\\n\\nCustomer portal\\n===============\\n\\nThe customer portal is an", - "title": "Customer portal | Computer for Support Teams | DevRev" + "id": "ART-2050_KNOWLEDGE_NODE-27", + "text": "[methods](https://developer.devrev.ai/public/sdks/web/methods) providing the framework for customer support interactions.\\n\\n### \\xf0\\x9f\\x8e\\x9e\\xef\\xb8\\x8f Session recording and analytics\\n\\n[Session analytics](/docs/plug/session-analytics-intro) captures user website interactions through recordings and detailed logging, enabling businesses to visualize behavior patterns, analyze conversion funnels, and optimize user experience through Computer for User Insights.\\n\\n### \\xf0\\x9f\\x93\\x9d", + "title": "Computer for Your Customers | DevRev" }, { - "id": "ART-2664_KNOWLEDGE_NODE-1", - "text": "[Groups](/docs/product/groups)\\n + [Parts & trails](/docs/product/parts)\\n + [Vistas](/docs/product/vistas)\\n\\n - [Vista Reports](/docs/product/vista-reports)\\n - [Board view](/docs/product/board-view)\\n + [Tasks](/docs/product/tasks)\\n + [Updates](/docs/product/updates)\\n + [Customer email notifications](/docs/product/customer-emails)\\n + [Roles](/docs/product/roles)\\n\\n - [Default privileges by group](/docs/product/privs)\\n + [Access control](/docs/product/access-control)\\n +", - "title": "Session analytics | Computer for Your Customers | DevRev" + "id": "ART-2718_KNOWLEDGE_NODE-1", + "text": "\"Authorization: Bearer \" \\\\ |\\n| > | -H \"Content-Type: application/json\" \\\\ |\\n| > | -d \\'{ |\\n| > | \"from\": \"2023-01-01T12:00:00.000Z\", |\\n| > | \"to\": \"2023-01-01T12:00:00.000Z\" |\\n| > | }\\' |\\n```\\n\\n[Try it](/beta/api-reference/compliance/export-audit-logs?explorer=true)\\n\\n200Successful\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | {} |\\n```\\n\\nRetrieves audit logs.\\n\\n### Headers\\n\\nAuthorizationstringRequired\\n\\nBearer authentication of the form `Bearer `, where token is your auth", + "title": "Fetch Audit Logs | DevRev | Docs" }, { - "id": "ART-1978_KNOWLEDGE_NODE-1", - "text": "[Groups](/docs/product/groups)\\n + [Parts & trails](/docs/product/parts)\\n + [Vistas](/docs/product/vistas)\\n\\n - [Vista Reports](/docs/product/vista-reports)\\n - [Board view](/docs/product/board-view)\\n + [Tasks](/docs/product/tasks)\\n + [Updates](/docs/product/updates)\\n + [Customer email notifications](/docs/product/customer-emails)\\n + [Roles](/docs/product/roles)\\n\\n - [Default privileges by group](/docs/product/privs)\\n + [Access control](/docs/product/access-control)\\n +", + "id": "ART-1978_KNOWLEDGE_NODE-33", + "text": "tickets but also all the tickets raised by the other users from their organization. You can add multiple customer admins from the same customer organization.\\n\\nOnly verified users can login into the portal.\\n\\nTo create a verified user:\\n\\n1. Go to **Accounts** in the DevRev app and create an account.\\n2. Create a contact under **Contacts** and link it to the account.\\n\\n### Set up customer admins\\n\\nTo set up customer admins, follow these steps:\\n\\n1. Log in on your DevRev app with your", "title": "Customer portal | Computer for Support Teams | DevRev" } ] @@ -4881,49 +4881,49 @@ "title": "Plug widget customization | Computer for Your Customers | DevRev" }, { - "id": "ART-3109_KNOWLEDGE_NODE-28", - "text": "highlight something to your users.\\n\\n#### **Turing search**\\n\\nHere's how Turing search works in Plug.\\n\\n![]()\\n\\nSpotlight cards\\n---------------\\n\\nSpotlight cards are top-level cards on the Plug widget. You can use them for showcasing PR articles, product releases, blog posts, or any other marketing/product-related content that can educate your users about things happening in your company.\\n\\nHere is how a spotlight card looks.\\n\\n![]()\\n\\n### Add a spotlight card\\n\\n1. In the DevRev app,", - "title": "Plug widget customization | Computer for Your Customers | DevRev" + "id": "ART-1846_KNOWLEDGE_NODE-12", + "text": "snap-in configuration.\\n\\n**Note: This endpoint is currently in beta and may be subject to change in the future. Reach out to us via Plug to subscribe to changes to beta endpoints.**\\n\\n### Request payload\\n\\nThe request payload should be a JSON object with the following properties:\\n\\n* `id` (string, required): The ID of the snap-in to update.\\n* `inputs_values` (object, required): An object containing the input values to update. The properties of this object should match the input names", + "title": "Customizing snap-in configuration | DevRev | Docs" }, { - "id": "ART-3109_KNOWLEDGE_NODE-27", - "text": "shown at the top of your widget.\\n* Search: Enables users to search for articles through the widget.\\n* Search bar title: The text shown in the search bar.\\n\\n* [Turing search](#turing-search): Computer answers search queries of the users.\\n* Open articles in Plug: Open your linked articles within the Plug Widget.\\n* Recent conversations: Show recent conversations card on Plug Home.\\n* Recent tickets: Show recent tickets card on Plug Home.\\n* Add a Card: Create a Spotlight card to announce or", - "title": "Plug widget customization | Computer for Your Customers | DevRev" + "id": "ART-1847_KNOWLEDGE_NODE-15", + "text": "snap-in configuration.\\n\\n**Note: This endpoint is currently in beta and may be subject to change in the future. Reach out to us via PLuG to subscribe to changes to beta endpoints.**\\n\\n### Request payload\\n\\nThe request payload should be a JSON object with the following properties:\\n\\n * `id` (string, required): The ID of the snap-in to update.\\n * `inputs_values` (object, required): An object containing the input values to update. The properties of this object should match the input names", + "title": "Customizing snap-in configuration \u2014 DevRev | Docs" }, { - "id": "ART-3109_KNOWLEDGE_NODE-24", - "text": "[Product demos](/docs/DevRevU/demos)\\n\\nOn this page\\n\\n* [Configuration](#configuration)\\n* [Styling](#styling)\\n* [Layout](#layout)\\n* [\\\\*\\\\*Turing search\\\\*\\\\*](#turing-search)\\n* [Spotlight cards](#spotlight-cards)\\n* [Add a spotlight card](#add-a-spotlight-card)\\n\\n1. [Documentation](/docs)\\n3. [Computer for Your Customers](/docs/plug)\\n[Plug widget customization](/docs/plug/customize)\\n\\nPlug widget customization\\n=========================\\n\\nYou can customize the look and feel of your", - "title": "Plug widget customization | Computer for Your Customers | DevRev" + "id": "ART-1304_KNOWLEDGE_NODE-25", + "text": "information.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of account to update.\\nartifacts object Optional\\nShow property\\ncustom_fields map from strings to any Optional\\nApplication-defined custom fields.\\ndescription string Optional\\nUpdated description of the account.\\ndisplay_name string Optional\\nUpdated display name for the account.\\ndomains list of strings Optional\\nUpdated list of company\\'s domain names. Example - [\\'devrev.ai\\'].\\nexternal_refs list of", + "title": "Get \u2014 DevRev | Docs" }, { - "id": "ART-10697_KNOWLEDGE_NODE-31", - "text": "boosting engagement and reducing repetitive inquiries. To enable Plug, go to **Settings > Portal Settings**, activate Plug widget, and **Save** and **Publish**.\\n\\n![]()\\xc2\\xa0For more information about *Support App*, refer to the following articles: \\xe2\\x80\\xa3 [Support snap-ins | Support](/docs/product/snapins-support) \\xe2\\x80\\xa3 [Support best practices | Support](/docs/product/support-bp) \\xe2\\x80\\xa3 [Support](/docs/product/support) \\xe2\\x80\\xa3", - "title": "February 2025 | Changelog | DevRev" + "id": "ART-1784_KNOWLEDGE_NODE-18", + "text": "https:// api.devrev.ai / accounts.update\\nUpdates an account\\'s information.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of account to update.\\nartifacts object Optional\\nShow property\\ncustom_fields map from strings to any Optional\\nApplication-defined custom fields.\\ndescription string Optional\\nUpdated description of the account.\\ndisplay_name string Optional\\nUpdated display name for the account.\\ndomains list of strings Optional\\nUpdated list of company\\'s", + "title": "Locate Post \u2014 DevRev | Docs" }, { - "id": "ART-1360_KNOWLEDGE_NODE-1", - "text": "application/json\" \\\\ |\\n| > | -d \\'{}\\' |\\n```\\n\\n[Try it](/api-reference/parts/update?explorer=true)\\n\\n200Successful\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | { |\\n| 2 | \"part\": { |\\n| 3 | \"created_by\": { |\\n| 4 | \"display_id\": \"string\", |\\n| 5 | \"id\": \"string\", |\\n| 6 | \"display_name\": \"string\", |\\n| 7 | \"display_picture\": { |\\n| 8 | \"display_id\": \"string\", |\\n| 9 | \"id\": \"string\", |\\n| 10 | \"file\": { |\\n| 11 | \"type\": \"string\", |\\n| 12 | \"name\": \"string\", |\\n| 13 | \"size\": 1 |\\n| 14 | } |\\n| 15", - "title": "Update Part | DevRev | Docs" + "id": "ART-1651_KNOWLEDGE_NODE-18", + "text": "https:// api.devrev.ai / accounts.update\\nUpdates an account\\'s information.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of account to update.\\nartifacts object Optional\\nShow property\\ncustom_fields map from strings to any Optional\\nApplication-defined custom fields.\\ndescription string Optional\\nUpdated description of the account.\\ndisplay_name string Optional\\nUpdated display name for the account.\\ndomains list of strings Optional\\nUpdated list of company\\'s", + "title": "Create \u2014 DevRev | Docs" }, { - "id": "ART-1290_KNOWLEDGE_NODE-17", - "text": "[Card](/snapin-development/references/snapkit#card) snap.\\n\\n![]()\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | { |\\n| 2 | \"elements\": [ |\\n| 3 | { |\\n| 4 | \"direction\": \"row\", |\\n| 5 | \"elements\": [ |\\n| 6 | { |\\n| 7 | \"action_id\": \"PRIMARY\", |\\n| 8 | \"action_type\": \"remote\", |\\n| 9 | \"style\": \"primary\", |\\n| 10 | \"text\": { |\\n| 11 | \"text\": \"PRIMARY\", |\\n| 12 | \"type\": \"plain_text\" |\\n| 13 | }, |\\n| 14 | \"type\": \"button\", |\\n| 15 | \"value\": \"PRIMARY\" |\\n| 16 | }, |\\n| 17 | { |\\n| 18 | \"action_id\":", - "title": "Snapkit | DevRev | Docs" + "id": "ART-1649_KNOWLEDGE_NODE-18", + "text": "https:// api.devrev.ai / accounts.update\\nUpdates an account\\'s information.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of account to update.\\nartifacts object Optional\\nShow property\\ncustom_fields map from strings to any Optional\\nApplication-defined custom fields.\\ndescription string Optional\\nUpdated description of the account.\\ndisplay_name string Optional\\nUpdated display name for the account.\\ndomains list of strings Optional\\nUpdated list of company\\'s", + "title": "Create \u2014 DevRev | Docs" }, { - "id": "ART-2897_KNOWLEDGE_NODE-24", - "text": "\"Credit Card\", \\n 6| \"expiry_date\" : \"2024-12-12\" \\n 7| } \\n 8| window.plugSDK.trackEvent(\"signed_up\",properties)\\n[/code] \\n \\nTo learn more about tracking events, visit [Track events](/public/sdks/web/track-events).\\n\\n## Restart session recording\\n\\nThe `restartSessionRecording` method is used to restart session recording.\\n\\n[code]\\n\\n 1| window.plugSDK.restartSessionRecording(); \\n ---|---\\n[/code] \\n \\nWas this page helpful?YesNo\\n\\n[Custom implementationUp", - "title": "Methods \u2014 DevRev | Docs" + "id": "ART-1832_KNOWLEDGE_NODE-18", + "text": "https:// api.devrev.ai / accounts.update\\nUpdates an account\\'s information.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of account to update.\\nartifacts object Optional\\nShow property\\ncustom_fields map from strings to any Optional\\nApplication-defined custom fields.\\ndescription string Optional\\nUpdated description of the account.\\ndisplay_name string Optional\\nUpdated display name for the account.\\ndomains list of strings Optional\\nUpdated list of company\\'s", + "title": "Create \u2014 DevRev | Docs" }, { - "id": "ART-15496_KNOWLEDGE_NODE-1", - "text": "SDK](/sdks/web/installation)\\n\\nCustom implementation\\n=====================\\n\\nCopy page\\n\\nPlug has a completely [no-code way](https://docs.devrev.ai/plug/customize#branding-style-and-layout) of changing the look and interaction of your widget. In case you wish to make your Plug widget more interactive and customized to how your app is structured, you can use these customization properties to set up your widget.\\n\\n##### \\n\\nIf you have customized these properties of the widget through the", - "title": "Custom implementation | DevRev | Docs" + "id": "ART-1605_KNOWLEDGE_NODE-18", + "text": "https:// api.devrev.ai / accounts.update\\nUpdates an account\\'s information.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of account to update.\\nartifacts object Optional\\nShow property\\ncustom_fields map from strings to any Optional\\nApplication-defined custom fields.\\ndescription string Optional\\nUpdated description of the account.\\ndisplay_name string Optional\\nUpdated display name for the account.\\ndomains list of strings Optional\\nUpdated list of company\\'s", + "title": "Create \u2014 DevRev | Docs" }, { - "id": "ART-15506_KNOWLEDGE_NODE-25", - "text": "8 | }) |\\n```\\n\\n##### \\n\\nNote that the `updateIdentity` method cannot be used to update the `user_ref` of the user. In order to change the identity of the user completely to a new one, you need to re-initialize Plug. See the [Changing the user identity](/sdks/web/user-identity#changing-the-user-identity) section for more details.\\n\\nChanging the user identity\\n--------------------------\\n\\nAs described in the above sections, to identify a user, you need to initialize the Plug SDK with the", - "title": "Identify your users with Plug | DevRev | Docs" + "id": "ART-1822_KNOWLEDGE_NODE-18", + "text": "https:// api.devrev.ai / accounts.update\\nUpdates an account\\'s information.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of account to update.\\nartifacts object Optional\\nShow property\\ncustom_fields map from strings to any Optional\\nApplication-defined custom fields.\\ndescription string Optional\\nUpdated description of the account.\\ndisplay_name string Optional\\nUpdated display name for the account.\\ndomains list of strings Optional\\nUpdated list of company\\'s", + "title": "Create \u2014 DevRev | Docs" } ] }, @@ -4932,54 +4932,54 @@ "query": "ticket resolution time close to breach after ticket resolved", "retrievals": [ { - "id": "ART-1979_KNOWLEDGE_NODE-48", - "text": "engineer can directly close and cancel such tickets.\\n* *Accepted* (A)\\n\\n The ticket requires a new feature development on the platform for resolution. However, there is no active work on the ticket but the feature addition required to meet the ticket will be done in the future. This stage is added to ensure that feature requests do not linger in the APA queue and to ensure that the right features are prioritized during roadmap planning.\\n* *Resolved* (R)\\n\\n The goal target stage for", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-1986_KNOWLEDGE_NODE-33", + "text": "calculation\\n----------------------\\n\\nSLA metrics are calculated based on the policy that's applied to the conversation or the ticket. There can be one or more SLA metrics active on a given conversation or a ticket, with each one being tracked separately.\\n\\nSLA metric can be in one of the following stages:\\n\\n* *Active*: The metric is currently being tracked on the conversation or ticket.\\n* *Close to breach*: The time spent by the SLA metric is greater than or equal to the close to breach", + "title": "Service-level agreement | Computer for Support Teams | DevRev" }, { - "id": "ART-1979_KNOWLEDGE_NODE-47", - "text": "validate the fix with the user and then to *resolved*. If the user wants to cancel the ticket then the stage moves to *canceled*.\\n\\n**Closed**\\n\\n* *Canceled* (C)\\n\\n The ticket is determined to be invalid either by the user or the customer experience engineer. In certain scenarios, a ticket may have been created by accident and may be canceled by the creator. In other scenarios, garbage tickets may be created through automation or because of spam. Automation or the customer experience", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-1986_KNOWLEDGE_NODE-40", + "text": "conversation moves to any stage except Waiting on User |\\n\\nViewing SLAs\\n------------\\n\\nThe SLA targets applied to a particular conversation can be viewed in the **Inbox** and the **Conversation Detailed** view. For a ticket in any of the ticket vistas.\\n\\nWhen there are two active metrics, vista displays the one closest to the breach. In the case of a conversation where both the first response and full resolution metrics are active, and the first response is due in five minutes but the full", + "title": "Service-level agreement | Computer for Support Teams | DevRev" }, { - "id": "ART-1986_KNOWLEDGE_NODE-43", - "text": "tickets that have been in breach for more than one hour.\\n + **Over a day**: Filters all tickets that have been in breach for more than one day.\\n + **Custom**: Filters all tickets that have been in breach from a given date.\\n* **Will breach in**:\\n\\n + **Any**: Filters all tickets that are currently not in breach.\\n + **Over an hour**: Filters all tickets that have less than 1 hour left for breach.\\n + **Over a day**: Filters all tickets that have less than 1 day left for breach.\\n +", - "title": "Service-level agreement | Computer for Support Teams | DevRev" + "id": "ART-1004_KNOWLEDGE_NODE-7", + "text": "time it takes for a specific support engineer to resolve a customer issue from the moment it\\xe2\\x80\\x99s reported.\\n \\n \\n Calculation\\n \\n (Sum of resolution times for all resolved tickets by the engineer) / (Total number of resolved tickets by the engineer)\\n \\n \\n\\n\\nSELECT engineer_id, AVG(TIMESTAMPDIFF(MINUTE, t.created_at, t.resolved_at)) AS IndividualAverageResolutionTime\\nFROM tickets t\\nWHERE t.status = 'resolved'\\nAND EXTRACT(@period FROM t.created_at) =", + "title": "Understanding a Support Engineer's Pain Points and KPIs" }, { - "id": "ART-1979_KNOWLEDGE_NODE-41", - "text": "progress\\n\\n\\n\\nOpen\\n\\n\\n\\nEscalate\\n\\n\\n\\nValidate the fix\\n\\n\\n\\nAdditional detail needed\\n\\n\\n\\nCustomer responds\\n\\n\\n\\nStart\\n\\n\\n\\nFeature request accepted\\n\\n\\n\\nResolved\\n\\n\\n\\nNot valid\\n\\n\\n\\nQueued\\n\\n\\n\\nWork in progress\\n\\n\\n\\nAwaiting product assist\\n\\n\\n\\nAwaiting development\\n\\n\\n\\nAwating customer response\\n\\n\\n\\nIn development\\n\\n\\n\\nAccepted\\n\\n\\n\\nResolved\\n\\n\\n\\nCanceled\\n```\\n\\n**Open**\\n\\n* *Queued* (Q)\\n The initial stage for all tickets. When a new ticket is created,", - "title": "Tickets | Computer for Support Teams | DevRev" + "id": "ART-2017_KNOWLEDGE_NODE-25", + "text": "ticket\\'s owner and subscribers, when a ticket\\'s resolution time SLA changes into the *Warning* or *Breached* stage.\\n\\n![]()\\n\\nFor more information, refer to the\\n[SLA status change Slack notifier snap-in](/marketplace/sla-status-change-slack-notifier) on the DevRev\\nmarketplace.\\n\\nInstallation\\n------------\\n\\n1. Create a Slack app for your workspace in .\\n2. In App features, generate bot token in **OAuth & Permissions**.\\n3. Grant the app bot the following", + "title": "SLA status change Slack notifier | Automate | Snap-ins | DevRev" }, { - "id": "ART-2012_KNOWLEDGE_NODE-24", - "text": "customer comments on permanently closed tickets. It allows you to configure the time after which a ticket stage should be marked as closed and creates a new follow-up ticket along with all the attachments and a custom message to let the customers know that the ticket is permanently closed automatically if required.\\n\\nFor more information, refer to the [Follow-up ticket snap-in](https://marketplace.devrev.ai/followup?) on the DevRev marketplace.\\n\\nLet\\xe2\\x80\\x99s say your ticket has the", - "title": "Follow-up ticket | Automate | Snap-ins | DevRev" + "id": "ART-1986_KNOWLEDGE_NODE-34", + "text": "target defined in the policy.\\n* *Breached*: The time spent by the SLA metric is greater than or equal to the breach target defined in the policy.\\n* *Paused*: The metric is currently paused based on some conditions. For example, when a ticket moves to awaiting customer response.\\n* *Completed*: The conversation or ticket has reached the completion condition.\\n\\nBased on business hours defined for an organization, *Active/Close to breach/Breached* metrics can change schedules. Metrics move out", + "title": "Service-level agreement | Computer for Support Teams | DevRev" }, { - "id": "ART-1986_KNOWLEDGE_NODE-41", - "text": "resolution is due in one day, the vista displays five minutes. In the case where the first response isn't provided within five minutes, the timer displays negative values (such as -10m), which indicates that it's been 10 minutes since the first response was due. Conversations or tickets can also be grouped by SLA stages.\\n\\nIn the **Detailed View**, all metrics applied to the ticket or conversation can be viewed along with their current stage.\\n\\nFiltering tickets by Next SLA", + "id": "ART-1986_KNOWLEDGE_NODE-43", + "text": "tickets that have been in breach for more than one hour.\\n + **Over a day**: Filters all tickets that have been in breach for more than one day.\\n + **Custom**: Filters all tickets that have been in breach from a given date.\\n* **Will breach in**:\\n\\n + **Any**: Filters all tickets that are currently not in breach.\\n + **Over an hour**: Filters all tickets that have less than 1 hour left for breach.\\n + **Over a day**: Filters all tickets that have less than 1 day left for breach.\\n +", "title": "Service-level agreement | Computer for Support Teams | DevRev" }, { - "id": "ART-1981_KNOWLEDGE_NODE-32", - "text": "assigned; tickets should be assigned only to revenue team members.\\n\\nManage tickets\\n--------------\\n\\n* Regularly follow up with the customer on any ticket in the *awaiting customer* stage. If no response is forthcoming in a reasonable amount of time as defined by your SLA, mark the ticket as *resolved*.\\n* Critically assess the severity of the ticket according to the impact on the customer\\xe2\\x80\\x99s business. Blockers are those tickets that are critical to customer adoption or operations.", - "title": "Support best practices | Computer for Support Teams | DevRev" + "id": "ART-1003_KNOWLEDGE_NODE-19", + "text": "t.created_at) = EXTRACT(@period FROM CURRENT_DATE);\\n-- NOTE: Replace @period with 'DAY', 'WEEK', 'MONTH', or 'QUARTER'.\\n\\n\\nAverage Resolution Time (ART)\\n\\n\\n Definition\\n \\n The average time it takes to resolve a customer issue from the moment it\\xe2\\x80\\x99s reported.\\n \\n \\n Calculation\\n \\n (Sum of resolution times for all resolved tickets) / (Total number of resolved tickets)\\n \\n \\n\\n\\nSELECT AVG(TIMESTAMPDIFF(MINUTE, t.created_at, t.resolved_at)) AS", + "title": "Understanding a Support Lead's Pain Points and KPIs" }, { - "id": "ART-1986_KNOWLEDGE_NODE-36", - "text": "conversations:\\n\\n**Tickets**\\n\\n| Metric | Default conditions | Start event | End event | Pause event | Resume event |\\n| --- | --- | --- | --- | --- | --- |\\n| First response time | * Ticket created by a customer * The ticket was created by a customer experience engineer but reported by a customer | Ticket created | * The agent added a comment to the customer chat * The ticket is moved to Awaiting Customer Response, or the ticket is closed | | |\\n| Next response time | * Ticket created by", - "title": "Service-level agreement | Computer for Support Teams | DevRev" + "id": "ART-2749_KNOWLEDGE_NODE-7", + "text": "impact: Enhanced collaboration, faster resolution, measurable results\\n-------------------------------------------------------------------------\\n\\n### Improved support operations\\n\\nPhenom's adoption of Computer by DevRev has significantly improved support operations by allowing L1 and L2 teams to collaborate within the same tool, leading to a 30% decrease in ticket resolution time and a 29% decrease in time to close tickets.\\n\\nCustomer self-service options were improved with Computer CX", + "title": "Phenom transforms talent experience with streamlined support and development workflows" }, { - "id": "ART-1986_KNOWLEDGE_NODE-38", - "text": "ticket is moved to the Closed state | The ticket was moved to Awaiting Customer Response state | The ticket moves to any state except Closed |\\n\\n**Conversations**\\n\\n| Metric | Default conditions | Start event | End event | Pause event | Resume event |\\n| --- | --- | --- | --- | --- | --- |\\n| First response time | The first message sent by a customer | Conversation created | * The agent replied to the conversation * The conversation is moved to Waiting on User/Resolved * The conversation is", - "title": "Service-level agreement | Computer for Support Teams | DevRev" + "id": "ART-1035_KNOWLEDGE_NODE-0", + "text": "b'Goodmeetings uses PLuG to reduce ticket resolution time\\n\\n* Computer\\n* Resources\\n* [Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nComputer\\n\\nResources\\n\\n[Our Customers](/case-study)\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\n- [Case Studies](/case-study)\\n\\n- Goodmeetings\\n\\nGoodmeetings uses DevRev to reduce ticket resolution time\\n=========================================================\\n\\n3 min", + "title": "Goodmeetings uses PLuG to reduce ticket resolution time" }, { - "id": "ART-1975_KNOWLEDGE_NODE-25", - "text": "insights\\n===============\\n\\n* **Tickets created**\\n\\n The number of tickets created within the date range that meet the other filtering criteria.\\n* **Active tickets**\\n\\n The number of tickets that are in the Open or In Progress state.\\n* **Closed tickets**\\n\\n The number of tickets closed within the date range that meet the other filtering criteria.\\n* **Average resolution time**\\n\\n The average time taken to resolve tickets.\\n* **Median resolution time**\\n\\n The median time taken to", - "title": "Ticket insights | Support analytics | Computer for Support Teams | DevRev" + "id": "ART-3038_KNOWLEDGE_NODE-12", + "text": "Technical Writing, Bolt\\n\\n### Data-backed transformation\\n\\nWith the launch of PLuG search in June 2024, Bolt saw a clear uptick in self-service success:\\n\\n* AI searches increased from near zero to over 600 per month, indicating successful adoption of knowledge-driven support\\n* Ticket volumes dropped steadily from a peak of 1933 in May 2024 to 1096 in December 2024 and January 2025\\n* Average resolution time fell from 129.8 hours in February 2024 to 62.7 hours by January 2025\\n\\nThis", + "title": "Bolt unifies support and product to deliver seamless commerce" } ] }, @@ -4987,25 +4987,20 @@ "query_id": "b580c85d-067a-47f0-951d-58b0360254a1", "query": "link single contact to multiple accounts using csv import", "retrievals": [ - { - "id": "ART-2575_KNOWLEDGE_NODE-26", - "text": "the sample CSV.\\n\\n ![]()\\n\\n Columns with headers that do not conform to the predefined schema will not be imported.\\n4. In the dialog box, upload the populated CSV file.\\n5. (Optional) Configure import settings.\\n\\n * **Add tags to identify new imports**: Attach any existing tags to new imports for easy identification post-import.\\n * **Update existing accounts**: Select to update existing accounts by appending new values, rather than creating new objects.\\n6. Click **Import** to", - "title": "Account and contact import | Computer for Growth Teams | DevRev" - }, { "id": "ART-2575_KNOWLEDGE_NODE-25", "text": "contact import\\n==========================\\n\\nYou can upload and manage accounts and contacts by importing data from CSV files.\\n\\n![]()\\n\\nImport data\\n-----------\\n\\n1. Go to the top-right corner of the **Accounts and Contacts** vista and click the \\xe2\\x9a\\xa1 button.\\n2. Click **Download sample CSV**. The sample CSV file includes all the necessary headers and sample values supported by DevRev.\\n3. Open the downloaded sample CSV file. Fill in the required headers and values as specified in", "title": "Account and contact import | Computer for Growth Teams | DevRev" }, { - "id": "ART-2575_KNOWLEDGE_NODE-30", - "text": "CSV import feature currently supports a maximum of 500 rows per request. For larger datasets, split the CSV into smaller files containing up to 500 rows each.\\n\\nTroubleshooting\\n---------------\\n\\nThe following table describes the errors you may encounter during import and how to troubleshoot them:\\n\\n| Error | Resolution |\\n| --- | --- |\\n| Invalid format for phone numbers | Validate the phone number is in E164 Format. For example, +12014631690. |\\n| Tags not found in organization |", + "id": "ART-2575_KNOWLEDGE_NODE-26", + "text": "the sample CSV.\\n\\n ![]()\\n\\n Columns with headers that do not conform to the predefined schema will not be imported.\\n4. In the dialog box, upload the populated CSV file.\\n5. (Optional) Configure import settings.\\n\\n * **Add tags to identify new imports**: Attach any existing tags to new imports for easy identification post-import.\\n * **Update existing accounts**: Select to update existing accounts by appending new values, rather than creating new objects.\\n6. Click **Import** to", "title": "Account and contact import | Computer for Growth Teams | DevRev" }, { - "id": "ART-2575_KNOWLEDGE_NODE-28", - "text": "a database identifier or an email address.)\\n* account\\\\_external\\\\_reference (the external reference of the contact\\'s parent account)\\n\\n### Array fields\\n\\nFor fields that accept multiple values, such as **owners** and **industry**, values should be separated by commas (,). For example, Agriculture and Forestry should be written as Agriculture,Forestry.\\n\\n![]()\\n\\nIf a value contains a comma, enclose it in backticks. For example, enter \"Rail, Bus & Taxi\" as `Rail, Bus & Taxi`.\\n\\n###", - "title": "Account and contact import | Computer for Growth Teams | DevRev" + "id": "ART-16355_KNOWLEDGE_NODE-8", + "text": "tracking](/docs/plug/cross-domain-session)\\n + [Nudges](/docs/plug/nudges)\\n* [Computer for Growth Teams](/docs/product/grow)\\n\\n + [Accounts](/docs/product/account)\\n + [Opportunities](/docs/product/opportunity)\\n + [Contacts](/docs/product/customers)\\n + [Account and contact import](/docs/product/account-contact-import)\\n + [Grow snap-ins](/docs/product/snapins-grow)\\n* [Snap-ins](/docs/snapins)\\n\\n + [Automate](/docs/automate)\\n\\n - [Account", + "title": "CSV commands uploader | Automate | Snap-ins | DevRev" }, { "id": "ART-2575_KNOWLEDGE_NODE-27", @@ -5013,25 +5008,30 @@ "title": "Account and contact import | Computer for Growth Teams | DevRev" }, { - "id": "ART-2575_KNOWLEDGE_NODE-32", - "text": "required headers | Include headers for the required fields in the CSV. |\\n\\n[PreviousContacts](/docs/product/customers)[NextGrow snap-ins](/docs/product/snapins-grow)\\n\\n#### On this page\\n\\n* [Import data](#import-data)\\n* [CSV file requirements](#csv-file-requirements)\\n* [Mandatory fields](#mandatory-fields)\\n* [Array fields](#array-fields)\\n* [Tags](#tags)\\n* [Owner fields](#owner-fields)\\n* [Limitations](#limitations)\\n* [Troubleshooting](#troubleshooting)\\n\\n[Enterprise grade security to", - "title": "Account and contact import | Computer for Growth Teams | DevRev" - }, - { - "id": "ART-2575_KNOWLEDGE_NODE-31", - "text": "Pre-create the tag in the app before importing. |\\n| Account with external reference \\'non-existing-account\\' not found | Ensure the parent account exists in the app before importing. |\\n| Mandatory field \\'external\\\\_refs\\' is empty | Fill all mandatory fields in the CSV. |\\n| Found non utf-8 character | Export the CSV with UTF-8 encoding. |\\n| Input CSV has no rows | Ensure the CSV contains data rows. |\\n| No user found with email | Ensure the email is correct and not a name. |\\n| Missing", + "id": "ART-2575_KNOWLEDGE_NODE-28", + "text": "a database identifier or an email address.)\\n* account\\\\_external\\\\_reference (the external reference of the contact\\'s parent account)\\n\\n### Array fields\\n\\nFor fields that accept multiple values, such as **owners** and **industry**, values should be separated by commas (,). For example, Agriculture and Forestry should be written as Agriculture,Forestry.\\n\\n![]()\\n\\nIf a value contains a comma, enclose it in backticks. For example, enter \"Rail, Bus & Taxi\" as `Rail, Bus & Taxi`.\\n\\n###", "title": "Account and contact import | Computer for Growth Teams | DevRev" }, { - "id": "ART-2575_KNOWLEDGE_NODE-11", - "text": "uploader](/docs/automations/csv-work-item-uploader)\\n - [CSV comments uploader](/docs/automations/csv-comments-uploader)\\n - [CSV commands uploader](/docs/automations/csv-commands-uploader)\\n - [Descope identity validation](/docs/automations/descope-identity-validation)\\n - [Effort logger](/docs/automations/effort-logger)\\n - [HTTP archive file upload & sanitization](/docs/automations/har-sanitization)\\n - [Link preview](/docs/automations/link-preview)\\n - [Org tags", - "title": "Account and contact import | Computer for Growth Teams | DevRev" + "id": "ART-4022_KNOWLEDGE_NODE-8", + "text": "tracking](/docs/plug/cross-domain-session)\\n + [Nudges](/docs/plug/nudges)\\n* [Computer for Growth Teams](/docs/product/grow)\\n\\n + [Accounts](/docs/product/account)\\n + [Opportunities](/docs/product/opportunity)\\n + [Contacts](/docs/product/customers)\\n + [Account and contact import](/docs/product/account-contact-import)\\n + [Grow snap-ins](/docs/product/snapins-grow)\\n* [Snap-ins](/docs/snapins)\\n\\n + [Automate](/docs/automate)\\n\\n - [Account", + "title": "CSV work item uploader | Automate | Snap-ins | DevRev" }, { "id": "ART-2575_KNOWLEDGE_NODE-29", "text": "Tags\\n\\nEnsure all tags listed in the CSV file already exist within the application. Tags are not created automatically during the import process to prevent errors and maintain control. For example, if your CSV contains a tag in the tags.name column such as Q3FY25\\\\_CSS\\\\_Forum\\\\_Bay\\\\_Area, ensure to create the tag in the system first.\\n\\n### Owner fields\\n\\nFor accounts, owner information must be provided in email format. Avoid using names or display names.\\n\\nLimitations\\n-----------\\n\\nThe", "title": "Account and contact import | Computer for Growth Teams | DevRev" }, + { + "id": "ART-15689_KNOWLEDGE_NODE-8", + "text": "tracking](/docs/plug/cross-domain-session)\\n + [Nudges](/docs/plug/nudges)\\n* [Computer for Growth Teams](/docs/product/grow)\\n\\n + [Accounts](/docs/product/account)\\n + [Opportunities](/docs/product/opportunity)\\n + [Contacts](/docs/product/customers)\\n + [Account and contact import](/docs/product/account-contact-import)\\n + [Grow snap-ins](/docs/product/snapins-grow)\\n* [Snap-ins](/docs/snapins)\\n\\n + [Automate](/docs/automate)\\n\\n - [Account", + "title": "CSV comments uploader | Automate | Snap-ins | DevRev" + }, + { + "id": "ART-2000_KNOWLEDGE_NODE-26", + "text": "description, websites, domains, type, annual revenue, forecast category, tags, tier, etc.\\n3. Fill in the required fields like external references and owner of the account.\\n4. Click **Create**.\\n\\n### Bulk import accounts\\n\\nTo bulk import accounts, see [Account and contact import](/docs/product/account-contact-import).\\n\\nYou can also use [AirSync](https://docs.devrev.ai/import) to migrate your accounts from various platforms such as Hubspot, Salesforce, Zendesk, Jira, Linear, ServiceNow and", + "title": "Accounts | Computer for Growth Teams | DevRev" + }, { "id": "ART-2575_KNOWLEDGE_NODE-24", "text": "[Product demos](/docs/DevRevU/demos)\\n\\nOn this page\\n\\n* [Import data](#import-data)\\n* [CSV file requirements](#csv-file-requirements)\\n* [Mandatory fields](#mandatory-fields)\\n* [Array fields](#array-fields)\\n* [Tags](#tags)\\n* [Owner fields](#owner-fields)\\n* [Limitations](#limitations)\\n* [Troubleshooting](#troubleshooting)\\n\\n1. [Documentation](/docs)\\n3. [Computer for Growth Teams](/docs/product/grow)\\n[Account and contact import](/docs/product/account-contact-import)\\n\\nAccount and", @@ -5044,54 +5044,54 @@ "query": "how to build an agent", "retrievals": [ { - "id": "ART-15618_KNOWLEDGE_NODE-9", - "text": "reduced barriers to entry\\n\\nAgentExchange Marketplace : Largest marketplace of ready-made agents, actions, and topics for faster deployment\\n\\nEnterprise Security : Field-based data masking, RBAC, Einstein Trust Layer battle-tested at Fortune 100 scale\\n\\nMultilingual Support : Supports AI prompts and agent behavior across 25+ languages natively\\n\\nNative Integrations : Extensive integration ecosystem due to market dominance and longevity\\n\\nAdvanced Tooling : Deep debugging tools, bulk", - "title": "SF Agentforce - Competitive - for the PLuG on website" + "id": "ART-4167_KNOWLEDGE_NODE-3", + "text": "agents summarize critical context and escalate to the right person.\\n\\n![]()\\n\\nSet up is simple. Maintenance is simpler.\\n\\nSet up Computer in minutes and build agents using plain English. No PhD in AI required.\\n\\n### A few lines of code\\n\\nA few lines of code\\n\\nGet Computer's CX agent running with just a few lines of code and automatically track real performance metrics to measure progress against your goals.\\n\\n![]()\\n\\n### Built-in integrations\\n\\n### Agent", + "title": "Computer for Your Customers: AI Self-Service Support | DevRev" }, { - "id": "ART-13178_KNOWLEDGE_NODE-69", - "text": "data.\\n\\n * Define your agent\\xe2\\x80\\x99s specific goal and purpose.\\n * Write clear instructions for its operation.\\n * Connect your business knowledge and existing workflows.\\n\\nEvery team gains powerful capabilities without technical skills. It\\xe2\\x80\\x99s like having expert analysts and operators working 24/7.\\n\\nNeed to route customer requests? Create sales materials? Recommend support actions? All possible without writing a single line of code, including the generation of original", - "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + "id": "ART-15799_KNOWLEDGE_NODE-3", + "text": "agents summarize critical context and escalate to the right person.\\n\\n![]()\\n\\nSet up is simple. Maintenance is simpler.\\n\\nSet up Computer in minutes and build agents using plain English. No PhD in AI required.\\n\\n### A few lines of code\\n\\nA few lines of code\\n\\nGet Computer's CX agent running with just a few lines of code and automatically track real performance metrics to measure progress against your goals.\\n\\n![]()\\n\\n### Built-in integrations\\n\\n### Agent", + "title": "Computer for Your Customers: AI Self-Service Support | DevRev" }, { - "id": "ART-15618_KNOWLEDGE_NODE-15", - "text": "behavior\\n\\nDevRev : AI-native architecture offering outcome-driven workflows and intuitive, conversational agents User Experience\\n\\nAgentforce : Multiple tabs, nested screens, fragmented multi-stage agent creation process\\n\\nDevRev : Consolidated actions, modern agent-first UX, single cohesive screen for agent building Learning Capabilities\\n\\nAgentforce : Manual improvements, no learning from real usage or customer interactions\\n\\nDevRev : Auto-learning by identifying knowledge gaps", - "title": "SF Agentforce - Competitive - for the PLuG on website" + "id": "ART-15792_KNOWLEDGE_NODE-2", + "text": "structured around two critical business dimensions: Products (Dev) and Customers (Rev). This architectural approach ensures that AI agents have comprehensive context when making decisions or taking actions.\\n\\nAgentic AI capabilities: DevRev provides both out-of-the-box agents and an Agent Studio to build, customize, deploy and manage agents. Users can instruct these agents in plain language to execute complex workflows autonomously, with agents capable of creating tickets, updating records,", + "title": "DevRev Products and Agents" }, { - "id": "ART-13178_KNOWLEDGE_NODE-19", - "text": "interact with the agentic AI system using natural language. Unlike traditional systems requiring precise commands, you communicate conversationally. The autonomous agents interpret your intent and may ask clarifying questions.\\n 2. **Agent system plans, allocates, and executes work:** The system transforms your request into [structured workflows](/blog/native-workflow-engine), dividing it into tasks and subtasks. A managing component assigns these to specialized subagents.\\n 3. **Agent system", - "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + "id": "ART-4167_KNOWLEDGE_NODE-1", + "text": "resolutions by up to 10x.\\n\\nComputer\\xe2\\x80\\x99s customer experience agent is a problem solver that clears tickets with ease.\\n\\n### Next-gen customer support\\n\\nNext-gen customer support\\n\\nStart with Computer\\xe2\\x80\\x99s battle-tested CX agent that has instant, accurate answers to customer questions.\\n\\n![]()\\n\\n### Take action\\n\\n### Build agent teams\\n\\nMeet your customers where they are, in your voice.\\n\\nTrain Computer on your brand\\xe2\\x80\\x99s voice, no matter where you deploy it.", + "title": "Computer for Your Customers: AI Self-Service Support | DevRev" }, { - "id": "ART-15618_KNOWLEDGE_NODE-10", - "text": "testing via CSV uploads, auto-generation of test cases\\n\\nOutbound Capabilities : Supports automated outreach campaigns and lead nurturing sequences\\n\\nRich UI Elements : Agents can display buttons, forms, and visuals across different platforms\\n\\nMuleSoft Integration : Can turn existing APIs into agent actions using plain language Agentforce Weaknesses\\n\\nForced Migration : With Live Agent being deprecated, customers are pushed toward Agentforce with a \"take it or leave it\"", - "title": "SF Agentforce - Competitive - for the PLuG on website" + "id": "ART-15799_KNOWLEDGE_NODE-1", + "text": "resolutions by up to 10x.\\n\\nComputer\\xe2\\x80\\x99s customer experience agent is a problem solver that clears tickets with ease.\\n\\n### Next-gen customer support\\n\\nNext-gen customer support\\n\\nStart with Computer\\xe2\\x80\\x99s battle-tested CX agent that has instant, accurate answers to customer questions.\\n\\n![]()\\n\\n### Take action\\n\\n### Build agent teams\\n\\nMeet your customers where they are, in your voice.\\n\\nTrain Computer on your brand\\xe2\\x80\\x99s voice, no matter where you deploy it.", + "title": "Computer for Your Customers: AI Self-Service Support | DevRev" }, { - "id": "ART-13178_KNOWLEDGE_NODE-39", - "text": "agents incorporate medical knowledge and compliance requirements, while financial agents understand regulatory frameworks and transaction patterns.\\n\\n### 3\\\\. Orchestration frameworks\\n\\nOrchestration components coordinate multiple AI agents working together. They manage workflows, handle exceptions, and maintain performance standards. This capability is crucial when deploying complex multi-agent systems across departments.\\n\\n### 4\\\\. Integration capabilities\\n\\nYour platform must connect", - "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + "id": "ART-4206_KNOWLEDGE_NODE-2", + "text": "async API\\n================\\n\\nCopy page\\n\\nThis cookbook provides a step-by-step guide to use the asynchronous API for DevRev agents. It assumes you\\xe2\\x80\\x99ve already created an agent using the DevRev agent builder platform.\\n\\nThe DevRev async API enables you to execute agents without any execution timeout concerns. The execution occurs as an asynchronous workflow that sends events to you via webhooks. This approach ensures:\\n\\n* Agent complexity does not bring timeout concerns with", + "title": "Agents async API | DevRev | Docs" }, { - "id": "ART-15618_KNOWLEDGE_NODE-8", - "text": "doesn\\'t inherit legacy tech debt.\\n\\nShield 2: AgentExchange Offers the Largest Marketplace\\n\\nSalesforce buyers can customize and use prebuilt agents across industries, making it easy to go live quickly. DevRev offers a growing set of templates, but the depth and breadth of AgentExchange are currently unmatched. Detailed Strengths and Weaknesses Analysis Agentforce Strengths\\n\\nMarket Position : Service Cloud is one of the most common systems of record, making Agentforce an easy upsell with", - "title": "SF Agentforce - Competitive - for the PLuG on website" + "id": "ART-12391_KNOWLEDGE_NODE-25", + "text": "customer support conversations with our\\nworkflow engine. You can either build an AI agent handle to handle all or parts\\nof your customer support conversations, or you can also create deterministic\\nbutton-based flows.\\n\\nAI agents in your conversational workflow\\n-----------------------------------------\\n\\n![]()\\n\\nTo enable AI agents for customer support, please contact us through the\\nchat widget.\\n\\n### AI agents for conversations or tickets\\n\\n1. Set the trigger for workflow to start", + "title": "Conversational workflows | Workflows | Computer by DevRev | DevRev" }, { - "id": "ART-15618_KNOWLEDGE_NODE-11", - "text": "approach\\n\\nPlatform Dependency : Cannot run without Salesforce as system of record, incompatible with modern tools like Zendesk and Intercom\\n\\nComplex Setup : Overwhelms users with dozens of setup steps and dependencies, steep learning curve even for skilled users\\n\\nLegacy Architecture : Built on traditional CRM architecture with rigid underlying schema resulting in slower, more brittle agents\\n\\nPartner Dependency : 70% of implementations require partners, demanding heavy admin", - "title": "SF Agentforce - Competitive - for the PLuG on website" + "id": "ART-3880_KNOWLEDGE_NODE-5", + "text": "Agent (formerly PLuG) setup remarkably simple:\\n\\nThe initial setup was very straightforward. It didn't take long to get it running in my local development environment, and I didn't even need to reach out for support - that was great.\\n\\n![]()\\n\\nBrian MullinSr. Software Engineer, Orum\\n\\nThe process began with adding the script tag and initializing the SDK on the frontend, followed by obtaining an access token via the backend. This smooth onboarding experience enabled Brian to focus on", + "title": "How Orum built a collaborative, AI-ready support engine" }, { - "id": "ART-13178_KNOWLEDGE_NODE-41", - "text": "reasons.\\n\\n### 6\\\\. Development tools\\n\\nThe platform\\xe2\\x80\\x99s development environment significantly impacts customization capabilities. Low-code interfaces enable business users to modify agent behavior without technical expertise. Developer-focused systems offer greater flexibility but require coding skills. DevRev provides both options, supporting different organizational capabilities.\\n\\n### 7\\\\. Pricing structures\\n\\nPricing models vary significantly between vendors.", - "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + "id": "ART-4021_KNOWLEDGE_NODE-25", + "text": "scraped.\\n\\nConfiguration\\n-------------\\n\\n1. Create a Slack app for your workspace at .\\n2. In the **App features** section, generate agent token in **OAuth & Permissions**.\\n3. Give the app agent the following access:\\n\\n * channels:history\\n * channels:read\\n * groups:history\\n4. Invite the agent to the workspace.\\n5. Save the agent access token as a connection of type snap-in secret in the DevRev app.\\n\\nHow to use\\n----------\\n\\n1. Install the", + "title": "Slack scraper | Automate | Snap-ins | DevRev" }, { - "id": "ART-4206_KNOWLEDGE_NODE-4", - "text": "create a webhook to receive agent execution events:\\n\\nBashJavaScript\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl --location \\'https://api.devrev.ai/internal/webhooks.create\\' \\\\ |\\n| > | --header \\'Content-Type: application/json\\' \\\\ |\\n| > | --header \\'Authorization: Bearer \\' \\\\ |\\n| > | --data \\'{ |\\n| > | \"url\": \"https://your-application.com/webhook-endpoint\", |\\n| > | \"event_types\": [\"ai_agent_response\"], |\\n| > | \"headers\": [ |\\n| > | { |\\n| > | \"name\": \"x-api-key\", |\\n| >", - "title": "Agents async API | DevRev | Docs" + "id": "ART-13178_KNOWLEDGE_NODE-70", + "text": "content.\\n\\nDevRev puts AI automation directly in business users\\xe2\\x80\\x99 hands, no development team required.\\n\\nThe future belongs to organizations that harness autonomous intelligence effectively. Will you lead this transformation? DevRev\\xe2\\x80\\x99s platform offers the fastest path forward.\\n\\nCurious how DevRev could work in your organisation\\xe2\\x80\\x99s environment? We\\xe2\\x80\\x99d love to walk you through how to:\\n\\n * **Build and test your own AI agents**\\n * **Deploy this in a", + "title": "Understanding Agentic AI: Capabilities and Implications for the Future" } ] }, @@ -5100,54 +5100,54 @@ "query": "multiple messages sent quickly AI interpretation delay", "retrievals": [ { - "id": "ART-990_KNOWLEDGE_NODE-1", - "text": "and is a good thing; it alerts us that a fundamental shift is happening, just like the internet had done previously. And, no, this isn\\xe2\\x80\\x99t the beginning of SkyNet.\\n\\n\\n\\nLet\\xe2\\x80\\x99s face it; support is moving to a more asynchronous communication model (a-la chat). With the ability for ChatGPT to \\xe2\\x80\\x9cstream\\xe2\\x80\\x9d messages similar to how a user would, backed by the knowledge of the internet, the result can be a very powerful one-two punch. Plus, it can eliminate a lot", - "title": "To AI, or Not to AI for Support, It's Not a Question" + "id": "ART-1961_KNOWLEDGE_NODE-30", + "text": "Action: Tasks that modify one or more objects in the system.\\n* Control: Conditional (if-then) blocks to determine which actions to take based on an operand (variable) and an operator.\\n* Delay: Wait to take an action.\\n\\nAI nodes\\n--------\\n\\nWe provide several native AI nodes out of the box to enhance your workflows.\\n\\n**Spam checker**\\n\\nThe spam checker takes the ID of a ticket or object and determines whether the ticket or conversation is spam. You can use this output in your workflows as", + "title": "Workflows | Computer by DevRev | DevRev" }, { - "id": "ART-990_KNOWLEDGE_NODE-5", - "text": "assistance whenever they need it, irrespective of geographical and time zone differences.\\n For a follow-the-sun model this may be less important, however, if you don\\xe2\\x80\\x99t have this coverage in place, an AI-assist can be extremely valuable to provide coverage between gaps\\n\\n\\nPersonalization\\n\\n\\n By leveraging natural language processing and machine learning, ChatGPT and similar tools can understand customers\\xe2\\x80\\x99 needs and preferences, providing personalized and contextually", - "title": "To AI, or Not to AI for Support, It's Not a Question" + "id": "ART-4206_KNOWLEDGE_NODE-9", + "text": "state\\nacross multiple calls.\\n\\nHandle webhook events\\n---------------------\\n\\nYour webhook endpoint receives three types of events.\\n\\n### Progress messages\\n\\nThese show which skills are being triggered and executed.\\n\\nSkill triggered\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | { |\\n| 2 | \"payload\": { |\\n| 3 | \"ai_agent_response\": { |\\n| 4 | \"agent\": \"don:core:dvrv-us-1:devo/xyz:ai_agent/123\", |\\n| 5 | \"agent_response\": \"progress\", |\\n| 6 | \"client_metadata\": { /* your original metadata */ },", + "title": "Agents async API | DevRev | Docs" }, { - "id": "ART-990_KNOWLEDGE_NODE-3", - "text": "multiple customer queries simultaneously, significantly reducing response times and providing instant support, resulting in higher customer satisfaction levels.\\n By offloading the initial responses to an intelligent system, you can buffer the amount of time a traditional agent has to respond\\n This may also help ensure you meet you SLA requirements\\n\\n\\nCost-Effectiveness\\n\\n\\n AI-driven customer support tools can minimize the need for large customer service teams, reducing operational", - "title": "To AI, or Not to AI for Support, It's Not a Question" + "id": "ART-1471_KNOWLEDGE_NODE-15", + "text": "Search?](https://devrev.ai/what-is-enterprise-search)\\n * [What is Conversational AI?](https://devrev.ai/what-is-conversational-ai)\\n\\n[](https://devrev.ai)\\n\\n[](https://www.linkedin.com/company/devrev)[](https://medium.com/devrev)[](https://twitter.com/devrev)\\n\\n[System Status](https://devrev.ai/status)\\n\\n\\xc2\\xa9 2025 DevRev Inc.\\n\\n[](https://devrev.ai)\\n\\n * Product\\n * Platform\\n * Solutions\\n * Marketplace\\n * Company\\n * Resources\\n * [Pricing](https://devrev.ai/pricing)\\n\\n", + "title": "Restricted messages on a timeline \u2014 DevRev | Docs" }, { - "id": "ART-990_KNOWLEDGE_NODE-9", - "text": "While this is likely a edge case, you can easily account for this with logic in the system than can allow the user or system to automatically switch the interaction to a support engineer.\\n\\n\\nLack of empathy\\n\\n\\n Chatbots may struggle to replicate the empathy and human touch that customer service representatives provide. In sensitive or emotionally charged situations, an AI-driven response may appear impersonal or unsympathetic, negatively impacting customer relations.\\n This is both a good", - "title": "To AI, or Not to AI for Support, It's Not a Question" + "id": "ART-17220_KNOWLEDGE_NODE-10", + "text": "|\\n```\\n\\nDelay response (for rate limiting)\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | await adapter.emit(ExtractorEventType.ExtractionAttachmentsDelay, { |\\n| 2 | delay: \"30\", // Delay in seconds |\\n| 3 | }); |\\n```\\n\\nError response\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | await adapter.emit(ExtractorEventType.ExtractionAttachmentsError, { |\\n| 2 | error: \"Informative error message\", |\\n| 3 | }); |\\n```\\n\\n##### \\n\\nThe snap-in must always emit exactly one response event.\\n\\nWas this page", + "title": "Attachments extraction | DevRev | Docs" }, { - "id": "ART-4206_KNOWLEDGE_NODE-19", - "text": "const conversationId = |\\n| 38 | event.payload.ai_agent_response.client_metadata.conversation_id; |\\n| 39 | |\\n| 40 | if (event.payload.ai_agent_response.agent_response === \"message\") { |\\n| 41 | // Final message |\\n| 42 | const message = event.payload.ai_agent_response.message; |\\n| 43 | sendToClient(conversationId, { |\\n| 44 | type: \"agent_response\", |\\n| 45 | message: message, |\\n| 46 | }); |\\n| 47 | } else if (event.payload.ai_agent_response.agent_response === \"error\") { |\\n| 48 | // Error", - "title": "Agents async API | DevRev | Docs" + "id": "ART-1284_KNOWLEDGE_NODE-20", + "text": "after the work is created.\\n\\nIn `function_1`, you can publish the event as follows:\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | const url = \"https://api.devrev.ai/event-sources.schedule\"; |\\n| 2 | const work = event.payload.work_created.work; |\\n| 3 | const delay_secs = 30; |\\n| 4 | const event_payload = { |\\n| 5 | \"object_id\": work.id, |\\n| 6 | \"name\" : work.created_by.full_name, |\\n| 7 | \"delay\": delay_secs, |\\n| 8 | } |\\n| 9 | const payload_bytes =", + "title": "Event sources | DevRev | Docs" }, { - "id": "ART-4109_KNOWLEDGE_NODE-5", - "text": "Error\\n\\n429\\n\\nToo Many Requests Error\\n\\n500\\n\\nInternal Server Error\\n\\n503\\n\\nService Unavailable Error\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/beta/api-reference/accounts/update)[#### Get Airdrop Sync Unit\\n\\nNext](/beta/api-reference/airdrop/sync-units-get)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", - "title": "Execute-Async Ai Agents Events | DevRev | Docs" + "id": "ART-970_KNOWLEDGE_NODE-94", + "text": "built to iterate quickly\\n \\n AI evolves faster than we can imagine; being able to iterate quickly is quintessential to ensure customers get the value of this evolution\\n Given the granularity of our services, teams can operate with much more autonomy and speed\\n We were also built during the CI/CD era, meaning we have fully continuous integration and delivery. As an example, we deploy hundreds of changes daily\\n With monolithic systems, changing things can be complicated", + "title": "The Story" }, { - "id": "ART-990_KNOWLEDGE_NODE-0", - "text": "b'\\n\\n\\n \\xe2\\x80\\x9cThe greatest danger in times of turbulence is not the turbulence; it is to act with yesterday\\xe2\\x80\\x99s logic.\\xe2\\x80\\x9d - Peter Drucker\\n\\n\\n\\n\\n\\xe2\\x80\\xa6\\n\\nAt this point, you\\xe2\\x80\\x99ve likely been inundated with with the news of AI, LLM, GPT, or ChatGPT. Hint: GPT stands for \"Generative Pre-trained Transformer\". And it likely begs a few questions\\xe2\\x80\\xa6 Is this the start of SkyNet? Will I become irrelevant? And a multitude of others. This anxiety is OK", - "title": "To AI, or Not to AI for Support, It's Not a Question" + "id": "ART-1265_KNOWLEDGE_NODE-0", + "text": "b'Restricted messages on a timeline | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nPublic\\n\\nPublic\\n\\nSearch\\n\\n`/`\\n\\nOn this page\\n\\n* [Introduction](/guides/timeline-entries#introduction)\\n* [Send a restricted visibility message](/guides/timeline-entries#send-a-restricted-visibility-message)\\n* [Summary](/guides/timeline-entries#summary)\\n\\n[Guides](/guides/webhooks)\\n\\nRestricted messages on a timeline\\n=================================\\n\\nCopy", + "title": "Restricted messages on a timeline | DevRev | Docs" }, { - "id": "ART-4206_KNOWLEDGE_NODE-20", - "text": "occurred |\\n| 49 | sendToClient(conversationId, { |\\n| 50 | type: \"agent_error\", |\\n| 51 | error: event.payload.ai_agent_response.error.error, |\\n| 52 | }); |\\n| 53 | } |\\n| 54 | |\\n| 55 | res.status(200).send(\"OK\"); |\\n| 56 | }); |\\n```\\n\\n##### \\n\\nUsing WebSockets or Server-Sent Events can provide real-time updates to your\\nUI as events are received.\\n\\n### Talk to agent node in workflows\\n\\n##### \\n\\nThis is in early access, please contact support to have it enabled for you.\\n\\nIf", - "title": "Agents async API | DevRev | Docs" + "id": "ART-1478_KNOWLEDGE_NODE-24", + "text": "\"https://api.devrev.ai/event-sources.schedule\"; \\n ---|--- \\n 2| const work = event.payload.work_created.work; \\n 3| const delay_secs = 30; \\n 4| const event_payload = { \\n 5| \"object_id\": work.id, \\n 6| \"name\" : work.created_by.full_name, \\n 7| \"delay\": delay_secs, \\n 8| } \\n 9| const payload_bytes = Buffer.from(JSON.stringify(event_payload)).toString(\\'base64\\'); \\n 10| const publish_at = new Date(Date.now() + 1000 *", + "title": "Event sources \u2014 DevRev | Docs" }, { - "id": "ART-990_KNOWLEDGE_NODE-2", - "text": "of the \\xe2\\x80\\x9cgrunt work\\xe2\\x80\\x9d (aka work \\xe2\\x80\\x9csuck\\xe2\\x80\\x9d) that support engineers commonly deal with, allowing them to focus on the real problems at hand.\\n\\nAlso, with this evolution to a semi-sentient system, the experience for end-users is far superior, sometimes to the point where you may not even know you\\xe2\\x80\\x99re conversing with a computer.\\n\\nBenefits\\n\\nHere are some of the potential benefits:\\n\\nEfficient Response Times\\n\\n\\n AI-powered chatbots can handle", - "title": "To AI, or Not to AI for Support, It's Not a Question" + "id": "ART-17649_KNOWLEDGE_NODE-10", + "text": "DevRev the single source of truth for customer support - enhancing efficiency, cutting costs, and providing a more unified experience for both agents and customers.\\n\\nBenefits\\n--------\\n\\n* Support agents quickly access information relevant to each platform section\\n* Customers receive consistent, contextually relevant support\\n* Teams maintain separation between different support instances\\n* Support grows smoothly with the company's expanding platform\\n* AI assistance becomes more accurate", + "title": "Leading APAC fintech transforms support with multi-instance AI solution" }, { - "id": "ART-990_KNOWLEDGE_NODE-8", - "text": "natively\\n\\n\\n\\n\\nPotential Risks\\n\\n\\n\\nWhile the use of artificial intelligence and tools like ChatGPT offers numerous benefits in the realm of customer support, it is crucial to consider potential risks that may arise.\\n\\nSome of these risks include:\\n\\nMisunderstandings\\n\\n\\n AI-driven chatbots might misunderstand complex customer queries or interpret context inaccurately, leading to incorrect or irrelevant responses. This can result in customer frustration and diminished satisfaction.\\n", - "title": "To AI, or Not to AI for Support, It's Not a Question" + "id": "ART-4206_KNOWLEDGE_NODE-0", + "text": "b'Agents async API | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nBeta\\n\\nBeta\\n\\nBeta\\n\\nSearch\\n\\n`/`\\n\\nOn this page\\n\\n* [Set up webhook](/beta/guides/agents-async-api#set-up-webhook)\\n* [Make async API calls](/beta/guides/agents-async-api#make-async-api-calls)\\n* [Handle webhook events](/beta/guides/agents-async-api#handle-webhook-events)\\n* [Progress messages](/beta/guides/agents-async-api#progress-messages)\\n* [Final", + "title": "Agents async API | DevRev | Docs" } ] }