diff --git a/.gitignore b/.gitignore index 9d3993f..a3437d9 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,4 @@ data/ # OS .DS_Store Thumbs.db +embeddings_*.npy diff --git a/devrev_search.ipynb b/devrev_search.ipynb index dbfbe99..8c0a61d 100644 --- a/devrev_search.ipynb +++ b/devrev_search.ipynb @@ -1,623 +1,2053 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# DevRev Search Dataset\n", - "\n", - "Loading and exploring the `devrev/search` dataset from Hugging Face.\n", - "\n", - "**Dataset Structure:**\n", - "- `annotated_queries` \u2014 Queries paired with annotated (golden) article chunks\n", - "- `knowledge_base` \u2014 Article chunks from DevRev's customer-facing support documentation\n", - "- `test_queries` \u2014 Held-out queries used for evaluation" - ] + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# DevRev Search Dataset\n", + "\n", + "Loading and exploring the `devrev/search` dataset from Hugging Face.\n", + "\n", + "**Dataset Structure:**\n", + "- `annotated_queries` — Queries paired with annotated (golden) article chunks\n", + "- `knowledge_base` — Article chunks from DevRev's customer-facing support documentation\n", + "- `test_queries` — Held-out queries used for evaluation" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from datasets import load_dataset\n", + "import pandas as pd\n", + "from dotenv import load_dotenv\n", + "load_dotenv()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1. Load Annotated Queries\n", + "Queries paired with annotated (golden) article chunks for training/validation." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "DatasetDict({\n", + " train: Dataset({\n", + " features: ['query_id', 'query', 'retrievals'],\n", + " num_rows: 291\n", + " })\n", + "})\n" + ] + } + ], + "source": [ + "# Load annotated queries\n", + "annotated_queries = load_dataset(\"devrev/search\", \"annotated_queries\")\n", + "print(annotated_queries)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
query_idqueryretrievals
00ae94217-c6a0-4895-83a2-841a95f01637create DevRev ticket from Microsoft Teams[{'id': 'ART-4216_KNOWLEDGE_NODE-26', 'text': ...
1d0b209b3-6cea-46d8-bfac-bd0e286ea21bworkflow builder auto close ticket after 48 ho...[{'id': 'ART-2012_KNOWLEDGE_NODE-24', 'text': ...
240c1aa6f-cd21-46ab-8f6f-76fdc267b584automated reminder to customer ticket will be ...[{'id': 'ART-3068_KNOWLEDGE_NODE-24', 'text': ...
3e47d883f-b712-4f98-bd06-14ade143e3c2connect Bitbucket account to DevRev account[{'id': 'ART-2030_KNOWLEDGE_NODE-27', 'text': ...
42e6f9413-15ac-4974-a380-7aa22fc98a61use of workflows in DevRev[{'id': 'ART-1961_KNOWLEDGE_NODE-28', 'text': ...
\n", + "
" + ], + "text/plain": [ + " query_id \\\n", + "0 0ae94217-c6a0-4895-83a2-841a95f01637 \n", + "1 d0b209b3-6cea-46d8-bfac-bd0e286ea21b \n", + "2 40c1aa6f-cd21-46ab-8f6f-76fdc267b584 \n", + "3 e47d883f-b712-4f98-bd06-14ade143e3c2 \n", + "4 2e6f9413-15ac-4974-a380-7aa22fc98a61 \n", + "\n", + " query \\\n", + "0 create DevRev ticket from Microsoft Teams \n", + "1 workflow builder auto close ticket after 48 ho... \n", + "2 automated reminder to customer ticket will be ... \n", + "3 connect Bitbucket account to DevRev account \n", + "4 use of workflows in DevRev \n", + "\n", + " retrievals \n", + "0 [{'id': 'ART-4216_KNOWLEDGE_NODE-26', 'text': ... \n", + "1 [{'id': 'ART-2012_KNOWLEDGE_NODE-24', 'text': ... \n", + "2 [{'id': 'ART-3068_KNOWLEDGE_NODE-24', 'text': ... \n", + "3 [{'id': 'ART-2030_KNOWLEDGE_NODE-27', 'text': ... \n", + "4 [{'id': 'ART-1961_KNOWLEDGE_NODE-28', 'text': ... " + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Convert to DataFrame and display\n", + "annotated_df = annotated_queries[\"train\"].to_pandas()\n", + "annotated_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'query_id': '0ae94217-c6a0-4895-83a2-841a95f01637',\n", + " 'query': 'create DevRev ticket from Microsoft Teams',\n", + " 'retrievals': [{'id': 'ART-4216_KNOWLEDGE_NODE-26',\n", + " 'text': 'DevRev Object | Sync to DevRev |\\\\n| --- | --- | --- |\\\\n| Plan | Parts | \\\\xe2\\\\x9c\\\\x85 |\\\\n| User | Identity/DevUser | \\\\xe2\\\\x9c\\\\x85 |\\\\n| Channel | Chat | \\\\xe2\\\\x9c\\\\x85 |\\\\n| Attachments in Message/Thread/Task | Artifacts on Article | \\\\xe2\\\\x9c\\\\x85 |\\\\n| Message | Comment | \\\\xe2\\\\x9c\\\\x85 |\\\\n| Thread | Comment | \\\\xe2\\\\x9c\\\\x85 |\\\\n| Task | Issue/Ticket | \\\\xe2\\\\x9c\\\\x85 |\\\\n\\\\nImporting from Microsoft Teams\\\\n------------------------------\\\\n\\\\nFollow the steps below to import from Microsoft Teams:\\\\n\\\\n1. Go to',\n", + " 'title': 'Microsoft Teams AirSync | AirSync | Snap-ins | DevRev'},\n", + " {'id': 'ART-4216_KNOWLEDGE_NODE-29',\n", + " 'text': 'with many\\\\nattachments. DevRev honors the Microsoft Graph API rate limits and back-off and resumes 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** \\\\n This option allows you to synchronize any modifications made in Microsoft Teams with the corresponding items previously imported into DevRev. It also creates new items in DevRev for any new data in Microsoft Teams',\n", + " 'title': 'Microsoft Teams AirSync | AirSync | Snap-ins | DevRev'}]}" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Sample a single annotated query example\n", + "annotated_queries[\"train\"][0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2. Load Test Queries\n", + "Held-out queries used for evaluation." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "DatasetDict({\n", + " test: Dataset({\n", + " features: ['query_id', 'query'],\n", + " num_rows: 92\n", + " })\n", + "})\n" + ] + } + ], + "source": [ + "# Load test queries\n", + "test_queries = load_dataset(\"devrev/search\", \"test_queries\")\n", + "print(test_queries)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
query_idquery
0a97f93d2-410a-431f-ae9a-1e23ed35d74cend customer organization name not appearing i...
17dd7e2b4-9349-4535-8007-1d706e0fabffAndroid SDK session generated with Unknown user
24bc92187-cdaa-4c20-b189-abd1672e5a71email reply received on wrong ticket
34d9878e8-f746-4df5-8bf6-f9444989b385manage access and privileges in DevRev
4483151ec-aff4-4569-b3df-651f578b61d8SSO setup SAML IDP metadata connection string ...
\n", + "
" + ], + "text/plain": [ + " query_id \\\n", + "0 a97f93d2-410a-431f-ae9a-1e23ed35d74c \n", + "1 7dd7e2b4-9349-4535-8007-1d706e0fabff \n", + "2 4bc92187-cdaa-4c20-b189-abd1672e5a71 \n", + "3 4d9878e8-f746-4df5-8bf6-f9444989b385 \n", + "4 483151ec-aff4-4569-b3df-651f578b61d8 \n", + "\n", + " query \n", + "0 end customer organization name not appearing i... \n", + "1 Android SDK session generated with Unknown user \n", + "2 email reply received on wrong ticket \n", + "3 manage access and privileges in DevRev \n", + "4 SSO setup SAML IDP metadata connection string ... " + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Convert to DataFrame and display\n", + "test_df = test_queries[\"test\"].to_pandas()\n", + "test_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'query_id': 'a97f93d2-410a-431f-ae9a-1e23ed35d74c',\n", + " 'query': 'end customer organization name not appearing in ticket or conversation'}" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Sample a single test query example\n", + "test_queries[\"test\"][0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3. Load Knowledge Base\n", + "Article chunks from DevRev's customer-facing support documentation." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "DatasetDict({\n", + " corpus: Dataset({\n", + " features: ['id', 'text', 'title'],\n", + " num_rows: 65224\n", + " })\n", + "})\n" + ] + } + ], + "source": [ + "# Load knowledge base\n", + "knowledge_base = load_dataset(\"devrev/search\", \"knowledge_base\")\n", + "print(knowledge_base)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idtexttitle
0ART-17711_KNOWLEDGE_NODE-0b'We ran into a case where an AirSync was star...Sync fails when original sync owners loses per...
1ART-17711_KNOWLEDGE_NODE-1access.\\n\\nOnce Person A was re-added with the...Sync fails when original sync owners loses per...
2ART-17650_KNOWLEDGE_NODE-0b\"American cybersecurity leader unifies securi...American cybersecurity leader unifies security...
3ART-17650_KNOWLEDGE_NODE-1DevRev\\n======================================...American cybersecurity leader unifies security...
4ART-17650_KNOWLEDGE_NODE-2solutions help organisations build and deploy ...American cybersecurity leader unifies security...
\n", + "
" + ], + "text/plain": [ + " id \\\n", + "0 ART-17711_KNOWLEDGE_NODE-0 \n", + "1 ART-17711_KNOWLEDGE_NODE-1 \n", + "2 ART-17650_KNOWLEDGE_NODE-0 \n", + "3 ART-17650_KNOWLEDGE_NODE-1 \n", + "4 ART-17650_KNOWLEDGE_NODE-2 \n", + "\n", + " text \\\n", + "0 b'We ran into a case where an AirSync was star... \n", + "1 access.\\n\\nOnce Person A was re-added with the... \n", + "2 b\"American cybersecurity leader unifies securi... \n", + "3 DevRev\\n======================================... \n", + "4 solutions help organisations build and deploy ... \n", + "\n", + " title \n", + "0 Sync fails when original sync owners loses per... \n", + "1 Sync fails when original sync owners loses per... \n", + "2 American cybersecurity leader unifies security... \n", + "3 American cybersecurity leader unifies security... \n", + "4 American cybersecurity leader unifies security... " + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Convert to DataFrame and display\n", + "knowledge_df = knowledge_base[\"corpus\"].to_pandas()\n", + "knowledge_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'id': 'ART-17711_KNOWLEDGE_NODE-0',\n", + " 'text': \"b'We ran into a case where an AirSync was started by one person (Person A) and later failed. Another user (Person B) tried to click Retry, but it didn\\\\xe2\\\\x80\\\\x99t work. The logs showed 401 and 403 errors in communication between the snap-in and the snap-in manager.\\\\n\\\\nIt turned out that AirSync assigns the sync owner to whoever started it. Since Person A had been removed from the org or lost permissions, the retry failed \\\\xe2\\\\x80\\\\x94 the system still expected the original owner to have valid\",\n", + " 'title': 'Sync fails when original sync owners loses permissions'}" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Sample a single knowledge base chunk\n", + "knowledge_base[\"corpus\"][0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4. Dataset Summary" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "DevRev Search Dataset Summary\n", + "============================================================\n", + "\n", + "Annotated Queries:\n", + "DatasetDict({\n", + " train: Dataset({\n", + " features: ['query_id', 'query', 'retrievals'],\n", + " num_rows: 291\n", + " })\n", + "})\n", + "\n", + "Test Queries:\n", + "DatasetDict({\n", + " test: Dataset({\n", + " features: ['query_id', 'query'],\n", + " num_rows: 92\n", + " })\n", + "})\n", + "\n", + "Knowledge Base:\n", + "DatasetDict({\n", + " corpus: Dataset({\n", + " features: ['id', 'text', 'title'],\n", + " num_rows: 65224\n", + " })\n", + "})\n", + "\n", + "============================================================\n" + ] + } + ], + "source": [ + "print(\"=\" * 60)\n", + "print(\"DevRev Search Dataset Summary\")\n", + "print(\"=\" * 60)\n", + "print(f\"\\nAnnotated Queries:\")\n", + "print(annotated_queries)\n", + "print(f\"\\nTest Queries:\")\n", + "print(test_queries)\n", + "print(f\"\\nKnowledge Base:\")\n", + "print(knowledge_base)\n", + "print(\"\\n\" + \"=\" * 60)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "## 5. Index Knowledge Base with FAISS\n", + "\n", + "Using OpenAI text-embedding-3-small and FAISS for similarity search." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "from openai import OpenAI\n", + "import faiss\n", + "import numpy as np\n", + "from tqdm import tqdm\n", + "import time\n", + "import os\n", + "import json\n", + "import pickle" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Using model: text-embedding-3-small\n", + "Provider: OpenAI\n" + ] + } + ], + "source": [ + "# Initialize OpenAI client\n", + "# Set your API key as an environment variable: export OPENAI_API_KEY=\"your-key-here\"\n", + "OPENAI_API_KEY = os.environ.get(\"OPENAI_API_KEY\")\n", + "if not OPENAI_API_KEY:\n", + " raise ValueError(\"Please set OPENAI_API_KEY environment variable\")\n", + "\n", + "client = OpenAI(api_key=OPENAI_API_KEY)\n", + "\n", + "MODEL_ID = \"text-embedding-3-small\" # 1536 dimensions\n", + "print(f\"Using model: {MODEL_ID}\")\n", + "print(f\"Provider: OpenAI\")" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "def get_embedding(text: str) -> np.ndarray:\n", + " \"\"\"Get embedding for a single text using OpenAI text-embedding-3.\"\"\"\n", + " response = client.embeddings.create(\n", + " model=MODEL_ID,\n", + " input=text\n", + " )\n", + " return np.array(response.data[0].embedding)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "def get_embeddings_batch(texts: list) -> np.ndarray:\n", + " \"\"\"Get embeddings for a batch of texts using OpenAI text-embedding-3.\"\"\"\n", + " response = client.embeddings.create(\n", + " model=MODEL_ID,\n", + " input=texts\n", + " )\n", + " return np.array([d.embedding for d in response.data])" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading weights: 100%|██████████| 103/103 [00:00<00:00, 1907.55it/s, Materializing param=pooler.dense.weight] \n", + "\u001b[1mBertModel LOAD REPORT\u001b[0m from: sentence-transformers/all-MiniLM-L6-v2\n", + "Key | Status | | \n", + "------------------------+------------+--+-\n", + "embeddings.position_ids | UNEXPECTED | | \n", + "\n", + "\u001b[3mNotes:\n", + "- UNEXPECTED\u001b[3m\t:can be ignored when loading from different task/architecture; not ok if you expect identical arch.\u001b[0m\n" + ] + } + ], + "source": [ + "from sentence_transformers import SentenceTransformer\n", + "import numpy as np\n", + "\n", + "model = SentenceTransformer(\"all-MiniLM-L6-v2\") # free, runs locally\n", + "\n", + "def get_embedding(text: str) -> np.ndarray:\n", + " return model.encode(text)\n", + "\n", + "def get_embeddings_batch(texts: list) -> np.ndarray:\n", + " return model.encode(texts)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Test embedding shape: (384,)\n", + "Embedding dimension: 384\n", + "First 5 values: [0.08429643 0.05795369 0.00449337 0.1058211 0.00708341]\n" + ] + } + ], + "source": [ + "# Test the embedding API\n", + "test_embedding = get_embedding(\"This is a test sentence.\")\n", + "print(f\"Test embedding shape: {test_embedding.shape}\")\n", + "print(f\"Embedding dimension: {len(test_embedding)}\")\n", + "print(f\"First 5 values: {test_embedding[:5]}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Preparing documents: 100%|██████████| 65224/65224 [00:00<00:00, 118407.86it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Total documents: 65,224\n", + "\n", + "Sample document:\n", + "Sync fails when original sync owners loses permissions\n", + "\n", + "b'We ran into a case where an AirSync was started by one person (Person A) and later failed. Another user (Person B) tried to click Retry, but it didn\\xe2\\x80\\x99t work. The logs showed 401 and 403 errors in communication between the snap-in and the snap-in manager.\\n\\nIt turned out that AirSync assigns the sync owner to whoever started it. Since Person A had been removed from the org or lost permissions, the retry failed \\xe2\\x80\\x94 the s\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n" + ] + } + ], + "source": [ + "# Prepare documents: concatenate title with text\n", + "corpus = knowledge_base[\"corpus\"]\n", + "\n", + "documents = []\n", + "doc_ids = []\n", + "doc_titles = []\n", + "doc_texts = []\n", + "\n", + "for item in tqdm(corpus, desc=\"Preparing documents\"):\n", + " # Concatenate title and text\n", + " doc_text = f\"{item['title']}\\n\\n{item['text']}\"\n", + " documents.append(doc_text)\n", + " doc_ids.append(item['id'])\n", + " doc_titles.append(item['title'])\n", + " doc_texts.append(item['text'])\n", + "\n", + "print(f\"\\nTotal documents: {len(documents):,}\")\n", + "print(f\"\\nSample document:\")\n", + "print(documents[0][:500])" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "def get_all_embeddings(texts, batch_size=100, max_retries=3):\n", + " \"\"\"Get embeddings for all texts using OpenAI batch API.\"\"\"\n", + " all_embeddings = []\n", + " \n", + " for i in tqdm(range(0, len(texts), batch_size), desc=\"Generating embeddings\"):\n", + " batch = texts[i:i + batch_size]\n", + " \n", + " # Truncate texts if too long (OpenAI has ~8K token limit)\n", + " batch = [text[:8000] if len(text) > 8000 else text for text in batch]\n", + " \n", + " retries = 0\n", + " while retries < max_retries:\n", + " try:\n", + " embeddings = get_embeddings_batch(batch)\n", + " all_embeddings.append(embeddings)\n", + " break\n", + " except Exception as e:\n", + " retries += 1\n", + " if retries >= max_retries:\n", + " print(f\"Error embedding batch {i}: {e}\")\n", + " all_embeddings.append(np.zeros((len(batch), 1536)))\n", + " else:\n", + " print(f\"Retry {retries} for batch {i}...\")\n", + " time.sleep(2)\n", + " \n", + " time.sleep(0.1) # Rate limiting\n", + " \n", + " return np.vstack(all_embeddings)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generating embeddings for knowledge base...\n", + "Total documents: 65,224\n", + "Using batch processing for efficiency...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generating embeddings: 100%|██████████| 66/66 [01:41<00:00, 1.54s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Embeddings shape: (65224, 384)\n", + "Embeddings saved to embeddings.npy\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n" + ] + } + ], + "source": [ + "# Generate embeddings for all documents\n", + "print(\"Generating embeddings for knowledge base...\")\n", + "print(f\"Total documents: {len(documents):,}\")\n", + "print(\"Using batch processing for efficiency...\")\n", + "\n", + "# For testing, use a subset (uncomment for all documents)\n", + "# documents_to_embed = documents[:100] # Test with first 100 docs\n", + "documents_to_embed = documents # All documents\n", + "\n", + "embeddings = get_all_embeddings(documents_to_embed, batch_size=1000)\n", + "print(f\"\\nEmbeddings shape: {embeddings.shape}\")\n", + "\n", + "# Save embeddings\n", + "np.save(\"embeddings.npy\", embeddings)\n", + "print(\"Embeddings saved to embeddings.npy\")" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "# Load embeddings if already saved\n", + "# embeddings = np.load(\"embeddings.npy\")\n", + "# print(f\"Loaded embeddings shape: {embeddings.shape}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "ename": "", + "evalue": "", + "output_type": "error", + "traceback": [ + "\u001b[1;31mThe Kernel crashed while executing code in the current cell or a previous cell. \n", + "\u001b[1;31mPlease review the code in the cell(s) to identify a possible cause of the failure. \n", + "\u001b[1;31mClick here for more info. \n", + "\u001b[1;31mView Jupyter log for further details." + ] + } + ], + "source": [ + "# Create FAISS index\n", + "embedding_dim = embeddings.shape[1]\n", + "print(f\"Creating FAISS index with dimension: {embedding_dim}\")\n", + "\n", + "# Normalize embeddings for cosine similarity\n", + "embeddings_normalized = embeddings.copy().astype('float32')\n", + "faiss.normalize_L2(embeddings_normalized)\n", + "\n", + "# Create the index using IndexFlatIP for inner product (cosine similarity with normalized vectors)\n", + "index = faiss.IndexFlatIP(embedding_dim)\n", + "index.add(embeddings_normalized)\n", + "\n", + "print(f\"Index created with {index.ntotal:,} vectors\")" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "✓ Index saved to faiss_index/knowledge_base.index\n", + "✓ Document mapping saved to faiss_index/doc_mapping.pkl\n" + ] + } + ], + "source": [ + "# Save the index and document mapping\n", + "INDEX_DIR = \"faiss_index\"\n", + "os.makedirs(INDEX_DIR, exist_ok=True)\n", + "\n", + "# Save FAISS index\n", + "faiss.write_index(index, os.path.join(INDEX_DIR, \"knowledge_base.index\"))\n", + "\n", + "# Save document mapping\n", + "with open(os.path.join(INDEX_DIR, \"doc_mapping.pkl\"), \"wb\") as f:\n", + " pickle.dump({\n", + " \"doc_ids\": doc_ids,\n", + " \"documents\": documents,\n", + " \"doc_titles\": doc_titles,\n", + " \"doc_texts\": doc_texts\n", + " }, f)\n", + "\n", + "print(f\"✓ Index saved to {INDEX_DIR}/knowledge_base.index\")\n", + "print(f\"✓ Document mapping saved to {INDEX_DIR}/doc_mapping.pkl\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 6. Search the Knowledge Base" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [], + "source": [ + "def search(query: str, k: int = 5):\n", + " \"\"\"Search the knowledge base for relevant documents.\"\"\"\n", + " query_embedding = get_embedding(query).astype('float32')\n", + " query_embedding = query_embedding.reshape(1, -1)\n", + " faiss.normalize_L2(query_embedding)\n", + " \n", + " scores, indices = index.search(query_embedding, k)\n", + " \n", + " results = []\n", + " for i, (score, idx) in enumerate(zip(scores[0], indices[0])):\n", + " results.append({\n", + " \"rank\": i + 1,\n", + " \"score\": float(score),\n", + " \"id\": doc_ids[idx],\n", + " \"title\": doc_titles[idx],\n", + " \"text\": doc_texts[idx]\n", + " })\n", + " \n", + " return results" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Query: How do I set up AirSync?\n", + "============================================================\n", + "\n", + "[Rank 1] Score: 0.6888\n", + "Doc ID: ART-17212_KNOWLEDGE_NODE-5\n", + "Title: AirSync snap-in template | DevRev | Docs\n", + "Text: snap-in. Inside, the `functions/` subfolder includes the logic for retrieving external sync units, extracting data from and loading data to external systems, and mapping between them.\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/airsync/getting-started)[#### Local development\\n\\nNext](/airsync/...\n", + "----------------------------------------\n", + "\n", + "[Rank 2] Score: 0.6721\n", + "Doc ID: ART-2045_KNOWLEDGE_NODE-29\n", + "Title: AirSync | Snap-ins | DevRev\n", + "Text: Setting up a new AirSync\\n\\n![]()\\n\\nFor best results, AirSyncs should be done using an administrator account on the external source. This ensures all necessary permissions are available to complete the import successfully.\\n\\nWhether you want to perform only a one-time import or set up an ongoing s...\n", + "----------------------------------------\n", + "\n", + "[Rank 3] Score: 0.6712\n", + "Doc ID: ART-2047_KNOWLEDGE_NODE-29\n", + "Title: Salesforce AirSync | AirSync | Snap-ins | DevRev\n", + "Text: editions include **Enterprise**, **Unlimited**, **Developer**, and **Performance**. Additionally, the **Professional** edition is supported if API access has been purchased as an add-on.\\n\\n![]()\\n\\nTo ensure a successful import, it\\'s important to verify that the Salesforce user has \"View All Data\"...\n", + "----------------------------------------\n", + "\n", + "[Rank 4] Score: 0.6654\n", + "Doc ID: ART-2047_KNOWLEDGE_NODE-39\n", + "Title: Salesforce AirSync | AirSync | Snap-ins | DevRev\n", + "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### Histor...\n", + "----------------------------------------\n", + "\n", + "[Rank 5] Score: 0.6582\n", + "Doc ID: ART-17227_KNOWLEDGE_NODE-1\n", + "Title: Deploy to organization | DevRev | Docs\n", + "Text: and fill in the required variables.\\n2. Deploy a draft version of your snap-in to your organization by using `make deploy`.\\n3. Install the snap-in in your DevRev by going to **Settings** > **Snap-ins** > **Install snap-in**.\\n4. Set up the connection under **Settings** > **Integrations** > **AirSyn...\n", + "----------------------------------------\n" + ] + } + ], + "source": [ + "# Test search with a sample query\n", + "query = \"How do I set up AirSync?\"\n", + "results = search(query, k=5)\n", + "\n", + "print(f\"Query: {query}\")\n", + "print(\"=\" * 60)\n", + "\n", + "for r in results:\n", + " print(f\"\\n[Rank {r['rank']}] Score: {r['score']:.4f}\")\n", + " print(f\"Doc ID: {r['id']}\")\n", + " print(f\"Title: {r['title']}\")\n", + " print(f\"Text: {r['text'][:300]}...\")\n", + " print(\"-\" * 40)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "## 7. Run Evaluation on Test Queries\n", + "\n", + "Run search against all test queries and save results in the same format as annotated_queries." + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Processing test queries: 100%|██████████| 92/92 [00:00<00:00, 106.21it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Processed 92 test queries\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n" + ] + } + ], + "source": [ + "# Run search on all test queries - DIRECT VERSION (no dependency on search function)\n", + "TOP_K = 10 # Number of retrievals per query\n", + "\n", + "# Get corpus data for lookups\n", + "corpus_data = knowledge_base[\"corpus\"]\n", + "\n", + "test_results = []\n", + "\n", + "for item in tqdm(test_queries[\"test\"], desc=\"Processing test queries\"):\n", + " query_id = item[\"query_id\"]\n", + " query = item[\"query\"]\n", + " \n", + " # Get query embedding directly\n", + " query_embedding = get_embedding(query).astype('float32').reshape(1, -1)\n", + " faiss.normalize_L2(query_embedding)\n", + " \n", + " # Search FAISS index\n", + " scores, indices = index.search(query_embedding, TOP_K)\n", + " \n", + " # Format retrievals using corpus data directly\n", + " retrievals = []\n", + " for idx in indices[0]:\n", + " doc = corpus_data[int(idx)]\n", + " retrievals.append({\n", + " \"id\": doc[\"id\"],\n", + " \"text\": doc[\"text\"],\n", + " \"title\": doc[\"title\"]\n", + " })\n", + " \n", + " test_results.append({\n", + " \"query_id\": query_id,\n", + " \"query\": query,\n", + " \"retrievals\": retrievals\n", + " })\n", + "\n", + "print(f\"\\nProcessed {len(test_results)} test queries\")" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "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-1978_KNOWLEDGE_NODE-44\",\n", + " \"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\",\n", + " \"title\": \"Customer portal | Computer for Support Teams | DevRev\"\n", + " },\n", + " {\n", + " \"id\": \"ART-6174_KNOWLEDGE_NODE-27\",\n", + " \"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\",\n", + " \"title\": \"Conversation to ticket conversion | Conversations | Computer for Support Teams | DevRev\"\n", + " },\n", + " {\n", + " \"id\": \"ART-42\n" + ] + } + ], + "source": [ + "# Preview a sample result\n", + "import json\n", + "print(\"Sample result:\")\n", + "print(json.dumps(test_results[0], indent=2, default=str)[:1500])" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "✓ Results saved to test_queries_results.json\n", + " - 92 queries\n", + " - 10 retrievals per query\n" + ] + } + ], + "source": [ + "# Save results to JSON file\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", + "\n", + "print(f\"✓ Results saved to {OUTPUT_FILE}\")\n", + "print(f\" - {len(test_results)} queries\")\n", + "print(f\" - {TOP_K} retrievals per query\")" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "✓ Results also saved to test_queries_results.parquet\n" + ] + } + ], + "source": [ + "# Also save as a parquet file for easier loading\n", + "results_df = pd.DataFrame(test_results)\n", + "results_df.to_parquet(\"test_queries_results.parquet\", index=False)\n", + "print(\"✓ Results also saved to test_queries_results.parquet\")" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "Test Queries Results Summary\n", + "============================================================\n", + "Total queries: 92\n", + "Retrievals per query: 10\n", + "\n", + "Output files:\n", + " - test_queries_results.json\n", + " - test_queries_results.parquet\n", + "\n", + "Format matches annotated_queries structure:\n", + " - query_id: string\n", + " - query: string\n", + " - retrievals: list of {id, text, title}\n" + ] + } + ], + "source": [ + "# Display results summary\n", + "print(\"=\" * 60)\n", + "print(\"Test Queries Results Summary\")\n", + "print(\"=\" * 60)\n", + "print(f\"Total queries: {len(test_results)}\")\n", + "print(f\"Retrievals per query: {TOP_K}\")\n", + "print(f\"\\nOutput files:\")\n", + "print(f\" - test_queries_results.json\")\n", + "print(f\" - test_queries_results.parquet\")\n", + "print(\"\\nFormat matches annotated_queries structure:\")\n", + "print(\" - query_id: string\")\n", + "print(\" - query: string\")\n", + "print(\" - retrievals: list of {id, text, title}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 8. Load Saved Index (Optional)\n", + "Use this to load a previously saved index without re-embedding." + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [], + "source": [ + "# Load saved index and mapping\n", + "# INDEX_DIR = \"faiss_index\"\n", + "# index = faiss.read_index(os.path.join(INDEX_DIR, \"knowledge_base.index\"))\n", + "# with open(os.path.join(INDEX_DIR, \"doc_mapping.pkl\"), \"rb\") as f:\n", + "# mapping = pickle.load(f)\n", + "# doc_ids = mapping[\"doc_ids\"]\n", + "# documents = mapping[\"documents\"]\n", + "# doc_titles = mapping[\"doc_titles\"]\n", + "# doc_texts = mapping[\"doc_texts\"]\n", + "# print(f\"Loaded index with {index.ntotal:,} vectors\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "## 9. Enhanced Search Pipeline\n", + "\n", + "**Target: match Rank 3 open-source entry — `snowflake-arctic-embed-l-v2.0-bm25-zerank-1-small`**\n", + "\n", + "| Stage | What | Why |\n", + "|-------|------|-----|\n", + "| **Text Cleaning** | Remove `b'...'` byte artifacts, normalize unicode | Cleaner text → better embeddings & BM25 |\n", + "| **Stronger Embeddings** | `snowflake-arctic-embed-l-v2.0` (1024-dim, multilingual) | Exact model used by Rank 3 open-source entry |\n", + "| **Hybrid Retrieval** | Dense + BM25 with Reciprocal Rank Fusion | Catches both semantic and keyword matches |\n", + "| **Cross-Encoder Reranking** | `zeroentropy/zerank-1-small` (Apache 2.0) | Exact reranker used by all Top-4 entries |\n", + "\n", + "**Leaderboard gap (all values in %):**\n", + "\n", + "| Metric | You (current) | Rank 3 open-source | Gap |\n", + "|--------|:---:|:---:|:---:|\n", + "| Precision@10 | 16.56 | 26.63 | -10.07 pts |\n", + "| Recall@10 | 20.98 | 36.09 | -15.11 pts |\n", + "\n", + "> **Note on metrics:** The leaderboard evaluates on `test_queries` (92 held-out queries submitted to DevRev). Your local evaluation uses `annotated_queries` as a proxy. Local numbers will differ slightly from leaderboard numbers but track the same trend." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/macbookpro/Desktop/DevRev_search/.venv/lib/python3.14/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", + " from .autonotebook import tqdm as notebook_tqdm\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Device selected: MPS\n", + "Apple Silicon MPS enabled — GPU acceleration active.\n" + ] + } + ], + "source": [ + "import subprocess\n", + "subprocess.check_call([\"pip\", \"install\", \"-q\", \"rank_bm25\"])\n", + "\n", + "import re, ast, torch\n", + "from rank_bm25 import BM25Okapi\n", + "from sentence_transformers import SentenceTransformer, CrossEncoder\n", + "from collections import defaultdict\n", + "\n", + "# Auto-select best available device: MPS (Apple Silicon) > CUDA > CPU\n", + "if torch.backends.mps.is_available():\n", + " DEVICE = \"mps\"\n", + "elif torch.cuda.is_available():\n", + " DEVICE = \"cuda\"\n", + "else:\n", + " DEVICE = \"cpu\"\n", + "\n", + "print(f\"Device selected: {DEVICE.upper()}\")\n", + "if DEVICE == \"mps\":\n", + " print(\"Apple Silicon MPS enabled — GPU acceleration active.\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 9.1 Evaluation Metrics\n", + "Measure Recall@K, Precision@K, and MRR against annotated golden retrievals." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Evaluation function ready (metrics in %, matching leaderboard scale).\n" + ] + } + ], + "source": [ + "def evaluate_retrieval(predictions, ground_truth, k_values=[1, 3, 5, 10]):\n", + " \"\"\"\n", + " Evaluate retrieval quality: Recall@K, Precision@K, MRR.\n", + " Returns metrics in PERCENTAGE form (0-100) to match leaderboard scale.\n", + " \"\"\"\n", + " gt_map = {g[\"query_id\"]: set(r[\"id\"] for r in g[\"retrievals\"]) for g in ground_truth}\n", + "\n", + " metrics = {}\n", + " for k in k_values:\n", + " recalls, precisions = [], []\n", + " for pred in predictions:\n", + " golden_ids = gt_map.get(pred[\"query_id\"], set())\n", + " if not golden_ids:\n", + " continue\n", + " predicted_ids = [r[\"id\"] for r in pred[\"retrievals\"][:k]]\n", + " hits = sum(1 for pid in predicted_ids if pid in golden_ids)\n", + " recalls.append(hits / len(golden_ids))\n", + " precisions.append(hits / k)\n", + " metrics[f\"Recall@{k}\"] = 100 * sum(recalls) / len(recalls) if recalls else 0\n", + " metrics[f\"Precision@{k}\"] = 100 * sum(precisions) / len(precisions) if precisions else 0\n", + "\n", + " mrrs = []\n", + " for pred in predictions:\n", + " golden_ids = gt_map.get(pred[\"query_id\"], set())\n", + " if not golden_ids:\n", + " continue\n", + " for rank, r in enumerate(pred[\"retrievals\"], 1):\n", + " if r[\"id\"] in golden_ids:\n", + " mrrs.append(1.0 / rank)\n", + " break\n", + " else:\n", + " mrrs.append(0.0)\n", + " metrics[\"MRR\"] = 100 * sum(mrrs) / len(mrrs) if mrrs else 0\n", + "\n", + " return metrics\n", + "\n", + "print(\"Evaluation function ready (metrics in %, matching leaderboard scale).\")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Evaluating baseline (all-MiniLM-L6-v2 + FAISS flat)...\n" + ] + }, + { + "ename": "NameError", + "evalue": "name 'knowledge_base' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[31m---------------------------------------------------------------------------\u001b[39m", + "\u001b[31mNameError\u001b[39m Traceback (most recent call last)", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[3]\u001b[39m\u001b[32m, line 4\u001b[39m\n\u001b[32m 1\u001b[39m \u001b[38;5;66;03m# Evaluate current baseline (all-MiniLM-L6-v2 + FAISS)\u001b[39;00m\n\u001b[32m 2\u001b[39m \u001b[38;5;28mprint\u001b[39m(\u001b[33m\"\u001b[39m\u001b[33mEvaluating baseline (all-MiniLM-L6-v2 + FAISS flat)...\u001b[39m\u001b[33m\"\u001b[39m)\n\u001b[32m----> \u001b[39m\u001b[32m4\u001b[39m corpus_data = \u001b[43mknowledge_base\u001b[49m[\u001b[33m\"\u001b[39m\u001b[33mcorpus\u001b[39m\u001b[33m\"\u001b[39m]\n\u001b[32m 5\u001b[39m ground_truth = [\u001b[38;5;28mdict\u001b[39m(item) \u001b[38;5;28;01mfor\u001b[39;00m item \u001b[38;5;129;01min\u001b[39;00m annotated_queries[\u001b[33m\"\u001b[39m\u001b[33mtrain\u001b[39m\u001b[33m\"\u001b[39m]]\n\u001b[32m 7\u001b[39m baseline_results = []\n", + "\u001b[31mNameError\u001b[39m: name 'knowledge_base' is not defined" + ] + } + ], + "source": [ + "# Evaluate current baseline (all-MiniLM-L6-v2 + FAISS)\n", + "print(\"Evaluating baseline (all-MiniLM-L6-v2 + FAISS flat)...\")\n", + "\n", + "corpus_data = knowledge_base[\"corpus\"]\n", + "ground_truth = [dict(item) for item in annotated_queries[\"train\"]]\n", + "\n", + "baseline_results = []\n", + "for item in tqdm(annotated_queries[\"train\"], desc=\"Baseline eval\"):\n", + " query_emb = get_embedding(item[\"query\"]).astype('float32').reshape(1, -1)\n", + " faiss.normalize_L2(query_emb)\n", + " scores, indices = index.search(query_emb, 10)\n", + "\n", + " retrievals = []\n", + " for idx in indices[0]:\n", + " doc = corpus_data[int(idx)]\n", + " retrievals.append({\"id\": doc[\"id\"], \"text\": doc[\"text\"], \"title\": doc[\"title\"]})\n", + " baseline_results.append({\n", + " \"query_id\": item[\"query_id\"],\n", + " \"query\": item[\"query\"],\n", + " \"retrievals\": retrievals,\n", + " })\n", + "\n", + "baseline_metrics = evaluate_retrieval(baseline_results, ground_truth)\n", + "print(\"\\n=== BASELINE Performance (%, matching leaderboard scale) ===\")\n", + "for k, v in sorted(baseline_metrics.items()):\n", + " print(f\" {k:15s}: {v:6.2f}%\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 9.2 Text Cleaning\n", + "Many knowledge base entries have raw byte-string wrappers (`b'...'`) and escaped unicode. Clean these for better embedding and BM25 quality." + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Cleaned 65,224 documents\n", + "\n", + "BEFORE: Sync fails when original sync owners loses permissions\n", + "\n", + "b'We ran into a case where an AirSync was started by one person (Person A) and later failed. Another user (Person B) tried to click Retry, but i\n", + "\n", + "AFTER: Sync fails when original sync owners loses permissions\n", + "\n", + "We ran into a case where an AirSync was started by one person (Person A) and later failed. Another user (Person B) tried to click Retry, but it \n" + ] + } + ], + "source": [ + "def clean_text(text: str) -> str:\n", + " \"\"\"Remove byte-string wrappers, decode escaped unicode, normalize whitespace.\"\"\"\n", + " if isinstance(text, str) and (text.startswith(\"b'\") or text.startswith('b\"')):\n", + " try:\n", + " evaluated = ast.literal_eval(text)\n", + " if isinstance(evaluated, bytes):\n", + " text = evaluated.decode(\"utf-8\", errors=\"replace\")\n", + " except (ValueError, SyntaxError):\n", + " text = text[2:-1]\n", + "\n", + " text = text.replace(\"\\\\n\", \"\\n\")\n", + " text = re.sub(r\"\\\\x[0-9a-fA-F]{2}\", \" \", text)\n", + " text = re.sub(r\"\\n{3,}\", \"\\n\\n\", text)\n", + " text = re.sub(r\" {2,}\", \" \", text)\n", + " return text.strip()\n", + "\n", + "\n", + "cleaned_documents = []\n", + "cleaned_texts = []\n", + "for title, raw_text in zip(doc_titles, doc_texts):\n", + " ct = clean_text(raw_text)\n", + " cleaned_texts.append(ct)\n", + " cleaned_documents.append(f\"{title}\\n\\n{ct}\")\n", + "\n", + "print(f\"Cleaned {len(cleaned_documents):,} documents\")\n", + "print(f\"\\nBEFORE: {documents[0][:200]}\")\n", + "print(f\"\\nAFTER: {cleaned_documents[0][:200]}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 9.3 Stronger Dense Embedding Model\n", + "Replace `all-MiniLM-L6-v2` (384-dim) with `Snowflake/snowflake-arctic-embed-l-v2.0` (1024-dim) — the exact embedding model used by the Rank 3 open-source leaderboard entry.\n", + "\n", + "Snowflake Arctic Embed v2 uses `prompt_name=\"query\"` for query encoding (vs document encoding), which is handled automatically by the SentenceTransformers integration." + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Loading Snowflake/snowflake-arctic-embed-l-v2.0 on MPS...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading weights: 100%|██████████| 391/391 [00:00<00:00, 1633.57it/s, Materializing param=pooler.dense.weight] \n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Embedding dimension: 1024\n", + "Model device: mps:0\n" + ] + } + ], + "source": [ + "from sentence_transformers import SentenceTransformer\n", + "\n", + "DENSE_MODEL_NAME = \"Snowflake/snowflake-arctic-embed-l-v2.0\"\n", + "print(f\"Loading {DENSE_MODEL_NAME} on {DEVICE.upper()}...\")\n", + "dense_model = SentenceTransformer(DENSE_MODEL_NAME, device=DEVICE)\n", + "print(f\"Embedding dimension: {dense_model.get_sentence_embedding_dimension()}\")\n", + "print(f\"Model device: {next(dense_model.parameters()).device}\")\n", + "\n", + "\n", + "def get_dense_embedding(text: str, is_query: bool = False) -> np.ndarray:\n", + " if is_query:\n", + " return dense_model.encode(text, prompt_name=\"query\", normalize_embeddings=True)\n", + " return dense_model.encode(text, normalize_embeddings=True)\n", + "\n", + "\n", + "def get_dense_embeddings_batch(texts: list, is_query: bool = False, batch_size: int = 64) -> np.ndarray:\n", + " if is_query:\n", + " return dense_model.encode(texts, prompt_name=\"query\", normalize_embeddings=True,\n", + " batch_size=batch_size, show_progress_bar=True)\n", + " return dense_model.encode(texts, normalize_embeddings=True, batch_size=batch_size, show_progress_bar=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generating snowflake-arctic-embed-l-v2.0 embeddings for 65,224 documents...\n", + "(~10-15 min on CPU / ~3-5 min on Apple Silicon MPS)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Batches: 100%|██████████| 1020/1020 [39:27<00:00, 2.32s/it]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Embeddings shape: (65224, 1024)\n", + "Saved to embeddings_snowflake.npy\n" + ] + } + ], + "source": [ + "print(f\"Generating snowflake-arctic-embed-l-v2.0 embeddings for {len(cleaned_documents):,} documents...\")\n", + "print(\"(~10-15 min on CPU / ~3-5 min on Apple Silicon MPS)\")\n", + "\n", + "dense_embeddings = get_dense_embeddings_batch(cleaned_documents, is_query=False, batch_size=64)\n", + "print(f\"\\nEmbeddings shape: {dense_embeddings.shape}\")\n", + "\n", + "np.save(\"embeddings_snowflake.npy\", dense_embeddings)\n", + "print(\"Saved to embeddings_snowflake.npy\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 9.4 Build FAISS Dense Index + BM25 Sparse Index\n", + "Two complementary retrieval paths:\n", + "- **Dense (FAISS)** — semantic similarity via BGE embeddings\n", + "- **Sparse (BM25)** — keyword/term frequency matching" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "FAISS index: 65,224 vectors, dim=1024\n", + "Building BM25 index...\n", + "BM25 index: 65,224 documents\n" + ] + } + ], + "source": [ + "# --- Dense FAISS index ---\n", + "dense_dim = dense_embeddings.shape[1]\n", + "enhanced_index = faiss.IndexFlatIP(dense_dim)\n", + "enhanced_index.add(dense_embeddings.astype(\"float32\"))\n", + "print(f\"FAISS index: {enhanced_index.ntotal:,} vectors, dim={dense_dim}\")\n", + "\n", + "# --- BM25 sparse index ---\n", + "print(\"Building BM25 index...\")\n", + "tokenized_docs = [doc.lower().split() for doc in cleaned_documents]\n", + "bm25_index = BM25Okapi(tokenized_docs)\n", + "print(f\"BM25 index: {len(tokenized_docs):,} documents\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 9.5 Cross-Encoder Reranker — zerank-1-small\n", + "`zeroentropy/zerank-1-small` is the exact reranker used by all top-4 leaderboard entries. It's open-source (Apache 2.0) and outperforms Cohere Rerank-3.5 on BEIR benchmarks.\n", + "\n", + "A cross-encoder scores (query, document) pairs jointly — far more accurate than bi-encoder cosine similarity, but only feasible on a small candidate pool. We apply it to the top-50 fused candidates from hybrid retrieval." + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Note: you may need to restart the kernel to use updated packages.\n", + "accelerate available: True\n", + "Loading reranker: zeroentropy/zerank-1-small on CPU...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading weights: 100%|██████████| 310/310 [00:00<00:00, 1714.72it/s, Materializing param=model.norm.weight] \n", + "\u001b[1mQwen3ForSequenceClassification LOAD REPORT\u001b[0m from: zeroentropy/zerank-1-small\n", + "Key | Status | \n", + "-------------+---------+-\n", + "score.weight | MISSING | \n", + "\n", + "\u001b[3mNotes:\n", + "- MISSING\u001b[3m\t:those params were newly initialized because missing from the checkpoint. Consider training on your downstream task.\u001b[0m\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Reranker loaded.\n" + ] + } + ], + "source": [ + "%pip install -q protobuf\n", + "\n", + "import torch\n", + "from sentence_transformers import CrossEncoder\n", + "\n", + "# is_accelerate_available() uses @lru_cache — clear it so the post-install\n", + "# state of accelerate is detected fresh on the next call.\n", + "from transformers.utils import is_accelerate_available\n", + "is_accelerate_available.cache_clear()\n", + "print(f\"accelerate available: {is_accelerate_available()}\")\n", + "\n", + "# Remove any leftover global default device from previous cell runs.\n", + "torch.set_default_device(None)\n", + "\n", + "RERANKER_MODEL = \"zeroentropy/zerank-1-small\"\n", + "print(f\"Loading reranker: {RERANKER_MODEL} on CPU...\")\n", + "# local_files_only=True avoids ConnectErrors — model is already cached locally.\n", + "reranker = CrossEncoder(\n", + " RERANKER_MODEL,\n", + " trust_remote_code=True,\n", + " device=\"cpu\",\n", + " local_files_only=True,\n", + ")\n", + "print(\"Reranker loaded.\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 9.6 Hybrid Search + Rerank Pipeline\n", + "Three-stage retrieval:\n", + "1. **Retrieve** top-100 from Dense (FAISS) and top-100 from BM25\n", + "2. **Fuse** via Reciprocal Rank Fusion (RRF)\n", + "3. **Rerank** top-50 fused candidates with cross-encoder → return top-K" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "All prerequisites satisfied. Ready to build hybrid search pipeline.\n" + ] + } + ], + "source": [ + "# Prerequisites check — run this before the hybrid search function\n", + "_missing = []\n", + "if \"dense_model\" not in dir(): _missing.append(\"dense_model → run cell 9.3 (Load snowflake model)\")\n", + "if \"get_dense_embedding\" not in dir(): _missing.append(\"get_dense_embedding → run cell 9.3 (Load snowflake model)\")\n", + "if \"cleaned_documents\" not in dir(): _missing.append(\"cleaned_documents → run cell 9.2 (Text cleaning)\")\n", + "if \"enhanced_index\" not in dir(): _missing.append(\"enhanced_index → run cell 9.4 (Build FAISS + BM25 indices)\")\n", + "if \"bm25_index\" not in dir(): _missing.append(\"bm25_index → run cell 9.4 (Build FAISS + BM25 indices)\")\n", + "if \"reranker\" not in dir(): _missing.append(\"reranker → run cell 9.5 (Load zerank-1-small)\")\n", + "if \"corpus_data\" not in dir(): _missing.append(\"corpus_data → run cell 9.7 baseline eval (defines corpus_data)\")\n", + "\n", + "if _missing:\n", + " raise RuntimeError(\n", + " \"Missing prerequisites — please run these cells first:\\n \" + \"\\n \".join(_missing)\n", + " )\n", + "print(\"All prerequisites satisfied. Ready to build hybrid search pipeline.\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading weights: 100%|██████████| 310/310 [00:00<00:00, 2233.24it/s, Materializing param=model.norm.weight] \n" + ] + } + ], + "source": [ + "def hybrid_search_rerank(\n", + " query: str,\n", + " top_k: int = 10,\n", + " dense_candidates: int = 100,\n", + " bm25_candidates: int = 100,\n", + " rerank_pool: int = 50,\n", + " rrf_k: int = 60,\n", + "):\n", + " \"\"\"\n", + " Stage 1: Dense + BM25 retrieval\n", + " Stage 2: Reciprocal Rank Fusion\n", + " Stage 3: Cross-encoder reranking\n", + " \"\"\"\n", + " # --- Stage 1A: Dense retrieval ---\n", + " q_emb = get_dense_embedding(query, is_query=True).astype(\"float32\").reshape(1, -1)\n", + " dense_scores, dense_indices = enhanced_index.search(q_emb, dense_candidates)\n", + "\n", + " # --- Stage 1B: BM25 retrieval ---\n", + " bm25_scores = bm25_index.get_scores(query.lower().split())\n", + " bm25_top = np.argsort(bm25_scores)[::-1][:bm25_candidates]\n", + "\n", + " # --- Stage 2: Reciprocal Rank Fusion ---\n", + " rrf_scores = defaultdict(float)\n", + " for rank, idx in enumerate(dense_indices[0]):\n", + " rrf_scores[int(idx)] += 1.0 / (rrf_k + rank + 1)\n", + " for rank, idx in enumerate(bm25_top):\n", + " rrf_scores[int(idx)] += 1.0 / (rrf_k + rank + 1)\n", + "\n", + " fused = sorted(rrf_scores.items(), key=lambda x: x[1], reverse=True)[:rerank_pool]\n", + " candidate_indices = [idx for idx, _ in fused]\n", + "\n", + " # --- Stage 3: Cross-encoder reranking ---\n", + " pairs = [(query, cleaned_documents[idx]) for idx in candidate_indices]\n", + " rerank_scores = reranker.predict(pairs)\n", + "\n", + " scored = sorted(zip(candidate_indices, rerank_scores), key=lambda x: x[1], reverse=True)\n", + "\n", + " results = []\n", + " for idx, score in scored[:top_k]:\n", + " doc = corpus_data[idx]\n", + " results.append({\n", + " \"id\": doc[\"id\"],\n", + " \"text\": doc[\"text\"],\n", + " \"title\": doc[\"title\"],\n", + " })\n", + " return results\n", + "\n", + "\n", + "# Quick sanity test\n", + "test_result = hybrid_search_rerank(\"How do I set up AirSync?\", top_k=3)\n", + "for i, r in enumerate(test_result, 1):\n", + " print(f\"[{i}] {r['title']}\")\n", + " print(f\" {r['text'][:120]}...\")\n", + " print()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 9.7 Evaluate Enhanced Pipeline vs Baseline\n", + "Run the full enhanced pipeline on all 291 annotated queries and compare head-to-head." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Evaluating enhanced pipeline on annotated queries...\n", + "(~2-4 min: 291 queries × reranking 50 candidates each)\n", + "\n" + ] + }, + { + "ename": "NameError", + "evalue": "name 'tqdm' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[31m---------------------------------------------------------------------------\u001b[39m", + "\u001b[31mNameError\u001b[39m Traceback (most recent call last)", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[2]\u001b[39m\u001b[32m, line 5\u001b[39m\n\u001b[32m 2\u001b[39m \u001b[38;5;28mprint\u001b[39m(\u001b[33m\"\u001b[39m\u001b[33m(~2-4 min: 291 queries × reranking 50 candidates each)\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[33m\"\u001b[39m)\n\u001b[32m 4\u001b[39m enhanced_eval_results = []\n\u001b[32m----> \u001b[39m\u001b[32m5\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m item \u001b[38;5;129;01min\u001b[39;00m \u001b[43mtqdm\u001b[49m(annotated_queries[\u001b[33m\"\u001b[39m\u001b[33mtrain\u001b[39m\u001b[33m\"\u001b[39m], desc=\u001b[33m\"\u001b[39m\u001b[33mEnhanced eval\u001b[39m\u001b[33m\"\u001b[39m):\n\u001b[32m 6\u001b[39m retrievals = hybrid_search_rerank(item[\u001b[33m\"\u001b[39m\u001b[33mquery\u001b[39m\u001b[33m\"\u001b[39m], top_k=\u001b[32m10\u001b[39m)\n\u001b[32m 7\u001b[39m enhanced_eval_results.append({\n\u001b[32m 8\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mquery_id\u001b[39m\u001b[33m\"\u001b[39m: item[\u001b[33m\"\u001b[39m\u001b[33mquery_id\u001b[39m\u001b[33m\"\u001b[39m],\n\u001b[32m 9\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mquery\u001b[39m\u001b[33m\"\u001b[39m: item[\u001b[33m\"\u001b[39m\u001b[33mquery\u001b[39m\u001b[33m\"\u001b[39m],\n\u001b[32m 10\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mretrievals\u001b[39m\u001b[33m\"\u001b[39m: retrievals,\n\u001b[32m 11\u001b[39m })\n", + "\u001b[31mNameError\u001b[39m: name 'tqdm' is not defined" + ] + } + ], + "source": [ + "print(\"Evaluating enhanced pipeline on annotated queries...\")\n", + "print(\"(~2-4 min: 291 queries × reranking 50 candidates each)\\n\")\n", + "\n", + "enhanced_eval_results = []\n", + "for item in tqdm(annotated_queries[\"train\"], desc=\"Enhanced eval\"):\n", + " retrievals = hybrid_search_rerank(item[\"query\"], top_k=10)\n", + " enhanced_eval_results.append({\n", + " \"query_id\": item[\"query_id\"],\n", + " \"query\": item[\"query\"],\n", + " \"retrievals\": retrievals,\n", + " })\n", + "\n", + "enhanced_metrics = evaluate_retrieval(enhanced_eval_results, ground_truth)\n", + "\n", + "# Leaderboard reference targets (open-source entries, in %)\n", + "LEADERBOARD = {\n", + " \"Rank 3 OS (snowflake+zerank)\": {\"Precision@10\": 26.63, \"Recall@10\": 36.09},\n", + " \"Rank 4 OS (GTE-Qwen2+zerank)\": {\"Precision@10\": 26.85, \"Recall@10\": 35.08},\n", + "}\n", + "\n", + "print(\"\\n\" + \"=\" * 80)\n", + "print(f\"{'METRIC':<16} {'BASELINE':>10} {'ENHANCED':>10} {'DELTA':>8} {'Rank3 OS':>10} {'Gap to R3':>10}\")\n", + "print(\"=\" * 80)\n", + "for k in sorted(baseline_metrics.keys()):\n", + " b = baseline_metrics[k]\n", + " e = enhanced_metrics[k]\n", + " delta = e - b\n", + " r3 = LEADERBOARD[\"Rank 3 OS (snowflake+zerank)\"].get(k, None)\n", + " gap_str = f\"{e - r3:+.2f}\" if r3 is not None else \" —\"\n", + " r3_str = f\"{r3:.2f}%\" if r3 is not None else \" —\"\n", + " arrow = \"+\" if delta > 0 else \"\"\n", + " print(f\" {k:<14} {b:>9.2f}% {e:>9.2f}% {arrow}{delta:>7.2f} {r3_str:>10} {gap_str:>10}\")\n", + "print(\"=\" * 80)\n", + "print(\"\\nAll values in % — same scale as the leaderboard.\")\n", + "print(\"Leaderboard evaluates on TEST QUERIES (92 held-out); this eval uses annotated_queries (291) as proxy.\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 9.8 Generate Final Submission — Test Queries\n", + "Run the enhanced pipeline on all 92 held-out test queries and save in the required format." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Running enhanced pipeline on 92 test queries...\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Test queries: 100%|██████████| 92/92 [00:51<00:00, 1.80it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "==================================================\n", + "Results saved to test_queries_results_enhanced.json\n", + " Queries: 92\n", + " Per query: 10 retrievals\n", + "==================================================\n", + "Also saved to test_queries_results_enhanced.parquet\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n" + ] + } + ], + "source": [ + "print(\"Running enhanced pipeline on 92 test queries...\")\n", + "\n", + "enhanced_test_results = []\n", + "for item in tqdm(test_queries[\"test\"], desc=\"Test queries\"):\n", + " retrievals = hybrid_search_rerank(item[\"query\"], top_k=10)\n", + " enhanced_test_results.append({\n", + " \"query_id\": item[\"query_id\"],\n", + " \"query\": item[\"query\"],\n", + " \"retrievals\": retrievals,\n", + " })\n", + "\n", + "OUTPUT_FILE = \"test_queries_results_enhanced.json\"\n", + "with open(OUTPUT_FILE, \"w\") as f:\n", + " json.dump(enhanced_test_results, f, indent=2)\n", + "\n", + "print(f\"\\n{'=' * 50}\")\n", + "print(f\"Results saved to {OUTPUT_FILE}\")\n", + "print(f\" Queries: {len(enhanced_test_results)}\")\n", + "print(f\" Per query: 10 retrievals\")\n", + "print(f\"{'=' * 50}\")\n", + "\n", + "results_df = pd.DataFrame(enhanced_test_results)\n", + "results_df.to_parquet(\"test_queries_results_enhanced.parquet\", index=False)\n", + "print(\"Also saved to test_queries_results_enhanced.parquet\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sample enhanced result:\n", + "\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-3207_KNOWLEDGE_NODE-53\",\n", + " \"text\": \"can click **Accept invite**.\\\\n\\\\n4. Verify configuration\\\\n-----------------------\\\\n\\\\n1. Send an email to the configured support email address.\\\\n2. Confirm that a ticket or conversation is created in the DevRev app.\\\\n3. Add a comment to the ticket or conversation and verify that it is received at the email address that sent the original message.\\\\n\\\\nTroubleshooting deliverability\\\\n\\\\nWhile the DevRev app ensures that emails are sent, the deliverability of the emails to the end customers is\",\n", + " \"title\": \"Email snap-in configuration | Email | Integrate | Snap-ins | DevRev\"\n", + " },\n", + " {\n", + " \"id\": \"ART-6174_KNOWLEDGE_NODE-29\",\n", + " \"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\",\n", + " \"title\": \"Conversation to ticket conversion | Conversations | Computer for Support Teams | DevRev\"\n", + " },\n", + " {\n", + " \"id\":\n" + ] + } + ], + "source": [ + "# Preview first enhanced result\n", + "print(\"Sample enhanced result:\\n\")\n", + "print(json.dumps(enhanced_test_results[0], indent=2, default=str)[:1500])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 9.9 Load Saved Enhanced Embeddings (Optional)\n", + "Skip re-embedding if you've already generated and saved `embeddings_bge_large.npy`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Uncomment to load pre-saved embeddings instead of re-generating:\n", + "# dense_embeddings = np.load(\"embeddings_snowflake.npy\")\n", + "# print(f\"Loaded embeddings: {dense_embeddings.shape}\")\n", + "# Then re-run cells 9.4 onward (skip 9.3 embedding generation)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "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.14.3" + } }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from datasets import load_dataset\n", - "import pandas as pd" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 1. Load Annotated Queries\n", - "Queries paired with annotated (golden) article chunks for training/validation." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Load annotated queries\n", - "annotated_queries = load_dataset(\"devrev/search\", \"annotated_queries\")\n", - "print(annotated_queries)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Convert to DataFrame and display\n", - "annotated_df = annotated_queries[\"train\"].to_pandas()\n", - "annotated_df.head()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Sample a single annotated query example\n", - "annotated_queries[\"train\"][0]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2. Load Test Queries\n", - "Held-out queries used for evaluation." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Load test queries\n", - "test_queries = load_dataset(\"devrev/search\", \"test_queries\")\n", - "print(test_queries)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Convert to DataFrame and display\n", - "test_df = test_queries[\"test\"].to_pandas()\n", - "test_df.head()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Sample a single test query example\n", - "test_queries[\"test\"][0]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3. Load Knowledge Base\n", - "Article chunks from DevRev's customer-facing support documentation." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Load knowledge base\n", - "knowledge_base = load_dataset(\"devrev/search\", \"knowledge_base\")\n", - "print(knowledge_base)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Convert to DataFrame and display\n", - "knowledge_df = knowledge_base[\"corpus\"].to_pandas()\n", - "knowledge_df.head()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Sample a single knowledge base chunk\n", - "knowledge_base[\"corpus\"][0]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 4. Dataset Summary" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(\"=\" * 60)\n", - "print(\"DevRev Search Dataset Summary\")\n", - "print(\"=\" * 60)\n", - "print(f\"\\nAnnotated Queries:\")\n", - "print(annotated_queries)\n", - "print(f\"\\nTest Queries:\")\n", - "print(test_queries)\n", - "print(f\"\\nKnowledge Base:\")\n", - "print(knowledge_base)\n", - "print(\"\\n\" + \"=\" * 60)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "---\n", - "## 5. Index Knowledge Base with FAISS\n", - "\n", - "Using OpenAI text-embedding-3-small and FAISS for similarity search." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from openai import OpenAI\n", - "import faiss\n", - "import numpy as np\n", - "from tqdm import tqdm\n", - "import time\n", - "import os\n", - "import json\n", - "import pickle" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Initialize OpenAI client\n", - "# Set your API key as an environment variable: export OPENAI_API_KEY=\"your-key-here\"\n", - "OPENAI_API_KEY = os.environ.get(\"OPENAI_API_KEY\")\n", - "if not OPENAI_API_KEY:\n", - " raise ValueError(\"Please set OPENAI_API_KEY environment variable\")\n", - "\n", - "client = OpenAI(api_key=OPENAI_API_KEY)\n", - "\n", - "MODEL_ID = \"text-embedding-3-small\" # 1536 dimensions\n", - "print(f\"Using model: {MODEL_ID}\")\n", - "print(f\"Provider: OpenAI\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "def get_embedding(text: str) -> np.ndarray:\n", - " \"\"\"Get embedding for a single text using OpenAI text-embedding-3.\"\"\"\n", - " response = client.embeddings.create(\n", - " model=MODEL_ID,\n", - " input=text\n", - " )\n", - " return np.array(response.data[0].embedding)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "def get_embeddings_batch(texts: list) -> np.ndarray:\n", - " \"\"\"Get embeddings for a batch of texts using OpenAI text-embedding-3.\"\"\"\n", - " response = client.embeddings.create(\n", - " model=MODEL_ID,\n", - " input=texts\n", - " )\n", - " return np.array([d.embedding for d in response.data])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Test the embedding API\n", - "test_embedding = get_embedding(\"This is a test sentence.\")\n", - "print(f\"Test embedding shape: {test_embedding.shape}\")\n", - "print(f\"Embedding dimension: {len(test_embedding)}\")\n", - "print(f\"First 5 values: {test_embedding[:5]}\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Prepare documents: concatenate title with text\n", - "corpus = knowledge_base[\"corpus\"]\n", - "\n", - "documents = []\n", - "doc_ids = []\n", - "doc_titles = []\n", - "doc_texts = []\n", - "\n", - "for item in tqdm(corpus, desc=\"Preparing documents\"):\n", - " # Concatenate title and text\n", - " doc_text = f\"{item['title']}\\n\\n{item['text']}\"\n", - " documents.append(doc_text)\n", - " doc_ids.append(item['id'])\n", - " doc_titles.append(item['title'])\n", - " doc_texts.append(item['text'])\n", - "\n", - "print(f\"\\nTotal documents: {len(documents):,}\")\n", - "print(f\"\\nSample document:\")\n", - "print(documents[0][:500])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "def get_all_embeddings(texts, batch_size=100, max_retries=3):\n", - " \"\"\"Get embeddings for all texts using OpenAI batch API.\"\"\"\n", - " all_embeddings = []\n", - " \n", - " for i in tqdm(range(0, len(texts), batch_size), desc=\"Generating embeddings\"):\n", - " batch = texts[i:i + batch_size]\n", - " \n", - " # Truncate texts if too long (OpenAI has ~8K token limit)\n", - " batch = [text[:8000] if len(text) > 8000 else text for text in batch]\n", - " \n", - " retries = 0\n", - " while retries < max_retries:\n", - " try:\n", - " embeddings = get_embeddings_batch(batch)\n", - " all_embeddings.append(embeddings)\n", - " break\n", - " except Exception as e:\n", - " retries += 1\n", - " if retries >= max_retries:\n", - " print(f\"Error embedding batch {i}: {e}\")\n", - " all_embeddings.append(np.zeros((len(batch), 1536)))\n", - " else:\n", - " print(f\"Retry {retries} for batch {i}...\")\n", - " time.sleep(2)\n", - " \n", - " time.sleep(0.1) # Rate limiting\n", - " \n", - " return np.vstack(all_embeddings)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Generate embeddings for all documents\n", - "print(\"Generating embeddings for knowledge base...\")\n", - "print(f\"Total documents: {len(documents):,}\")\n", - "print(\"Using batch processing for efficiency...\")\n", - "\n", - "# For testing, use a subset (uncomment for all documents)\n", - "# documents_to_embed = documents[:100] # Test with first 100 docs\n", - "documents_to_embed = documents # All documents\n", - "\n", - "embeddings = get_all_embeddings(documents_to_embed, batch_size=1000)\n", - "print(f\"\\nEmbeddings shape: {embeddings.shape}\")\n", - "\n", - "# Save embeddings\n", - "np.save(\"embeddings.npy\", embeddings)\n", - "print(\"Embeddings saved to embeddings.npy\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Load embeddings if already saved\n", - "# embeddings = np.load(\"embeddings.npy\")\n", - "# print(f\"Loaded embeddings shape: {embeddings.shape}\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Create FAISS index\n", - "embedding_dim = embeddings.shape[1]\n", - "print(f\"Creating FAISS index with dimension: {embedding_dim}\")\n", - "\n", - "# Normalize embeddings for cosine similarity\n", - "embeddings_normalized = embeddings.copy().astype('float32')\n", - "faiss.normalize_L2(embeddings_normalized)\n", - "\n", - "# Create the index using IndexFlatIP for inner product (cosine similarity with normalized vectors)\n", - "index = faiss.IndexFlatIP(embedding_dim)\n", - "index.add(embeddings_normalized)\n", - "\n", - "print(f\"Index created with {index.ntotal:,} vectors\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Save the index and document mapping\n", - "INDEX_DIR = \"faiss_index\"\n", - "os.makedirs(INDEX_DIR, exist_ok=True)\n", - "\n", - "# Save FAISS index\n", - "faiss.write_index(index, os.path.join(INDEX_DIR, \"knowledge_base.index\"))\n", - "\n", - "# Save document mapping\n", - "with open(os.path.join(INDEX_DIR, \"doc_mapping.pkl\"), \"wb\") as f:\n", - " pickle.dump({\n", - " \"doc_ids\": doc_ids,\n", - " \"documents\": documents,\n", - " \"doc_titles\": doc_titles,\n", - " \"doc_texts\": doc_texts\n", - " }, f)\n", - "\n", - "print(f\"\u2713 Index saved to {INDEX_DIR}/knowledge_base.index\")\n", - "print(f\"\u2713 Document mapping saved to {INDEX_DIR}/doc_mapping.pkl\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 6. Search the Knowledge Base" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "def search(query: str, k: int = 5):\n", - " \"\"\"Search the knowledge base for relevant documents.\"\"\"\n", - " query_embedding = get_embedding(query).astype('float32')\n", - " query_embedding = query_embedding.reshape(1, -1)\n", - " faiss.normalize_L2(query_embedding)\n", - " \n", - " scores, indices = index.search(query_embedding, k)\n", - " \n", - " results = []\n", - " for i, (score, idx) in enumerate(zip(scores[0], indices[0])):\n", - " results.append({\n", - " \"rank\": i + 1,\n", - " \"score\": float(score),\n", - " \"id\": doc_ids[idx],\n", - " \"title\": doc_titles[idx],\n", - " \"text\": doc_texts[idx]\n", - " })\n", - " \n", - " return results" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Test search with a sample query\n", - "query = \"How do I set up AirSync?\"\n", - "results = search(query, k=5)\n", - "\n", - "print(f\"Query: {query}\")\n", - "print(\"=\" * 60)\n", - "\n", - "for r in results:\n", - " print(f\"\\n[Rank {r['rank']}] Score: {r['score']:.4f}\")\n", - " print(f\"Doc ID: {r['id']}\")\n", - " print(f\"Title: {r['title']}\")\n", - " print(f\"Text: {r['text'][:300]}...\")\n", - " print(\"-\" * 40)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "---\n", - "## 7. Run Evaluation on Test Queries\n", - "\n", - "Run search against all test queries and save results in the same format as annotated_queries." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Run search on all test queries - DIRECT VERSION (no dependency on search function)\n", - "TOP_K = 10 # Number of retrievals per query\n", - "\n", - "# Get corpus data for lookups\n", - "corpus_data = knowledge_base[\"corpus\"]\n", - "\n", - "test_results = []\n", - "\n", - "for item in tqdm(test_queries[\"test\"], desc=\"Processing test queries\"):\n", - " query_id = item[\"query_id\"]\n", - " query = item[\"query\"]\n", - " \n", - " # Get query embedding directly\n", - " query_embedding = get_embedding(query).astype('float32').reshape(1, -1)\n", - " faiss.normalize_L2(query_embedding)\n", - " \n", - " # Search FAISS index\n", - " scores, indices = index.search(query_embedding, TOP_K)\n", - " \n", - " # Format retrievals using corpus data directly\n", - " retrievals = []\n", - " for idx in indices[0]:\n", - " doc = corpus_data[int(idx)]\n", - " retrievals.append({\n", - " \"id\": doc[\"id\"],\n", - " \"text\": doc[\"text\"],\n", - " \"title\": doc[\"title\"]\n", - " })\n", - " \n", - " test_results.append({\n", - " \"query_id\": query_id,\n", - " \"query\": query,\n", - " \"retrievals\": retrievals\n", - " })\n", - "\n", - "print(f\"\\nProcessed {len(test_results)} test queries\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Preview a sample result\n", - "import json\n", - "print(\"Sample result:\")\n", - "print(json.dumps(test_results[0], indent=2, default=str)[:1500])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Save results to JSON file\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", - "\n", - "print(f\"\u2713 Results saved to {OUTPUT_FILE}\")\n", - "print(f\" - {len(test_results)} queries\")\n", - "print(f\" - {TOP_K} retrievals per query\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Also save as a parquet file for easier loading\n", - "results_df = pd.DataFrame(test_results)\n", - "results_df.to_parquet(\"test_queries_results.parquet\", index=False)\n", - "print(\"\u2713 Results also saved to test_queries_results.parquet\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Display results summary\n", - "print(\"=\" * 60)\n", - "print(\"Test Queries Results Summary\")\n", - "print(\"=\" * 60)\n", - "print(f\"Total queries: {len(test_results)}\")\n", - "print(f\"Retrievals per query: {TOP_K}\")\n", - "print(f\"\\nOutput files:\")\n", - "print(f\" - test_queries_results.json\")\n", - "print(f\" - test_queries_results.parquet\")\n", - "print(\"\\nFormat matches annotated_queries structure:\")\n", - "print(\" - query_id: string\")\n", - "print(\" - query: string\")\n", - "print(\" - retrievals: list of {id, text, title}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 8. Load Saved Index (Optional)\n", - "Use this to load a previously saved index without re-embedding." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Load saved index and mapping\n", - "# INDEX_DIR = \"faiss_index\"\n", - "# index = faiss.read_index(os.path.join(INDEX_DIR, \"knowledge_base.index\"))\n", - "# with open(os.path.join(INDEX_DIR, \"doc_mapping.pkl\"), \"rb\") as f:\n", - "# mapping = pickle.load(f)\n", - "# doc_ids = mapping[\"doc_ids\"]\n", - "# documents = mapping[\"documents\"]\n", - "# doc_titles = mapping[\"doc_titles\"]\n", - "# doc_texts = mapping[\"doc_texts\"]\n", - "# print(f\"Loaded index with {index.ntotal:,} vectors\")" - ] - } - ], - "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.14.2" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} \ No newline at end of file + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/run_pipeline.py b/run_pipeline.py new file mode 100644 index 0000000..bdb4dad --- /dev/null +++ b/run_pipeline.py @@ -0,0 +1,303 @@ +""" +Section 10 — Multi-Query Triple-Path Hybrid Retrieval Pipeline +Loads saved artefacts (embeddings, FAISS index) and generates the final submission. +""" + +import os +# Prevent tokenizer / OMP forking that causes segfaults on macOS +os.environ.setdefault("TOKENIZERS_PARALLELISM", "false") +os.environ.setdefault("OMP_NUM_THREADS", "1") +# Disable MPS watermark — avoids OOM from stale MPS allocations across runs +# MPS watermark disabled to avoid stale-allocation OOM if MPS is used elsewhere +os.environ.setdefault("PYTORCH_MPS_HIGH_WATERMARK_RATIO", "0.0") + +import re, ast, json, time +import numpy as np +import faiss +import torch +from collections import defaultdict +from tqdm import tqdm + +# ── Device ────────────────────────────────────────────────────────────────── +if torch.backends.mps.is_available(): + DEVICE = "mps" +elif torch.cuda.is_available(): + DEVICE = "cuda" +else: + DEVICE = "cpu" +print(f"Device: {DEVICE.upper()}") + +# ── Packages ───────────────────────────────────────────────────────────────── +try: + from rank_bm25 import BM25Okapi +except ImportError: + import subprocess; subprocess.check_call(["pip", "install", "-q", "rank_bm25"]) + from rank_bm25 import BM25Okapi + +try: + import accelerate # noqa +except ImportError: + import subprocess; subprocess.check_call(["pip", "install", "-q", "accelerate"]) + +try: + import protobuf # noqa +except ImportError: + import subprocess; subprocess.check_call(["pip", "install", "-q", "protobuf"]) + +from sentence_transformers import SentenceTransformer, CrossEncoder +from transformers.utils import is_accelerate_available +is_accelerate_available.cache_clear() +torch.set_default_device(None) + +# ── Load Dataset ───────────────────────────────────────────────────────────── +print("\n[1/8] Loading datasets...") +from datasets import load_dataset +knowledge_base = load_dataset("devrev/search", "knowledge_base") +annotated_queries = load_dataset("devrev/search", "annotated_queries") +test_queries = load_dataset("devrev/search", "test_queries") +corpus_data = knowledge_base["corpus"] +ground_truth = [dict(item) for item in annotated_queries["train"]] +print(f" Knowledge base: {len(corpus_data):,} docs") +print(f" Annotated queries: {len(ground_truth)}") +print(f" Test queries: {len(test_queries['test'])}") + +# ── Text Cleaning ───────────────────────────────────────────────────────────── +print("\n[2/8] Cleaning corpus text...") +doc_ids, doc_titles, doc_texts = [], [], [] +for item in corpus_data: + doc_ids.append(item["id"]) + doc_titles.append(item["title"]) + doc_texts.append(item["text"]) + +def clean_text(text: str) -> str: + if isinstance(text, str) and (text.startswith("b'") or text.startswith('b"')): + try: + evaluated = ast.literal_eval(text) + if isinstance(evaluated, bytes): + text = evaluated.decode("utf-8", errors="replace") + except (ValueError, SyntaxError): + text = text[2:-1] + text = text.replace("\\n", "\n") + text = re.sub(r"\\x[0-9a-fA-F]{2}", " ", text) + text = re.sub(r"\n{3,}", "\n\n", text) + text = re.sub(r" {2,}", " ", text) + return text.strip() + +cleaned_texts = [clean_text(t) for t in doc_texts] +cleaned_documents = [f"{title}\n\n{ct}" for title, ct in zip(doc_titles, cleaned_texts)] +print(f" Cleaned {len(cleaned_documents):,} documents") + +# ── Snowflake Embedding Model ───────────────────────────────────────────────── +print("\n[3/8] Loading snowflake-arctic-embed-l-v2.0 (CPU)...") +dense_model = SentenceTransformer("Snowflake/snowflake-arctic-embed-l-v2.0", device="cpu") +print(f" Dim: {dense_model.get_sentence_embedding_dimension()}, Device: {next(dense_model.parameters()).device}") + +def get_dense_embedding(text: str, is_query: bool = False) -> np.ndarray: + if is_query: + return dense_model.encode(text, prompt_name="query", normalize_embeddings=True) + return dense_model.encode(text, normalize_embeddings=True) + +# ── Load Saved Embeddings + Build FAISS Index ───────────────────────────────── +print("\n[4/8] Loading saved embeddings and building FAISS index...") +dense_embeddings = np.load("embeddings_snowflake.npy") +print(f" Embeddings shape: {dense_embeddings.shape}") + +enhanced_index = faiss.IndexFlatIP(dense_embeddings.shape[1]) +enhanced_index.add(dense_embeddings.astype("float32")) +print(f" FAISS index: {enhanced_index.ntotal:,} vectors") + +# ── BM25 Indices ────────────────────────────────────────────────────────────── +print("\n[5/8] Building BM25 indices...") +tokenized_docs = [doc.lower().split() for doc in cleaned_documents] +bm25_index = BM25Okapi(tokenized_docs) +tokenized_titles = [title.lower().split() for title in doc_titles] +title_bm25_index = BM25Okapi(tokenized_titles) +print(f" Full-text BM25: {len(tokenized_docs):,} docs") +print(f" Title-only BM25: {len(tokenized_titles):,} docs") + +# ── Reranker (BERT-based, fast on CPU, no MPS memory issues) ───────────────── +print("\n[6/8] Loading reranker on CPU...") +reranker = CrossEncoder("cross-encoder/ms-marco-MiniLM-L-6-v2", device="cpu") +_ = reranker.predict([("warmup query", "quick warmup doc")], show_progress_bar=False) +print(" Warmup done.") +print(" Reranker loaded.") + +RERANK_DOC_CHARS = 600 # truncate long docs before reranking + +# ── Query Expansion (rule-based; no external API needed) ───────────────────── +# Generates lightweight semantic variations using simple transformations +def expand_query(query: str) -> list: + variants = [query] + q = query.strip() + + # Variation 1: rephrase imperatives as questions and vice versa + lower = q.lower() + if lower.startswith("how to "): + variants.append("steps to " + q[7:]) + elif lower.startswith("how do i "): + variants.append("guide for " + q[9:]) + elif lower.startswith("what is "): + variants.append(q[8:] + " definition and overview") + elif lower.startswith("what are "): + variants.append(q[9:] + " list and examples") + else: + variants.append("how to " + q) + + # Variation 2: append common DevRev context terms based on keywords + kw_map = { + "api": "REST API integration endpoint", + "webhook": "webhook event notification callback", + "snap-in": "snap-in plugin DevRev app", + "auth": "authentication token OAuth", + "deploy": "deployment configuration setup", + "error": "error troubleshooting fix", + "account": "account settings management", + "data": "data export import sync", + } + extra = next((v for k, v in kw_map.items() if k in lower), "") + if extra: + variants.append(f"{q} {extra}") + + return list(dict.fromkeys(variants))[:3] # deduplicate, keep ≤3 + +# ── Multi-Query Triple-Path Pipeline ───────────────────────────────────────── +def multi_query_triple_path_rerank( + query: str, + top_k: int = 10, + dense_candidates: int = 100, + bm25_candidates: int = 100, + title_bm25_candidates: int = 50, + rerank_pool: int = 60, + rrf_k: int = 60, + title_rrf_weight: float = 2.0, +): + query_variants = expand_query(query) + rrf_scores = defaultdict(float) + + for q in query_variants: + tokens = q.lower().split() + + # Path A — Dense + q_emb = get_dense_embedding(q, is_query=True).astype("float32").reshape(1, -1) + _, dense_indices = enhanced_index.search(q_emb, dense_candidates) + for rank, idx in enumerate(dense_indices[0]): + rrf_scores[int(idx)] += 1.0 / (rrf_k + rank + 1) + + # Path B — Full-text BM25 + bm25_sc = bm25_index.get_scores(tokens) + for rank, idx in enumerate(np.argsort(bm25_sc)[::-1][:bm25_candidates]): + rrf_scores[int(idx)] += 1.0 / (rrf_k + rank + 1) + + # Path C — Title-only BM25 (2× weight) + title_sc = title_bm25_index.get_scores(tokens) + for rank, idx in enumerate(np.argsort(title_sc)[::-1][:title_bm25_candidates]): + rrf_scores[int(idx)] += title_rrf_weight / (rrf_k + rank + 1) + + fused = sorted(rrf_scores.items(), key=lambda x: x[1], reverse=True)[:rerank_pool] + candidate_indices = [idx for idx, _ in fused] + + pairs = [(query, cleaned_documents[idx][:RERANK_DOC_CHARS]) for idx in candidate_indices] + rerank_sc = reranker.predict(pairs, batch_size=32, show_progress_bar=False) + scored = sorted(zip(candidate_indices, rerank_sc), key=lambda x: x[1], reverse=True) + + results = [] + for idx, _ in scored[:top_k]: + doc = corpus_data[idx] + results.append({"id": doc["id"], "text": doc["text"], "title": doc["title"]}) + return results + +# ── Evaluation Helper ───────────────────────────────────────────────────────── +def evaluate_retrieval(predictions, ground_truth, k_values=[1, 3, 5, 10]): + gt_map = {g["query_id"]: set(r["id"] for r in g["retrievals"]) for g in ground_truth} + metrics = {} + for k in k_values: + recalls, precisions = [], [] + for pred in predictions: + golden_ids = gt_map.get(pred["query_id"], set()) + if not golden_ids: + continue + predicted_ids = [r["id"] for r in pred["retrievals"][:k]] + hits = sum(1 for pid in predicted_ids if pid in golden_ids) + recalls.append(hits / len(golden_ids)) + precisions.append(hits / k) + metrics[f"Recall@{k}"] = 100 * sum(recalls) / len(recalls) if recalls else 0 + metrics[f"Precision@{k}"] = 100 * sum(precisions) / len(precisions) if precisions else 0 + mrrs = [] + for pred in predictions: + golden_ids = gt_map.get(pred["query_id"], set()) + if not golden_ids: + continue + for rank, r in enumerate(pred["retrievals"], 1): + if r["id"] in golden_ids: + mrrs.append(1.0 / rank) + break + else: + mrrs.append(0.0) + metrics["MRR"] = 100 * sum(mrrs) / len(mrrs) if mrrs else 0 + return metrics + +# ── Sanity Test ─────────────────────────────────────────────────────────────── +print("\n[7/8] Sanity test (1 query)...") +t0 = time.time() +test_r = multi_query_triple_path_rerank("How do I set up AirSync?", top_k=3) +print(f" Done in {time.time()-t0:.1f}s") +for i, r in enumerate(test_r, 1): + print(f" [{i}] {r['title']}") + +# ── Run on All 92 Test Queries ──────────────────────────────────────────────── +print("\n[8/8] Running pipeline on all 92 test queries...") +s10_test_results = [] +for item in tqdm(test_queries["test"], desc="Test queries"): + retrievals = multi_query_triple_path_rerank(item["query"], top_k=10) + s10_test_results.append({ + "query_id": item["query_id"], + "query": item["query"], + "retrievals": retrievals, + }) + +OUTPUT_FILE = "test_queries_results_s10_multiquery.json" +with open(OUTPUT_FILE, "w") as f: + json.dump(s10_test_results, f, indent=2) + +import pandas as pd +pd.DataFrame(s10_test_results).to_parquet( + "test_queries_results_s10_multiquery.parquet", index=False +) + +print(f"\n{'='*55}") +print(f"Submission saved: {OUTPUT_FILE}") +print(f" Queries: {len(s10_test_results)}") +print(f" Per query: 10 retrievals") +print(f" Pipeline: Multi-query(x3) + Triple-path RRF + zerank") +print(f"{'='*55}") + +print("\nDone! Submit: test_queries_results_s10_multiquery.json") + +# ── Optional: Eval on Annotated Queries (set RUN_EVAL=1 to enable) ──────────── +if os.environ.get("RUN_EVAL") == "1": + print("\n[OPTIONAL] Evaluating on annotated queries (~90 min)...") + eval_results = [] + for item in tqdm(annotated_queries["train"], desc="Eval"): + retrievals = multi_query_triple_path_rerank(item["query"], top_k=10) + eval_results.append({"query_id": item["query_id"], "query": item["query"], "retrievals": retrievals}) + + metrics = evaluate_retrieval(eval_results, ground_truth) + + LEADERBOARD_REF = { + "Rank 1 (gemini+zerank, closed)": {"Precision@10": 26.85, "Recall@10": 36.50}, + "Rank 2 OS (Qwen3-8B+zerank)": {"Precision@10": 26.63, "Recall@10": 36.09}, + "Rank 3 OS (snowflake+zerank)": {"Precision@10": 26.63, "Recall@10": 36.09}, + } + + print(f"\n{'='*65}") + print(f" {'METRIC':<16} {'OURS':>10} {'Rank 1 target':>14} {'Gap':>8}") + print(f"{'='*65}") + for k in ["Precision@10", "Recall@10", "MRR", "Precision@5", "Recall@5"]: + v = metrics.get(k, 0) + r1 = LEADERBOARD_REF["Rank 1 (gemini+zerank, closed)"].get(k) + gap = f"{v - r1:+.2f}" if r1 else "—" + r1s = f"{r1:.2f}%" if r1 else "—" + print(f" {k:<16} {v:>9.2f}% {r1s:>14} {gap:>8}") + print(f"{'='*65}") +else: + print("\nSkipping annotated-query eval (run with RUN_EVAL=1 to enable).") diff --git a/test_queries_results.json b/test_queries_results.json index 74c199a..7653747 100644 --- a/test_queries_results.json +++ b/test_queries_results.json @@ -4,13 +4,13 @@ "query": "end customer organization name not appearing in ticket or conversation", "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-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-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", + "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" }, { @@ -19,39 +19,39 @@ "title": "Customer email notifications | Computer by DevRev | 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-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-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-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-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-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-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-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-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-16806_KNOWLEDGE_NODE-27", + "text": "Internal Ticket** from the **Ticket Creation** dropdown.\\n* **Focused UI:** The **Customer Messages** tab is disabled on internal tickets to prevent unintended communication.\\n\\nThis feature supports internal workflows while giving you control over when customer engagement begins.\\n\\n![]()\\xc2\\xa0For more information about *Conversation and Ticket Workflows*, refer to the following articles: \\xe2\\x80\\xa3 [Auto parts to conversation | Automate | Snap-ins](/docs/automations/auto-parts)", + "title": "July 2025 | Changelog | 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-1947_KNOWLEDGE_NODE-35", + "text": "relate.\\n\\n```\\nBuild\\n\\n\\n\\nSupport\\n\\n\\n\\nWork required\\n\\n\\n\\nResolved\\n\\n\\n\\nResolved\\n\\n\\n\\nWork required\\n\\n\\n\\nResolved\\n\\n\\n\\nWon\\'t fix\\n\\n\\n\\nDuplicate\\n\\n\\n\\nCustomer\\n\\n\\n\\nConversation\\n\\n\\n\\nTicket\\n\\n\\n\\nClose\\n\\n\\n\\nClose\\n\\n\\n\\nIssue\\n\\n\\n\\nIn development\\n\\n\\n\\nClose\\n```\\n\\nWork item linkage\\n-----------------\\n\\nOnce your organization has implemented a mechanism for customers to start conversations, all customer conversations can be tracked within DevRev and any", + "title": "Apps | Computer by DevRev | 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-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" } ] }, @@ -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-4255_KNOWLEDGE_NODE-18", + "text": "method.\\n\\n#####\\n\\nThis feature only stores a monitoring permission flag and does not provide any user interface or dialog.\\n\\n### Session recording\\n\\nYou can enable session recording to capture user interactions with your app.\\n\\n#####\\n\\nThe session recording feature is opt-out and is enabled by default.\\n\\nHere are the available methods to help you control the session recording feature:\\n\\nAction| Kotlin (`DevRev`)| Java (`DevRevObservabilityExtKt`) \\n---|---|--- \\nStarts the session", + "title": "DevRev SDK for Android \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", - "title": "Features | DevRev | Docs" + "id": "ART-2898_KNOWLEDGE_NODE-17", + "text": "DevRev SDK offers session analytics features to help you understand how users interact with your app.\\n\\n### Opt in or out\\n\\nEnd users can opt in or out of the session analytics feature, enabling them to control whether their interactions are tracked for analytics.\\n\\n###### Kotlin\\n\\n###### Java\\n\\n[code]\\n\\n 1| DevRev.stopAllMonitoring() \\n ---|---\\n[/code] \\n \\nThis method terminates and deletes the current session recording and also disables future session recording by our SDK for", + "title": "Android integration \u2014 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-4255_KNOWLEDGE_NODE-17", + "text": "analytics.\\n\\n###### Kotlin\\n\\n###### Java\\n\\n[code]\\n\\n 1| DevRev.stopAllMonitoring() \\n ---|---\\n[/code] \\n \\nThis method terminates and deletes the current session recording and also disables future session recording by our SDK for this user.\\n\\n###### Kotlin\\n\\n###### Java\\n\\n[code]\\n\\n 1| DevRev.resumeAllMonitoring() \\n ---|---\\n[/code] \\n \\nIf session recording was disabled for the user using the `stopAllMonitoring()` method, you can enable recording at runtime with this", + "title": "DevRev SDK for Android \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", - "title": "Identify your users with Plug | DevRev | Docs" + "id": "ART-4255_KNOWLEDGE_NODE-1", + "text": "information](/public/sdks/android#update-user-information)\\n * [PLuG support chat](/public/sdks/android#plug-support-chat)\\n * [Analytics](/public/sdks/android#analytics)\\n * [Session analytics](/public/sdks/android#session-analytics)\\n * [Opt in or out](/public/sdks/android#opt-in-or-out)\\n * [Session recording](/public/sdks/android#session-recording)\\n * [Session properties](/public/sdks/android#session-properties)\\n * [Timers](/public/sdks/android#timers)\\n * [Screen", + "title": "DevRev SDK for Android \u2014 DevRev | Docs" }, { - "id": "ART-4255_KNOWLEDGE_NODE-10", - "text": "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 identity with the DevRev backend.\\n\\n###### Kotlin\\n\\n###### Java\\n\\n[code]\\n\\n 1| DevRev.identifyUnverifiedUser( \\n ---|--- \\n 2| identity: Identity \\n 3| )\\n[/code] \\n \\nThe function accepts the `Identity` object, where the user", + "id": "ART-4255_KNOWLEDGE_NODE-20", + "text": "session. The properties are defined as a hashmap of string values.\\n\\n###### Kotlin\\n\\n###### Java\\n\\n[code]\\n\\n 1| DevRev.addSessionProperties(properties: HashMap) \\n ---|---\\n[/code] \\n \\nTo clear the session properties in scenarios such as user logout or when the session ends, use the following method:\\n\\n###### Kotlin\\n\\n###### Java\\n\\n[code]\\n\\n 1| DevRev.clearSessionProperties() \\n ---|---\\n[/code] \\n \\n### Timers\\n\\nThe DevRev SDK offers a timer mechanism", "title": "DevRev SDK for Android \u2014 DevRev | Docs" }, { - "id": "ART-15506_KNOWLEDGE_NODE-4", - "text": "RevUser Session Token(5) Return Session Token(6) Call plugSDK.init() with token\\n\\nGenerate an application access token\\n------------------------------------\\n\\n1. In DevRev, go to **Settings > Support > Plug Tokens** through the settings icon on the top-left corner.\\n2. Under the **Application access tokens** panel, click **New token** and copy the token that\\xe2\\x80\\x99s displayed.\\n\\n##### \\n\\nEnsure you copy your access token, as you cannot view it again.\\n\\nGenerate a session", - "title": "Identify your users with Plug | DevRev | Docs" + "id": "ART-2895_KNOWLEDGE_NODE-2", + "text": "view their past conversations. Identifying your users also enables more personalized engagement.\\n\\nIn this flow, you have to generate a session token for every user who visits your website. The session token identifies the customer when they interact with the widget. The session token is generated using the application access token and customer information. It should be generated on your website\\xe2\\x80\\x99s back end since the app token needs to be kept hidden.\\n\\nTo identify logged-in users,", + "title": "Identify your users with PLuG \u2014 DevRev | Docs" }, { - "id": "ART-4255_KNOWLEDGE_NODE-1", - "text": "information](/public/sdks/android#update-user-information)\\n * [PLuG support chat](/public/sdks/android#plug-support-chat)\\n * [Analytics](/public/sdks/android#analytics)\\n * [Session analytics](/public/sdks/android#session-analytics)\\n * [Opt in or out](/public/sdks/android#opt-in-or-out)\\n * [Session recording](/public/sdks/android#session-recording)\\n * [Session properties](/public/sdks/android#session-properties)\\n * [Timers](/public/sdks/android#timers)\\n * [Screen", + "id": "ART-4255_KNOWLEDGE_NODE-16", + "text": "---|---\\n[/code] \\n \\nFor example:\\n\\n###### Kotlin\\n\\n###### Java\\n\\n[code]\\n\\n 1| DevRev.trackEvent(name = \"open-message-screen\", properties = {\"id\": \"message-1337\"}) \\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### Opt in or out\\n\\nEnd users can opt in or out of the session analytics feature, enabling them to control whether their interactions are tracked for", "title": "DevRev SDK for Android \u2014 DevRev | Docs" }, { - "id": "ART-4255_KNOWLEDGE_NODE-33", - "text": "\\n**Solution** : Confirm that user identification is performed before using the `showSupport()` function or XML button.\\n\\n * **Issue** : Incorrect operation due to `App ID` and `secret` misconfiguration. \\n**Solution** : Ensure correct functionality by double-checking that both `App ID` and `secret` values are accurately configured in your application or sample app.\\n\\nWas this page helpful?YesNo\\n\\n[DevRev SDK for iOSUp Next](/public/sdks/ios)\\n\\n[Built", + "id": "ART-4255_KNOWLEDGE_NODE-9", + "text": "organization, and account traits. These fields must be configured through the DevRev app before they can be utilized. For more information, refer to [Object customization](https://devrev.ai/docs/product/object-customization).\\n\\n### Anonymous 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|", "title": "DevRev SDK for Android \u2014 DevRev | Docs" }, { - "id": "ART-4255_KNOWLEDGE_NODE-8", - "text": "Identification\\n\\nTo use certain features of the DevRev SDK, user identification is required. You can select from the following methods to identify users within your application:\\n\\n#####\\n\\nThe identification function should be placed appropriately in your app after the user logs in. If you have the user information available at app launch, call the function after the `DevRev.configure(context, appID)` method.\\n\\n#####\\n\\nThe `Identity` structure allows for custom fields in the user,", - "title": "DevRev SDK for Android \u2014 DevRev | Docs" + "id": "ART-15509_KNOWLEDGE_NODE-5", + "text": "(True or False) |\\n| `session_recording_key` | Identifies your session recording account and is required to enable the SDK session recording features. | String |\\n| `enable_session_recording` | Instructs the widget to determine whether to start the session recording. | Boolean (True or False) |\\n| `session_token` | Identifies the user interacting with your app. | String |\\n| `primary_text_color` | The color of the launcher, button text for new tickets and conversations, conversation user text,", + "title": "Methods | DevRev | Docs" }, { - "id": "ART-2898_KNOWLEDGE_NODE-9", - "text": "in your app after the user logs in. If you have the user information available at app launch, call the function after the `DevRev.configure(context, appID)` method.\\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 they can be utilized. For more information, refer to [Object customization](https://devrev.ai/docs/product/object-customization).\\n\\n### Anonymous", - "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" } ] }, @@ -121,49 +121,49 @@ "title": "Customer email notifications | Computer by DevRev | DevRev" }, { - "id": "ART-1979_KNOWLEDGE_NODE-36", - "text": "contact](https://docs.devrev.ai/product/plug) must be created first for any emails to be added as subscribers.\\n* **Needs response**: Set to true whenever a new customer message is received on the ticket to ensure that no customer messages are missed. If a particular customer message does not need a response, the **Needs response** toggle can be turned off by the user. Turning off the **Needs response** toggle does not affect the SLA metrics.\\n\\nThese attributes can be effectively used in", - "title": "Tickets | Computer for Support 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-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-2027_KNOWLEDGE_NODE-36", + "text": "Receives Replies From | Thread is visible in portal |\\n| --- | --- | --- | --- |\\n| Email to support | [support@yourcompany.com](mailto:support@yourcompany.com) | [support@yourcompany.com](mailto:support@yourcompany.com) | Yes |\\n| Ticket via Customer Portal or Plug widget (Channel on ticket = Plug or Portal) | Ticket form on Customer Portal or conversation converted to ticket from Plug widget | - If Channel is set as email in the config, replies are sent via the configured email address. -", + "title": "Email | Integrate | Snap-ins | DevRev" }, { - "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-36", + "text": "contact](https://docs.devrev.ai/product/plug) must be created first for any emails to be added as subscribers.\\n* **Needs response**: Set to true whenever a new customer message is received on the ticket to ensure that no customer messages are missed. If a particular customer message does not need a response, the **Needs response** toggle can be turned off by the user. Turning off the **Needs response** toggle does not affect the SLA metrics.\\n\\nThese attributes can be effectively used in", "title": "Tickets | Computer for Support Teams | 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-2027_KNOWLEDGE_NODE-32", + "text": "**Subscribers** field.\\n\\n *Is able to:* View the ticket on DevRev and receive in-app notifications.\\n* Without DevRev account\\n\\n *Added to:* **Email members** field as subscriber.\\n\\n *Is able to:* Reply to the ticket via email.\\n\\nEmail deliverability status\\n\\nThe sender of an email is able to view the status of an email. Additionally, the sender can view if their email has bounced, along with details about the bounce event.\\n\\nBelow are the various possible states of an email.\\n\\n* *In", + "title": "Email | Integrate | Snap-ins | DevRev" }, { - "id": "ART-2027_KNOWLEDGE_NODE-36", - "text": "Receives Replies From | Thread is visible in portal |\\n| --- | --- | --- | --- |\\n| Email to support | [support@yourcompany.com](mailto:support@yourcompany.com) | [support@yourcompany.com](mailto:support@yourcompany.com) | Yes |\\n| Ticket via Customer Portal or Plug widget (Channel on ticket = Plug or Portal) | Ticket form on Customer Portal or conversation converted to ticket from Plug widget | - If Channel is set as email in the config, replies are sent via the configured email address. -", + "id": "ART-2027_KNOWLEDGE_NODE-28", + "text": "email address that messages to it create either a conversation or a ticket, but not both simultaneously. Whether to create a conversation or a ticket depends on the nature of the emails received at a specific email address.\\n\\nRead more about [conversations](../product/conversation) and [tickets](../product/tickets) to decide which is more suitable for your use case.\\n\\nWhen needed, you can link a conversation to a ticket. This is particularly useful if you decide to use conversations for all", "title": "Email | Integrate | 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-2027_KNOWLEDGE_NODE-31", + "text": "to the ticket via email. They cannot view the ticket on the portal, as they are added to the **Email members** field but not to the **Reported by** field.\\n\\nEmployees\\n\\n* With DevRev account (added to email thread)\\n\\n *Added to:* **To**, **CC**, or **Email members** field.\\n\\n *Is able to:* View the ticket on DevRev, reply via email, and receive in-app notifications. If they make changes to ticket attributes, they remain subscribers.\\n* Manually added subscribers\\n\\n *Added to:*", + "title": "Email | Integrate | Snap-ins | 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-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-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-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-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-2027_KNOWLEDGE_NODE-26", + "text": "configuration instructions, refer to [Email snap-in configuration](/docs/integrations/email-config).\\n\\nFor more information, refer to the [Email snap-in](/marketplace/email-with-tickets) on the DevRev marketplace.\\n\\nConversation and ticket creation for emails\\n-------------------------------------------\\n\\nWhen an email is received, DevRev checks if the sender is linked to your workspace and creates a conversation or ticket. If a sender is not recognized, DevRev creates a new user profile to", + "title": "Email | Integrate | Snap-ins | DevRev" } ] }, @@ -172,54 +172,54 @@ "query": "manage access and privileges in DevRev", "retrievals": [ { - "id": "ART-1958_KNOWLEDGE_NODE-24", - "text": "policies](#mfz-policies)\\n* [Sharing](#sharing)\\n* [Vista privileges](#vista-privileges)\\n\\n1. [Documentation](/docs)\\n3. [Computer by DevRev](/docs/intro)\\n[Access control](/docs/product/access-control)\\n\\nAccess control\\n==============\\n\\nAccess control in DevRev is a system that authorizes an actor to perform actions on different targets within the application. In this context, an actor is any entity that interacts with the app, such as an organization member, a customer, a system user, or a", + "id": "ART-1955_KNOWLEDGE_NODE-80", + "text": "team, includes privileges to manage customer inquiries and escalations.\\n\\n**Privileges:**\\n\\n* *Group Reader:* Contains read privileges on all groups.\\n\\n Privileges: group object ['READ']\\n* *Ticket Interactor:* Contains privileges on tickets for default group 'Support'.\\n\\n Privileges: ticket object ['CREATE', 'READ', 'UPDATE', 'DELETE']\\n* *Conversation Admin:* Contains privileges on conversations.\\n\\n Privileges: conversation object ['READ', 'UPDATE', 'DELETE',", + "title": "Default privileges by group | Roles | Computer by DevRev | DevRev" + }, + { + "id": "ART-1958_KNOWLEDGE_NODE-33", + "text": "privileges by group](/docs/product/privs)[NextObject customization](/docs/product/object-customization)\\n\\n#### On this page\\n\\n* [Privilege determination](#privilege-determination)\\n* [Granting access permissions](#granting-access-permissions)\\n* [MFZ policies](#mfz-policies)\\n* [Sharing](#sharing)\\n* [Vista privileges](#vista-privileges)\\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": "Access control | Computer by DevRev | DevRev" }, { - "id": "ART-1955_KNOWLEDGE_NODE-46", - "text": "admins on revus.\\n\\n Privileges: revu object ['CREATE', 'READ', 'UPDATE', 'DELETE']\\n* *devo Admin:* Contains privileges for admins on devos.\\n\\n Privileges: devo object ['CREATE', 'READ', 'UPDATE', 'DELETE']\\n* *flow Admin:* Contains privileges for admins on flows.\\n\\n Privileges: flow object ['CREATE', 'READ', 'UPDATE', 'DELETE']\\n* *webhook Admin:* Contains privileges for admins on webhooks.\\n\\n Privileges: webhook object ['CREATE', 'READ', 'UPDATE', 'DELETE']\\n* *product Admin:*", + "id": "ART-1955_KNOWLEDGE_NODE-28", + "text": "tickets.\\n\\n Privileges: ticket object ['CREATE']\\n* *Customer Ticket Field Access:* Contains the field access on tickets\\n\\n Privileges: ticket object None\\n* *Self RevOrg Viewer:* Contains privileges on revOrgs for revUsers to view there workspace.\\n\\n Privileges: revo object ['READ']\\n* *Self RevOrg RevUsers Viewer:* Contains privileges on revUsers for revUsers to view there workspace revUsers.\\n\\n Privileges: revu object ['READ']\\n* *Self RevUsers Viewer:* Contains privileges on", "title": "Default privileges by group | Roles | Computer by DevRev | DevRev" }, { - "id": "ART-1963_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": "Accessing DevRev | Computer by DevRev | DevRev" + "id": "ART-1955_KNOWLEDGE_NODE-74", + "text": "for members of the default group 'Members'.\\n\\n Privileges: revu object ['CREATE', 'READ', 'UPDATE', 'DELETE']\\n* *Dataset Admin:* Contains privileges on datasets for Admins.\\n\\n Privileges: dataset object ['CREATE', 'READ', 'UPDATE', 'DELETE']\\n* *Quote Admin:* Contains admin privileges for quote.\\n\\n Privileges: quote object ['CREATE', 'READ', 'UPDATE', 'DELETE']\\n* *Account Internal Field Access:* Field Access Role for Internal Users\\n\\n Privileges: account object None\\n* *Ticket Admin", + "title": "Default privileges by group | Roles | Computer by DevRev | DevRev" }, { - "id": "ART-1958_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* [Privilege determination](#privilege-determination)\\n* [Granting access permissions](#granting-access-permissions)\\n* [MFZ", + "id": "ART-1958_KNOWLEDGE_NODE-25", + "text": "service account.\\n\\nWhen an actor attempts to carry out an action, such as creating an issue, the access control system checks the actor\\'s role to determine if the actor has the necessary privileges to perform the desired action.\\n\\nPrivilege determination\\n-----------------------\\n\\nEach role consists of two essential parts: caveats and privileges. *Caveats* represent specific conditions that must be met for the role to be applicable. *Privileges* outline the actions or operations that the", "title": "Access control | Computer by DevRev | DevRev" }, { - "id": "ART-1955_KNOWLEDGE_NODE-66", - "text": "Privileges: devu object ['CREATE', 'READ', 'UPDATE', 'DELETE']\\n* *revu Admin:* Contains privileges for admins on revus.\\n\\n Privileges: revu object ['CREATE', 'READ', 'UPDATE', 'DELETE']\\n* *devo Admin:* Contains privileges for admins on devos.\\n\\n Privileges: devo object ['CREATE', 'READ', 'UPDATE', 'DELETE']\\n* *flow Admin:* Contains privileges for admins on flows.\\n\\n Privileges: flow object ['CREATE', 'READ', 'UPDATE', 'DELETE']\\n* *webhook Admin:* Contains privileges for admins on", - "title": "Default privileges by group | Roles | Computer by DevRev | DevRev" - }, - { - "id": "ART-1955_KNOWLEDGE_NODE-93", - "text": "Teams](/for-support-teams)\\n* [For Builders](/for-builders)\\n* [For Customers](/for-customers)\\n* [For User Insights](/for-user-insights)\\n* [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*", - "title": "Default privileges by group | Roles | Computer by DevRev | DevRev" + "id": "ART-1958_KNOWLEDGE_NODE-26", + "text": "actor is granted when those caveats are satisfied. If at least one role provides the necessary privilege, for example, the create privilege, the actor is granted permission to proceed with the action, allowing them to create the issue.\\n\\nThe process of checking access is as follows:\\n\\n1. Fetch all the user\\'s [groups](./groups).\\n2. Fetch [roles](./roles) associated with the particular target from the user groups, which in this case would be the \"Issue\".\\n3. The system evaluates the caveats", + "title": "Access control | Computer by DevRev | DevRev" }, { - "id": "ART-1955_KNOWLEDGE_NODE-29", - "text": "revUsers for revUsers to view there revUsers with same email.\\n\\n Privileges: revu object ['READ']\\n* *RevUser License Viewer:* A role that enables a user to view licenses assigned to them.\\n\\n Privileges: license\\\\_assignment object ['READ']\\n\\n\\xe2\\x80\\x9cPlatform Users\\xe2\\x80\\x9d group\\n----------------------\\n\\nGroup for all internal employees, includes default privileges to do common operations.\\n\\n**Privileges:**\\n\\n* *Devu Self Interactor:* Contains privileges on user for members of", + "id": "ART-1955_KNOWLEDGE_NODE-39", + "text": "Privileges: dataset object ['CREATE']\\n* *Dataset Owner:* A role that allows the creator to view, edit and delete a dataset\\n\\n Privileges: dataset object ['READ', 'UPDATE', 'DELETE']\\n\\n\\xe2\\x80\\x9cAdmins\\xe2\\x80\\x9d group\\n--------------\\n\\nGroup for all organization admins, includes the necessary privileges to manage the platform configuration, integrations, and other administrative items. Only an admin can promote another user to admin.\\n\\n**Privileges:**\\n\\n* *Issue Interactor:* Contains", "title": "Default privileges by group | Roles | Computer by DevRev | DevRev" }, { - "id": "ART-1955_KNOWLEDGE_NODE-87", - "text": "['CREATE', 'READ', 'UPDATE', 'DELETE']\\n* *credit revuser admin:* Contains workspace billing admin privileges for credit.\\n\\n Privileges: credit object ['CREATE', 'READ', 'UPDATE', 'DELETE']\\n* *RevOrg Billing Admin AccountCommerceDetails Manager:* Contains workspace billing admin privileges for accountCommerceDetails objects.\\n\\n Privileges: account\\\\_commerce\\\\_details object ['READ', 'UPDATE']\\n* *RevOrg Billing Admin License Assignment Manager:* Contains workspace billing admin privileges", + "id": "ART-1955_KNOWLEDGE_NODE-59", + "text": "['UPDATE']\\n* *Portal Preferences Update:* A role that allows a user to update portal preferences.\\n\\n Privileges: portal\\\\_preferences object ['UPDATE']\\n* *Service Account Manager:* A role that allows a user to delete and update a service account\\n\\n Privileges: svcacc object ['DELETE', 'UPDATE']\\n\\n\\xe2\\x80\\x9cSystems\\xe2\\x80\\x9d group\\n---------------\\n\\nGroup for admin privileged service accounts, includes the necessary privileges to manage the platform configuration, integrations, and", "title": "Default privileges by group | Roles | Computer by DevRev | DevRev" }, { - "id": "ART-1955_KNOWLEDGE_NODE-95", - "text": "Status](/status)\\n\\n\\xc2\\xa9 2025 DevRev Inc.\"", + "id": "ART-1955_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": "Default privileges by group | Roles | Computer by DevRev | DevRev" }, { - "id": "ART-1955_KNOWLEDGE_NODE-55", - "text": "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 Privileges: issue object None\\n* *Dashboard Admin:* A role that allows CRUDL operations to admins\\n\\n Privileges:", - "title": "Default privileges by group | Roles | Computer by DevRev | DevRev" + "id": "ART-1948_KNOWLEDGE_NODE-27", + "text": "default.\\n\\nAdmins have the authority to configure access for different user groups by assigning or revoking roles. These roles determine the level of permissions and privileges granted to a group, allowing them to perform particular tasks or access specific features.\\n\\nOnly an admin can grant admin privileges to another user.\\n\\nCreating a new group\\n--------------------\\n\\nYou need to be an admin to create a group.\\n\\n1. Go to [**Settings > User Management >", + "title": "Groups | Computer by DevRev | DevRev" } ] }, @@ -228,54 +228,54 @@ "query": "SSO setup SAML IDP metadata connection string Google Workspace", "retrievals": [ { - "id": "ART-1966_KNOWLEDGE_NODE-39", - "text": "authentication methods to enforce SSO-only login. This is commonly done to ensure all users authenticate through your organization\\'s identity provider.\\n\\n**Common scenario**: If users were previously logging in with Google OAuth and you\\'ve now enabled SSO, you can disable Google authentication to force all users to use SSO.\\n\\nFirst, get the Google OAuth connection ID:\\n\\n```\\n```\\n1 curl --location --request GET \\'https://api.devrev.ai/dev-orgs.auth-connections.list\\' \\\\\\n\\n\\n\\n2 --header", + "id": "ART-1966_KNOWLEDGE_NODE-42", + "text": "process from your identity provider\\'s portal. The latter is not supported on DevRev.\\n\\nA workaround for supporting IDP-initiated SSO is to bookmark your DevRev workspace URL (that is https://app.devrev.ai/) in your IDP. With only SSO Auth connection enabled, the experience would be as seamless as SP-initiated SSO.\\n\\n### Parameter reference\\n\\n* : Your Personal Access Token with admin permissions\\n* : Your DevRev organization ID (from the initial API", "title": "External identity provider setup | Computer by DevRev | DevRev" }, { - "id": "ART-1005_KNOWLEDGE_NODE-13", - "text": "model\\n\\n\\nWhat did we choose?\\nGoogle Workspace (Gsuite)\\n\\nWhy did we choose this?\\nAs mentioned in the IdP section above, I\\xe2\\x80\\x99ve worked a lot with Exchange, Sharepoint, and other Microsoft products and I like the simplicity of the Google Workspace solution. Does it have all of the features of Microsoft 360? No, but it gives us enough of what we need and integrates beautifully with Okta. If we had gone Azure AD on the IdP front, that obviously would have impacted this choice.\\n\\nWhat", - "title": "Choosing the Right Systems For Your Startup" + "id": "ART-16086_KNOWLEDGE_NODE-6", + "text": "bases\\n\\n8. Conclusion\\n\\nThe SSO Setup Agent offers a fully guided, interactive setup for configuring SSO, with support for both SAML and OIDC. It includes validation, previews, and uses workflow-based skills to automate the process with minimal user intervention.'", + "title": "Single Sign On Configuration 3P Node" }, { - "id": "ART-1966_KNOWLEDGE_NODE-29", - "text": "are some common examples:\\n\\nAzure ADGoogle WorkspaceJump CloudOkta\\n\\n1. Log in to Azure Active Directory and select **Enterprise applications > + New application**.\\n2. Search for \"Azure AD SAML Toolkit\" in the **Browse Azure AD Gallery** and select it.\\n3. Enter DevRev as the name and click **Create**.\\n4. Select **Single sign-on > SAML**.\\n5. Edit the **Basic SAML Configuration** and enter the following parameters.\\n\\n * **Identifier** (Entity ID):", + "id": "ART-1966_KNOWLEDGE_NODE-39", + "text": "authentication methods to enforce SSO-only login. This is commonly done to ensure all users authenticate through your organization\\'s identity provider.\\n\\n**Common scenario**: If users were previously logging in with Google OAuth and you\\'ve now enabled SSO, you can disable Google authentication to force all users to use SSO.\\n\\nFirst, get the Google OAuth connection ID:\\n\\n```\\n```\\n1 curl --location --request GET \\'https://api.devrev.ai/dev-orgs.auth-connections.list\\' \\\\\\n\\n\\n\\n2 --header", "title": "External identity provider setup | Computer by DevRev | DevRev" }, { - "id": "ART-1966_KNOWLEDGE_NODE-20", - "text": "Datacenter AirSync](/docs/integrations/confluence-datacenter)\\n - [Google Docs](/docs/integrations/google-doc)\\n - [Google Drive](/docs/integrations/google-drive)\\n - [Gmail AirSync](/docs/integrations/gmail-airdrop)\\n - [Monday.com AirSync](/docs/integrations/monday)\\n - [Intercom AirSync](/docs/integrations/intercom)\\n - [Figma AirSync](/docs/integrations/figma-airdrop)\\n - [ServiceNow AirSync](/docs/integrations/servicenow)\\n - [ServiceNow KB", - "title": "External identity provider setup | Computer by DevRev | DevRev" + "id": "ART-15701_KNOWLEDGE_NODE-16", + "text": "created\\n\\nEnter the SSO URL in case you have configured SAML login as identity management in amazon connect instance.\\n\\nEnter the complete S3 Bucket names and path for call recording and transcript. The complete bucket names and path can be found here. Copy the complete path directly.\\n\\nSelect Invite All checkbox if you would like to invite all the support agents to DevRev workspace if not present.\\n\\nClick on install snap-in.\\n\\nAfter the snap-in status shows Active, go to the configured", + "title": "Amazon Connect Telephony Integration Guide" }, { - "id": "ART-1966_KNOWLEDGE_NODE-35", - "text": "false,\\n\\n\\n\\n6 \"type\": \"samlp\",\\n\\n\\n\\n7 \"sign_in_endpoint\": \"\",\\n\\n\\n\\n8 \"connection_name\": \"\",\\n\\n\\n\\n9 }\\n\\n\\n\\n10 }\\n```\\n\\nShow more\\n```\\n\\nImportant\\n\\n* The connection\\\\_name must follow the naming pattern described earlier.\\n* Save the id field from the response\\xe2\\x80\\x94you need it for the next step.\\n* The connection is created with enabled: false by default for security.\\n\\n### Step 2: Enable the authentication connection\\n\\nAfter", - "title": "External identity provider setup | Computer by DevRev | DevRev" + "id": "ART-16086_KNOWLEDGE_NODE-2", + "text": "and back-and-forth coordination The absence of a guided experience adds unnecessary friction to an otherwise smooth onboarding process. The proposed agentic skill aims to eliminate these barriers with a step-by-step SSO setup flow embedded directly within DevRev.\\n\\n3.System Specifications\\n\\nSupports both SAML and OIDC connection types.\\n\\nInteractive, step-by-step setup via agent conversation.\\n\\nCollects essential inputs from the user based on the selected connection type:-For SAML: sign-in", + "title": "Single Sign On Configuration 3P Node" }, { - "id": "ART-1966_KNOWLEDGE_NODE-34", - "text": "application/json\\' \\\\\\n\\n\\n\\n4 --data-raw \\'{\\n\\n\\n\\n5 \"type\": \"samlp\",\\n\\n\\n\\n6 \"sign_in_endpoint\": \"\",\\n\\n\\n\\n7 \"signing_cert\": \"\",\\n\\n\\n\\n8 \"connection_name\": \"\",\\n\\n\\n\\n9 \"display_name\": \"\"\\n\\n\\n\\n10 }\\'\\n```\\n\\nShow more\\n```\\n\\n**Expected successful response:**\\n\\n```\\n```\\n1 {\\n\\n\\n\\n2 \"auth_connection\": {\\n\\n\\n\\n3 \"id\": \"con_12345678\",\\n\\n\\n\\n4 \"display_name\": \"\",\\n\\n\\n\\n5 \"enabled\":", - "title": "External identity provider setup | Computer by DevRev | DevRev" + "id": "ART-16086_KNOWLEDGE_NODE-3", + "text": "endpoint and signing certificate (with optional metadata URL parsing).-For OIDC: issuer URL, client ID, and client secret.\\n\\nAllows users to provide a display name and choose to enter a connection name or auto-generate one based on DevRev org ID.\\n\\nValidates all mandatory fields and ensures completeness before proceeding.\\n\\nDisplays a summary of the configuration for user confirmation before connection creation.\\n\\nCreates the SSO connection using DevRev APIs.\\n\\nOptionally enables the", + "title": "Single Sign On Configuration 3P Node" }, { - "id": "ART-1966_KNOWLEDGE_NODE-30", - "text": "urn:auth0:tf-devrev-prod:\\n * **Reply URL** (Assertion Consumer Service URL): https://auth.devrev.ai/login/callback?connection=\\n * **Sign on URL**: https://app.devrev.ai/\\n\\n ![]()\\n\\n The must be the same in both parameters and follow the naming pattern described earlier.\\n6. Go to **Copy > SAML Certificates** and save the **App Federation Metadata URL**.\\n7. In the Azure portal, go to the application named", + "id": "ART-1966_KNOWLEDGE_NODE-29", + "text": "are some common examples:\\n\\nAzure ADGoogle WorkspaceJump CloudOkta\\n\\n1. Log in to Azure Active Directory and select **Enterprise applications > + New application**.\\n2. Search for \"Azure AD SAML Toolkit\" in the **Browse Azure AD Gallery** and select it.\\n3. Enter DevRev as the name and click **Create**.\\n4. Select **Single sign-on > SAML**.\\n5. Edit the **Basic SAML Configuration** and enter the following parameters.\\n\\n * **Identifier** (Entity ID):", "title": "External identity provider setup | Computer by DevRev | DevRev" }, { - "id": "ART-4275_KNOWLEDGE_NODE-27", - "text": "Documentation](https://support.google.com/cloudidentity/answer/10070793).\\n* Enable contact sharing in directory settings, following guidelines provided by Google.\\n* Ensure the following scopes are added:\\n\\n + https://www.googleapis.com/auth/cloud-identity.groups.readonly: Required\\n for groups and group members.\\n + https://www.googleapis.com/auth/directory.readonly: Required for the People\\n API.\\n\\nThese steps are necessary only if a non-admin initiates the import before an\\nadmin", - "title": "Google Docs | AirSync | Snap-ins | DevRev" + "id": "ART-16086_KNOWLEDGE_NODE-4", + "text": "connection post-creation via a toggle.\\n\\nProvides contextual guidance and error handling throughout the setup flow.\\n\\n4. Architecture\\n\\nPlease refer the below attachment\\n\\n5. Detailed Design\\n\\nPlease refer the below attachment\\n\\n6.API Endpoints\\n\\nEndpoint\\n\\nMethod\\n\\nInclude Internal\\n\\nDescription\\n\\n/auth-tokens.create\\n\\nPost\\n\\nNo\\n\\nCreates an auth token\\n\\n/auth-connections.create\\n\\nPost\\n\\nNo\\n\\nCreates a new SSO connection (SAML or", + "title": "Single Sign On Configuration 3P Node" }, { - "id": "ART-15369_KNOWLEDGE_NODE-3", - "text": "encapsulating the configuration parameters for a Google Apps\\nauthentication connection.\\n\\nShow 5 properties\\n\\nOR\\n\\noidcobjectRequired\\n\\nObject encapsulating the configuration parameters for an OIDC\\nauthentication connection.\\n\\nShow 5 properties\\n\\nOR\\n\\noktaobjectRequired\\n\\nObject encapsulating the configuration parameters for an Okta\\nauthentication connection.\\n\\nShow 5 properties\\n\\nOR\\n\\nsamlpobjectRequired\\n\\nObject encapsulating the configuration parameters for a", - "title": "Create Dev Orgs Auth Connection | DevRev | Docs" + "id": "ART-1966_KNOWLEDGE_NODE-41", + "text": "}\\'\\n```\\n\\nShow more\\n```\\n\\nImportant considerations: When disabling other authentication methods:\\n\\n* **Test SSO first**: Ensure SSO is working correctly before disabling alternatives.\\n* **Admin access**: Make sure at least one admin can access the system via SSO.\\n\\nIDP initiated SSO (Optional)\\n----------------------------\\n\\nDevRev supports SP-initiated SSO, which means users always start the authentication process from DevRev. IDP initiated SSO means users start the authentication", + "title": "External identity provider setup | Computer by DevRev | DevRev" }, { - "id": "ART-1966_KNOWLEDGE_NODE-40", - "text": "\\'Authorization: Bearer \\'\\n```\\n```\\n\\nLook for the Google OAuth connection in the response and note its id field.\\n\\nDisable Google authentication:\\n\\n```\\n```\\n1 curl --location --request POST \\'https://api.devrev.ai/dev-orgs.auth-connections.toggle\\' \\\\\\n\\n\\n\\n2 --header \\'Authorization: Bearer \\' \\\\\\n\\n\\n\\n3 --header \\'Content-Type: application/json\\' \\\\\\n\\n\\n\\n4 --data-raw \\'{\\n\\n\\n\\n5 \"id\": \"\",\\n\\n\\n\\n6 \"toggle\": \"disable\"\\n\\n\\n\\n7", - "title": "External identity provider setup | Computer by DevRev | DevRev" + "id": "ART-1560_KNOWLEDGE_NODE-177", + "text": "Apps\\n\\nObject encapsulating the configuration parameters for a Google Apps authentication connection.\\n\\nShow 6 properties\\nOR\\nNone Show 4 properties\\nOR\\nOidc\\n\\nObject encapsulating the configuration parameters for an OIDC authentication connection.\\n\\nShow 6 properties\\nOR\\nSamlp\\n\\nObject encapsulating the configuration parameters for a SAML authentication connection.\\n\\nShow 5 properties\\nOR\\nWaad\\n\\nObject encapsulating the configuration parameters for an Azure AD authentication", + "title": "Assign (Beta) \u2014 DevRev | Docs" } ] }, @@ -284,54 +284,54 @@ "query": "restrict users from linking opportunities and meetings", "retrievals": [ { - "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-1997_KNOWLEDGE_NODE-30", + "text": "opportunities to signal the necessary development work for closing the opportunity. Likewise, linked conversations represent dialogues between a sales representative and a customer concerning the opportunity's closure.\\n\\nOpportunities incorporate a discussion timeline to support real-time collaboration in advancing an opportunity. They play a pivotal role in prioritizing development enhancements.\\n\\n\\xf0\\x9f\\x91\\xa5 Contact\\n---------\\n\\nA contact record represents individual prospects or", + "title": "Computer for Growth Teams | DevRev" }, { - "id": "ART-13009_KNOWLEDGE_NODE-3", - "text": "meeting.\\n\\nlinks.targetstringOptional`format: \"id\"`\\n\\nFilters for target id in links associated with the meeting.\\n\\nlinks.target_object_typestringOptional`format: \"text\"`\\n\\nFilters for target object type in links associated with the meeting.\\n\\nmemberslist of stringsOptional\\n\\nFilter for meeting on specified Member Ids.\\n\\nmodeenumOptional\\n\\nThe iteration mode to use, otherwise if not set, then \\xe2\\x80\\x9cafter\\xe2\\x80\\x9d is used.\\n\\nAllowed values: afterbefore\\n\\norganizerlist of", - "title": "List Meetings \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-3008_KNOWLEDGE_NODE-2", - "text": "meeting.\\n\\nlinks.targetstringOptional`format: \"id\"`\\n\\nFilters for target id in links associated with the meeting.\\n\\nlinks.target_object_typestringOptional`format: \"text\"`\\n\\nFilters for target object type in links associated with the meeting.\\n\\nmemberslist of stringsOptional\\n\\nFilter for meeting on specified Member Ids.\\n\\nmodeenumOptional\\n\\nThe iteration mode to use, otherwise if not set, then \\xe2\\x80\\x9cafter\\xe2\\x80\\x9d is used.\\n\\nAllowed values: afterbefore\\n\\norganizerlist of", - "title": "List Meetings (Beta) \u2014 DevRev | Docs" + "id": "ART-3006_KNOWLEDGE_NODE-2", + "text": "the provided external_ref(s).\\n\\nlimitintegerOptional\\n\\nThe maximum number of meetings to return.\\n\\nlinkslist of objectsOptional\\n\\nFilters for links associated with the meeting.\\n\\nShow 3 properties\\n\\nmemberslist of stringsOptional\\n\\nFilter for meeting on specified Member Ids.\\n\\nmodeenumOptional\\n\\nAllowed values: afterbefore\\n\\nThe iteration mode to use. If \\xe2\\x80\\x9cafter\\xe2\\x80\\x9d, then entries after the provided cursor will be returned, or if no cursor is provided, then from the", + "title": "List Meetings (POST) (Beta) \u2014 DevRev | Docs" }, { - "id": "ART-13009_KNOWLEDGE_NODE-2", - "text": "stringsOptional\\n\\nFilters for meetings created by the specified user(s).\\n\\ncursorstringOptional`format: \"text\"`\\n\\nThe cursor to resume iteration from. If not provided, then iteration starts from the beginning.\\n\\nexternal_reflist of stringsOptional\\n\\nFilters for meetings with the provided external_ref(s).\\n\\nlimitintegerOptional\\n\\nThe maximum number of meetings to return.\\n\\nlinks.link_typestringOptional`format: \"text\"`\\n\\nFilters for link type in links associated with the", - "title": "List Meetings \u2014 DevRev | Docs" + "id": "ART-12471_KNOWLEDGE_NODE-5", + "text": "by `created_by`, `name`, and `sync_metadata` fields to [`/groups.list`](/beta/api-reference/groups/list-post)\\n\\n### Links\\n\\n* Added `custom_link_type` property to link objects in [`/links.create`](/beta/api-reference/links/create) and related endpoints\\n\\n### Meetings\\n\\n* Added `sync_metadata` property to meeting objects in [`/meetings.create`](/beta/api-reference/meetings/create) and related endpoints\\n\\n### Opportunities\\n\\n* Added `contacts` property to opportunity objects in work-related", + "title": "May 19, 2025 | DevRev | Docs" }, { - "id": "ART-15422_KNOWLEDGE_NODE-5", - "text": "return.\\n\\nlinks.link\\\\_typestringOptional`format: \"text\"`\\n\\nFilters for link type in links associated with the meeting.\\n\\nlinks.targetstringOptional`format: \"id\"`\\n\\nFilters for target id in links associated with the meeting.\\n\\nlinks.target\\\\_object\\\\_typestringOptional`format: \"text\"`\\n\\nFilters for target object type in links associated with the meeting.\\n\\nmemberslist of stringsOptional\\n\\nFilter for meeting on specified Member Ids.\\n\\nmodeenumOptional\\n\\nThe iteration mode to use,", - "title": "List Meetings | DevRev | Docs" + "id": "ART-3197_KNOWLEDGE_NODE-11", + "text": "by `created_by`, `name`, and `sync_metadata` fields to [`/groups.list`](/beta/api-reference/groups/list-post)\\n\\n### Links\\n\\n* Added `custom_link_type` property to link objects in [`/links.create`](/beta/api-reference/links/create) and related endpoints\\n\\n### Meetings\\n\\n* Added `sync_metadata` property to meeting objects in [`/meetings.create`](/beta/api-reference/meetings/create) and related endpoints\\n\\n### Opportunities\\n\\n* Added `contacts` property to opportunity objects in work-related", + "title": "Changelog | DevRev | Docs" }, { - "id": "ART-1834_KNOWLEDGE_NODE-456", - "text": "set, then \"after\" is used.\\nAllowed values: after before\\nopportunity.account string Optional\\nFilters for opportunities belonging to any of the provided accounts.\\nopportunity.contacts string Optional\\nFilters for opportunities with any of the provided contacts.\\nopportunity.subtype string Optional\\nFilters for opportunity with any of the provided subtypes.\\nowned_by string Optional\\nFilters for work owned by any of these users.\\nreported_by string Optional\\nFilters for work reported by any of", - "title": "Delete \u2014 DevRev | Docs" + "id": "ART-13005_KNOWLEDGE_NODE-2", + "text": "stringsOptional\\n\\nFilters for meetings created by the specified user(s).\\n\\nexternal_reflist of stringsOptional\\n\\nFilters for meetings with the provided external_ref(s).\\n\\nlinks.link_typestringOptional`format: \"text\"`\\n\\nFilters for link type in links associated with the meeting.\\n\\nlinks.targetstringOptional`format: \"id\"`\\n\\nFilters for target id in links associated with the meeting.\\n\\nlinks.target_object_typestringOptional`format: \"text\"`\\n\\nFilters for target object type in links", + "title": "Count Meetings \u2014 DevRev | Docs" }, { - "id": "ART-3008_KNOWLEDGE_NODE-1", - "text": "user(s).\\n\\ncursorstringOptional`format: \"text\"`\\n\\nThe cursor to resume iteration from. If not provided, then iteration starts from the beginning.\\n\\ncustom_fieldsobjectOptional\\n\\nFilters for meeting on custom fields.\\n\\nexternal_reflist of stringsOptional\\n\\nFilters for meetings with the provided external_ref(s).\\n\\nlimitintegerOptional\\n\\nThe maximum number of meetings to return.\\n\\nlinks.link_typestringOptional`format: \"text\"`\\n\\nFilters for link type in links associated with the", - "title": "List Meetings (Beta) \u2014 DevRev | Docs" + "id": "ART-15416_KNOWLEDGE_NODE-2", + "text": "created by the specified user(s).\\n\\nexternal\\\\_reflist of stringsOptional\\n\\nFilters for meetings with the provided external\\\\_ref(s).\\n\\nlinks.link\\\\_typestringOptional`format: \"text\"`\\n\\nFilters for link type in links associated with the meeting.\\n\\nlinks.targetstringOptional`format: \"id\"`\\n\\nFilters for target id in links associated with the meeting.\\n\\nlinks.target\\\\_object\\\\_typestringOptional`format: \"text\"`\\n\\nFilters for target object type in links associated with the", + "title": "Count Meetings | DevRev | Docs" }, { - "id": "ART-1575_KNOWLEDGE_NODE-449", - "text": "opportunities with any of the provided contacts.\\nopportunity.subtype string Optional\\nFilters for opportunity with any of the provided subtypes.\\nowned_by string Optional\\nFilters for work owned by any of these users.\\nreported_by string Optional\\nFilters for work reported by any of these users.\\nsort_by string Optional\\nFields to sort the work items by and the direction to sort them.\\nstage.name string Optional\\nFilters for records in the provided stage(s) by name.\\nstaged_info.is_staged", - "title": "Delete \u2014 DevRev | Docs" + "id": "ART-13009_KNOWLEDGE_NODE-2", + "text": "stringsOptional\\n\\nFilters for meetings created by the specified user(s).\\n\\ncursorstringOptional`format: \"text\"`\\n\\nThe cursor to resume iteration from. If not provided, then iteration starts from the beginning.\\n\\nexternal_reflist of stringsOptional\\n\\nFilters for meetings with the provided external_ref(s).\\n\\nlimitintegerOptional\\n\\nThe maximum number of meetings to return.\\n\\nlinks.link_typestringOptional`format: \"text\"`\\n\\nFilters for link type in links associated with the", + "title": "List Meetings \u2014 DevRev | Docs" }, { - "id": "ART-1821_KNOWLEDGE_NODE-446", - "text": "opportunities with any of the provided contacts.\\nopportunity.subtype string Optional\\nFilters for opportunity with any of the provided subtypes.\\nowned_by string Optional\\nFilters for work owned by any of these users.\\nreported_by string Optional\\nFilters for work reported by any of these users.\\nsort_by string Optional\\nFields to sort the work items by and the direction to sort them.\\nstage.name string Optional\\nFilters for records in the provided stage(s) by name.\\nstaged_info.is_staged", - "title": "Delete \u2014 DevRev | Docs" + "id": "ART-3003_KNOWLEDGE_NODE-1", + "text": "user(s).\\n\\ncustom_fieldsobjectOptional\\n\\nFilters for meeting on custom fields.\\n\\nexternal_reflist of stringsOptional\\n\\nFilters for meetings with the provided external_ref(s).\\n\\nlinks.link_typestringOptional`format: \"text\"`\\n\\nFilters for link type in links associated with the meeting.\\n\\nlinks.targetstringOptional`format: \"id\"`\\n\\nFilters for target id in links associated with the meeting.\\n\\nlinks.target_object_typestringOptional`format: \"text\"`\\n\\nFilters for target object type in links", + "title": "Count Meetings (Beta) \u2014 DevRev | Docs" }, { - "id": "ART-15416_KNOWLEDGE_NODE-2", - "text": "created by the specified user(s).\\n\\nexternal\\\\_reflist of stringsOptional\\n\\nFilters for meetings with the provided external\\\\_ref(s).\\n\\nlinks.link\\\\_typestringOptional`format: \"text\"`\\n\\nFilters for link type in links associated with the meeting.\\n\\nlinks.targetstringOptional`format: \"id\"`\\n\\nFilters for target id in links associated with the meeting.\\n\\nlinks.target\\\\_object\\\\_typestringOptional`format: \"text\"`\\n\\nFilters for target object type in links associated with the", - "title": "Count Meetings | DevRev | Docs" + "id": "ART-3008_KNOWLEDGE_NODE-1", + "text": "user(s).\\n\\ncursorstringOptional`format: \"text\"`\\n\\nThe cursor to resume iteration from. If not provided, then iteration starts from the beginning.\\n\\ncustom_fieldsobjectOptional\\n\\nFilters for meeting on custom fields.\\n\\nexternal_reflist of stringsOptional\\n\\nFilters for meetings with the provided external_ref(s).\\n\\nlimitintegerOptional\\n\\nThe maximum number of meetings to return.\\n\\nlinks.link_typestringOptional`format: \"text\"`\\n\\nFilters for link type in links associated with the", + "title": "List Meetings (Beta) \u2014 DevRev | Docs" } ] }, @@ -340,18 +340,18 @@ "query": "connect WhatsApp Business with DevRev", "retrievals": [ { - "id": "ART-2029_KNOWLEDGE_NODE-25", - "text": "for you to manage all your customer conversations in one place. By adding WhatsApp to DevRev, you can streamline your support and offer a smoother experience to your customers.\\n\\nFor detailed information about WhatsApp for Business, refer to [WhatsApp Business Platform - Documentation](https://developers.facebook.com/docs/whatsapp/overview)\\n\\nPrerequisites\\n-------------\\n\\n1. **Create a business account:** Ensure you have a [Business Account](https://business.facebook.com/overview) in Meta", + "id": "ART-2029_KNOWLEDGE_NODE-27", + "text": "work with 360dialog for WhatsApp Integration. If you have an existing WhatsApp for Business Account, follow the steps to [migrate to 360dialog](https://docs.360dialog.com/partner/account-setup/migrating-phone-numbers).\\n\\nInstalling the WhatsApp snap-in\\n-------------------------------\\n\\nTo use this snap-in, you\\'ll need to connect your WhatsApp with Business API with DevRev.\\n\\n1. Install [WhatsApp](/marketplace/whatsapp) from the DevRev marketplace.\\n2. Select the workspace to install the", "title": "WhatsApp | Integrate | Snap-ins | DevRev" }, { - "id": "ART-2029_KNOWLEDGE_NODE-30", - "text": "phone number to sync WhatsApp messages sent to the business with DevRev Inbox.\\n4. **Register for WhatsApp webhook:** In the **Discussion** tab, enter **/whatsapp** to register to the WhatsApp webhook URL to receive WhatsApp messages in the DevRev Inbox.\\n5. **Use template messages:** As per WhatsApp policies, template messages are required to communicate with customers once 24 hours have passed since their last message. To ensure continuity in customer conversations, the following template", + "id": "ART-2029_KNOWLEDGE_NODE-29", + "text": "Install the WhatsApp snap-in from the marketplace as mentioned above.\\n2. **Create a connection:** In the **Connections** tab, add your existing connection or create a new connection.\\n * Give your connection a name, and ensure that you completed the required steps in the prerequisites.\\n * Click **Connect**.\\n * Open the dialog and follow the process to finish creating a connection.\\n\\n ![]()\\n3. **Configure business phone number:** In the **Configuration** tab, enter the business", "title": "WhatsApp | Integrate | Snap-ins | DevRev" }, { - "id": "ART-2029_KNOWLEDGE_NODE-27", - "text": "work with 360dialog for WhatsApp Integration. If you have an existing WhatsApp for Business Account, follow the steps to [migrate to 360dialog](https://docs.360dialog.com/partner/account-setup/migrating-phone-numbers).\\n\\nInstalling the WhatsApp snap-in\\n-------------------------------\\n\\nTo use this snap-in, you\\'ll need to connect your WhatsApp with Business API with DevRev.\\n\\n1. Install [WhatsApp](/marketplace/whatsapp) from the DevRev marketplace.\\n2. Select the workspace to install the", + "id": "ART-2029_KNOWLEDGE_NODE-30", + "text": "phone number to sync WhatsApp messages sent to the business with DevRev Inbox.\\n4. **Register for WhatsApp webhook:** In the **Discussion** tab, enter **/whatsapp** to register to the WhatsApp webhook URL to receive WhatsApp messages in the DevRev Inbox.\\n5. **Use template messages:** As per WhatsApp policies, template messages are required to communicate with customers once 24 hours have passed since their last message. To ensure continuity in customer conversations, the following template", "title": "WhatsApp | Integrate | Snap-ins | DevRev" }, { @@ -360,34 +360,34 @@ "title": "WhatsApp | Integrate | Snap-ins | DevRev" }, { - "id": "ART-2029_KNOWLEDGE_NODE-28", - "text": "snap-in, confirm installation, and click **Deploy snap-in**.\\n\\nLimitations\\n-----------\\n\\n* Group Conversations are not supported by WhatsApp for Business API.\\n* If you do not respond to the customer\\xe2\\x80\\x99s message within 24 hours, you can only respond to the conversation using Meta-approved template messages.\\n\\nSet up the snap-in\\n------------------\\n\\nFollow these steps to ensure WhatsApp messages sent to your business are synced with the DevRev Inbox.\\n\\n1. **Install the snap-in:**", + "id": "ART-2029_KNOWLEDGE_NODE-25", + "text": "for you to manage all your customer conversations in one place. By adding WhatsApp to DevRev, you can streamline your support and offer a smoother experience to your customers.\\n\\nFor detailed information about WhatsApp for Business, refer to [WhatsApp Business Platform - Documentation](https://developers.facebook.com/docs/whatsapp/overview)\\n\\nPrerequisites\\n-------------\\n\\n1. **Create a business account:** Ensure you have a [Business Account](https://business.facebook.com/overview) in Meta", "title": "WhatsApp | Integrate | Snap-ins | DevRev" }, { - "id": "ART-2029_KNOWLEDGE_NODE-29", - "text": "Install the WhatsApp snap-in from the marketplace as mentioned above.\\n2. **Create a connection:** In the **Connections** tab, add your existing connection or create a new connection.\\n * Give your connection a name, and ensure that you completed the required steps in the prerequisites.\\n * Click **Connect**.\\n * Open the dialog and follow the process to finish creating a connection.\\n\\n ![]()\\n3. **Configure business phone number:** In the **Configuration** tab, enter the business", - "title": "WhatsApp | Integrate | Snap-ins | DevRev" + "id": "ART-2002_KNOWLEDGE_NODE-35", + "text": "integrations like [Slack](/marketplace/slack), [Email for conversations](https://marketplace.devrev.ai/marketplace/devrev-plug-with-email), [WhatsApp](/marketplace/whatsapp) are additional channels available with DevRev's omnichannel support offering.\\nIntegrating these channels automatically brings customer identity to DevRev.\\n\\n[PreviousOpportunities](/docs/product/opportunity)[NextAccount and contact import](/docs/product/account-contact-import)\\n\\n#### On this page\\n\\n*", + "title": "Contacts | Computer for Growth Teams | DevRev" }, { - "id": "ART-2029_KNOWLEDGE_NODE-26", - "text": "Business Manager. For detailed information, refer to [creating a Business Account](https://m.facebook.com/help/1710077379203657) in Meta Business Manager.\\n2. **Number compatibility:** Ensure the designated number isn\\'t linked to another WhatsApp account. If it is, either delete that account or [migrate your number](https://developers.facebook.com/docs/whatsapp/cloud-api/get-started/migrate-existing-whatsapp-number-to-a-business-account/) to a business account.\\n3. **Partner integration:** We", + "id": "ART-2029_KNOWLEDGE_NODE-28", + "text": "snap-in, confirm installation, and click **Deploy snap-in**.\\n\\nLimitations\\n-----------\\n\\n* Group Conversations are not supported by WhatsApp for Business API.\\n* If you do not respond to the customer\\xe2\\x80\\x99s message within 24 hours, you can only respond to the conversation using Meta-approved template messages.\\n\\nSet up the snap-in\\n------------------\\n\\nFollow these steps to ensure WhatsApp messages sent to your business are synced with the DevRev Inbox.\\n\\n1. **Install the snap-in:**", "title": "WhatsApp | Integrate | Snap-ins | DevRev" }, { - "id": "ART-2029_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* [Prerequisites](#prerequisites)\\n* [Installing the WhatsApp snap-in](#installing-the-whatsapp-snapin)\\n*", - "title": "WhatsApp | Integrate | Snap-ins | DevRev" + "id": "ART-15716_KNOWLEDGE_NODE-20", + "text": "them, reach out to DevRev support with details (article titles, migration date, etc.) for assistance.\\n\\nSupport for Incoming Text Messages (SMS and WhatsApp)\\n\\nYes, DevRev does allow for incoming text messages\\xe2\\x80\\x94if you use a supported SMS integration.\\n\\nThe main provider currently supported is Exotel. When you connect your Exotel account to DevRev, customers can send SMS to your Exotel number, and those messages will show up as conversations in your DevRev inbox.\\n\\nWhatsApp is also", + "title": "Support queries related playbook" }, { - "id": "ART-2029_KNOWLEDGE_NODE-0", - "text": "b'WhatsApp | 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 +", + "id": "ART-2029_KNOWLEDGE_NODE-26", + "text": "Business Manager. For detailed information, refer to [creating a Business Account](https://m.facebook.com/help/1710077379203657) in Meta Business Manager.\\n2. **Number compatibility:** Ensure the designated number isn\\'t linked to another WhatsApp account. If it is, either delete that account or [migrate your number](https://developers.facebook.com/docs/whatsapp/cloud-api/get-started/migrate-existing-whatsapp-number-to-a-business-account/) to a business account.\\n3. **Partner integration:** We", "title": "WhatsApp | 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-15792_KNOWLEDGE_NODE-1", + "text": "to create comprehensive business intelligence:\\n\\nUnified data integration: The platform connects to existing business systems including Salesforce, Jira, and Google Workspace through their bidirectional synchronization engine called DevRev Airdrop. This eliminates the data silos that typically prevent AI from accessing complete business context.\\n\\nKnowledge graph architecture: DevRev organizes all connected information into a patented Knowledge Graph, which creates a living network of data", + "title": "DevRev Products and Agents" } ] }, @@ -396,52 +396,52 @@ "query": "API for Incident Ticket creation", "retrievals": [ { - "id": "ART-4127_KNOWLEDGE_NODE-0", - "text": "b'Create Incident | 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)[incidents](/beta/api-reference/incidents/create)\\n\\nCreate Incident\\n===============\\n\\nBeta\\n\\nCopy page\\n\\nPOST\\n\\nhttps://api.devrev.ai/incidents.create\\n\\nPOST\\n\\n/incidents.create\\n\\ncURL\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl -X POST https://api.devrev.ai/incidents.create \\\\ |\\n| > | -H \"Authorization: Bearer", - "title": "Create Incident | DevRev | Docs" + "id": "ART-1562_KNOWLEDGE_NODE-244", + "text": "owner.\\n\\nResponse.\\n\\nThis endpoint returns an object.\\ngroup object\\nShow 11 properties\\nAPI Reference operate Incidents Create.\\n\\nPOST https://api.devrev.ai / incidents.create\\n\\nCreates an incident.\\n\\nRequest.\\n\\nThis endpoint expects an object.\\ntitle string Required\\n\\nTitle of the incident.\\n\\nacknowledged_date datetime Optional\\n\\nTimestamp when the incident was acknowledged.\\n\\napplies_to_parts list of strings Optional\\n\\nParts to which the incident is applicable to.\\n\\nartifacts", + "title": "Get (Beta) \u2014 DevRev | Docs" }, { - "id": "ART-4127_KNOWLEDGE_NODE-1", - "text": "\" \\\\ |\\n| > | -H \"Content-Type: application/json\" \\\\ |\\n| > | -d \\'{ |\\n| > | \"title\": \"string\" |\\n| > | }\\' |\\n```\\n\\n[Try it](/beta/api-reference/incidents/create?explorer=true)\\n\\n201Created\\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": "Create Incident | DevRev | Docs" + "id": "ART-1551_KNOWLEDGE_NODE-244", + "text": "owner.\\n\\nResponse.\\n\\nThis endpoint returns an object.\\ngroup object\\nShow 11 properties\\nAPI Reference operate Incidents Create.\\n\\nPOST https://api.devrev.ai / incidents.create\\n\\nCreates an incident.\\n\\nRequest.\\n\\nThis endpoint expects an object.\\ntitle string Required\\n\\nTitle of the incident.\\n\\nacknowledged_date datetime Optional\\n\\nTimestamp when the incident was acknowledged.\\n\\napplies_to_parts list of strings Optional\\n\\nParts to which the incident is applicable to.\\n\\nartifacts", + "title": "Update (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" + "id": "ART-1545_KNOWLEDGE_NODE-244", + "text": "owner.\\n\\nResponse.\\n\\nThis endpoint returns an object.\\ngroup object\\nShow 11 properties\\nAPI Reference operate Incidents Create.\\n\\nPOST https://api.devrev.ai / incidents.create\\n\\nCreates an incident.\\n\\nRequest.\\n\\nThis endpoint expects an object.\\ntitle string Required\\n\\nTitle of the incident.\\n\\nacknowledged_date datetime Optional\\n\\nTimestamp when the incident was acknowledged.\\n\\napplies_to_parts list of strings Optional\\n\\nParts to which the incident is applicable to.\\n\\nartifacts", + "title": "Create (Beta) \u2014 DevRev | Docs" }, { - "id": "ART-4126_KNOWLEDGE_NODE-0", - "text": "b'Get Incident (POST) | 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)[incidents](/beta/api-reference/incidents/create)\\n\\nGet Incident (POST)\\n===================\\n\\nBeta\\n\\nCopy page\\n\\nPOST\\n\\nhttps://api.devrev.ai/incidents.get\\n\\nPOST\\n\\n/incidents.get\\n\\ncURL\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl -X POST https://api.devrev.ai/incidents.get \\\\ |\\n| > | -H \"Authorization: Bearer", - "title": "Get Incident (POST) | DevRev | Docs" + "id": "ART-1785_KNOWLEDGE_NODE-163", + "text": "owner.\\nResponse.\\n\\nThis endpoint returns an object.\\ngroup object\\nShow 11 properties\\nAPI Reference operate Incidents Create.\\n\\nPOST https:// api.devrev.ai / incidents.create\\nCreates an incident.\\nRequest.\\n\\nThis endpoint expects an object.\\ntitle string Required\\nTitle of the incident.\\nacknowledged_date datetime Optional\\nTimestamp when the incident was acknowledged.\\napplies_to_parts list of strings Optional\\nParts to which the incident is applicable to.\\nartifacts list of strings", + "title": "Create \u2014 DevRev | Docs" }, { - "id": "ART-4127_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\\nCreates 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\\ntitlestringRequired`format: \"text\"`\\n\\nTitle of the incident.\\n\\nacknowledged\\\\_datestringOptional`format: \"date-time\"`\\n\\nTimestamp when the incident was", - "title": "Create Incident | DevRev | Docs" + "id": "ART-1300_KNOWLEDGE_NODE-166", + "text": "Create.\\n\\nPOST https:// api.devrev.ai / incidents.create\\nCreates an incident.\\nRequest.\\n\\nThis endpoint expects an object.\\ntitle string Required\\nTitle of the incident.\\nacknowledged_date datetime Optional\\nTimestamp when the incident was acknowledged.\\napplies_to_parts list of strings Optional\\nParts to which the incident is applicable to.\\nartifacts list of strings Optional\\nArtifacts attached to the incident.\\nbody string Optional\\nBody of the incident.\\ncustom_fields map from strings to", + "title": "Create \u2014 DevRev | Docs" }, { - "id": "ART-4133_KNOWLEDGE_NODE-0", - "text": "b'Update Incident | 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)[incidents](/beta/api-reference/incidents/create)\\n\\nUpdate Incident\\n===============\\n\\nBeta\\n\\nCopy page\\n\\nPOST\\n\\nhttps://api.devrev.ai/incidents.update\\n\\nPOST\\n\\n/incidents.update\\n\\ncURL\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl -X POST https://api.devrev.ai/incidents.update \\\\ |\\n| > | -H \"Authorization: Bearer", - "title": "Update Incident | DevRev | Docs" + "id": "ART-1801_KNOWLEDGE_NODE-168", + "text": "Create.\\n\\nPOST https:// api.devrev.ai / incidents.create\\nCreates an incident.\\nRequest.\\n\\nThis endpoint expects an object.\\ntitle string Required\\nTitle of the incident.\\nacknowledged_date datetime Optional\\nTimestamp when the incident was acknowledged.\\napplies_to_parts list of strings Optional\\nParts to which the incident is applicable to.\\nartifacts list of strings Optional\\nArtifacts attached to the incident.\\nbody string Optional\\nBody of the incident.\\ncustom_fields map from strings to", + "title": "Get \u2014 DevRev | Docs" }, { - "id": "ART-2033_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": "Instabug | Integrate | Snap-ins | DevRev" + "id": "ART-1788_KNOWLEDGE_NODE-166", + "text": "Create.\\n\\nPOST https:// api.devrev.ai / incidents.create\\nCreates an incident.\\nRequest.\\n\\nThis endpoint expects an object.\\ntitle string Required\\nTitle of the incident.\\nacknowledged_date datetime Optional\\nTimestamp when the incident was acknowledged.\\napplies_to_parts list of strings Optional\\nParts to which the incident is applicable to.\\nartifacts list of strings Optional\\nArtifacts attached to the incident.\\nbody string Optional\\nBody of the incident.\\ncustom_fields map from strings to", + "title": "Get Post \u2014 DevRev | Docs" }, { - "id": "ART-1801_KNOWLEDGE_NODE-168", + "id": "ART-1803_KNOWLEDGE_NODE-167", "text": "Create.\\n\\nPOST https:// api.devrev.ai / incidents.create\\nCreates an incident.\\nRequest.\\n\\nThis endpoint expects an object.\\ntitle string Required\\nTitle of the incident.\\nacknowledged_date datetime Optional\\nTimestamp when the incident was acknowledged.\\napplies_to_parts list of strings Optional\\nParts to which the incident is applicable to.\\nartifacts list of strings Optional\\nArtifacts attached to the incident.\\nbody string Optional\\nBody of the incident.\\ncustom_fields map from strings to", - "title": "Get \u2014 DevRev | Docs" + "title": "List \u2014 DevRev | Docs" }, { - "id": "ART-4128_KNOWLEDGE_NODE-0", - "text": "b'Get Incident | 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)[incidents](/beta/api-reference/incidents/create)\\n\\nGet Incident\\n============\\n\\nBeta\\n\\nCopy page\\n\\nGET\\n\\nhttps://api.devrev.ai/incidents.get\\n\\nGET\\n\\n/incidents.get\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl -G https://api.devrev.ai/incidents.get \\\\ |\\n| > | -H \"Authorization: Bearer \" \\\\ |\\n| > | -d id=id", - "title": "Get Incident | DevRev | Docs" + "id": "ART-1781_KNOWLEDGE_NODE-164", + "text": "Create.\\n\\nPOST https:// api.devrev.ai / incidents.create\\nCreates an incident.\\nRequest.\\n\\nThis endpoint expects an object.\\ntitle string Required\\nTitle of the incident.\\nacknowledged_date datetime Optional\\nTimestamp when the incident was acknowledged.\\napplies_to_parts list of strings Optional\\nParts to which the incident is applicable to.\\nartifacts list of strings Optional\\nArtifacts attached to the incident.\\nbody string Optional\\nBody of the incident.\\ncustom_fields map from strings to", + "title": "List \u2014 DevRev | Docs" }, { - "id": "ART-1803_KNOWLEDGE_NODE-167", + "id": "ART-1789_KNOWLEDGE_NODE-166", "text": "Create.\\n\\nPOST https:// api.devrev.ai / incidents.create\\nCreates an incident.\\nRequest.\\n\\nThis endpoint expects an object.\\ntitle string Required\\nTitle of the incident.\\nacknowledged_date datetime Optional\\nTimestamp when the incident was acknowledged.\\napplies_to_parts list of strings Optional\\nParts to which the incident is applicable to.\\nartifacts list of strings Optional\\nArtifacts attached to the incident.\\nbody string Optional\\nBody of the incident.\\ncustom_fields map from strings to", "title": "List \u2014 DevRev | Docs" } @@ -452,44 +452,44 @@ "query": "mark fields as readable from backend", "retrievals": [ { - "id": "ART-17232_KNOWLEDGE_NODE-8", - "text": "fields |\\n\\n### Custom and stock fields transformation methods\\n\\n| Method | Description | Requirements |\\n| --- | --- | --- |\\n| `use_rich_text` | Produces a rich text field | External field must be of type `rich_text` |\\n\\n### Constructed custom fields transformation methods\\n\\n| Method | Description | Requirements |\\n| --- | --- | --- |\\n| `construct_text_field` | Produces a text field | External field must be of type text |\\n\\n### Universal transformation method\\n\\n| Method | Description |", - "title": "Mapping reasons | DevRev | Docs" + "id": "ART-17219_KNOWLEDGE_NODE-28", + "text": "to a ticket.\\nAssigning a `reference_type` helps AirSync correctly handle such fields in case the end-user\\ndecides to filter some of the parent records out.\\n\\n[8](/airsync/metadata-extraction#define-field-attributes)\\n\\n### Define field attributes\\n\\nExternal system fields that shouldn\\xe2\\x80\\x99t be mapped in reverse should be marked as `is_read_only`.\\nDepending on their purpose, you can also mark fields as `is_indexed`, `is_identifier`, `is_filterable`,\\n`is_write_only`, etc. By default,", + "title": "Metadata extraction | DevRev | Docs" }, { - "id": "ART-17230_KNOWLEDGE_NODE-0", - "text": "b'Rich text fields | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nPublic\\n\\nPublic\\n\\nSearch\\n\\n`/`\\n\\nOn this page\\n\\n* [Rich text mentions](/airsync/data-model/rich-text-fields#rich-text-mentions)\\n* [Importing articles](/airsync/data-model/rich-text-fields#importing-articles)\\n* [Managing permissions](/airsync/data-model/rich-text-fields#managing-permissions)\\n* [Inline attachments](/airsync/data-model/rich-text-fields#inline-attachments)\\n* [Links to other", - "title": "Rich text fields | DevRev | Docs" + "id": "ART-15487_KNOWLEDGE_NODE-35", + "text": "groupable. Requires `is_filterable` to be true.\\n* `order`: The order in which the field appears in the side panel.\\n* `is_read_only`: Whether the field is read-only in the UI. Once the object is created, this\\n field cannot be updated in the UI.\\n* `group_name`: The group title under which field(s) appear in the side panel. In the\\n example below, the fields are grouped under groups titled **Group 1** and **Group 2**.\\n\\n ![]()\\n* `unit`: The unit for the field. For example, days, kg. The", + "title": "Object customization | DevRev | Docs" }, { - "id": "ART-15510_KNOWLEDGE_NODE-17", - "text": "server. Input views such as password text fields are automatically masked.\\n\\nWhile the auto-masking feature is sufficient for most situations, you can manually mark or unmark additional views as sensitive.\\n\\nTo mark elements as sensitive inside a web view (`WebView`), apply the `devrev-mask` CSS class. To unmark them, use `devrev-unmask`.\\n\\n* Mark an element as masked:\\n\\n ```\\n | | |\\n | --- | --- |\\n | 1 | |\\n ```\\n* Mark an element as", - "title": "Features | DevRev | Docs" + "id": "ART-1645_KNOWLEDGE_NODE-37", + "text": "`is_filterable` to be true.\\n\\n * `is_groupable`: Whether the field is groupable. Requires `is_filterable` to be true.\\n\\n * `order`: The order in which the field appears in the side panel.\\n\\n * `is_read_only`: Whether the field is read-only in the UI. Once the object is created, this field cannot be updated in the UI.\\n\\n * `group_name`: The group title under which field(s) appear in the side panel. In the example below, the fields are grouped under groups titled **Group 1** and **Group", + "title": "Object customization (Beta) \u2014 DevRev | Docs" }, { - "id": "ART-17230_KNOWLEDGE_NODE-5", - "text": "about products, services, and processes.\\nThey support both Markdown and HTML formats.\\n\\nArticles can include mentions to artifacts and other articles. Inline attachments must map to artifacts,\\nand article links must map to articles.\\n\\n### Managing permissions\\n\\nArticle permissions are managed through the `shared_with` field, which can reference users, groups, and platform groups.\\nRefer to the [permissions](/public/airsync/data-model/permissions) for more details.\\n\\n### Inline", - "title": "Rich text fields | DevRev | Docs" + "id": "ART-17219_KNOWLEDGE_NODE-23", + "text": "fields\\xe2\\x80\\x99 set of possible values can often be customizable.\\nA good practice is to retrieve the set of possible values for all enum fields from the external\\nsystem\\xe2\\x80\\x99s APIs in each sync run. You can mark specific enum values as deprecated using the `is_deprecated` property.\\n\\n**`ID` (primary key) of the record, `created_date`, and `modified_date` must not be declared.**\\n\\nExample:\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | { |\\n| 2 | \"schema_version\": \"v0.2.0\", |\\n| 3 |", + "title": "Metadata extraction | DevRev | Docs" }, { - "id": "ART-17230_KNOWLEDGE_NODE-14", - "text": "\\xe2\\x80\\x9cdocuments\\xe2\\x80\\x9d).\\nThe platform replaces the mention with the corresponding DevRev article ID and adds the appropriate href attribute.\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/airsync/supported-object-types)[#### Permissions\\n\\nNext](/airsync/data-model/permissions)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "id": "ART-17230_KNOWLEDGE_NODE-5", + "text": "about products, services, and processes.\\nThey support both Markdown and HTML formats.\\n\\nArticles can include mentions to artifacts and other articles. Inline attachments must map to artifacts,\\nand article links must map to articles.\\n\\n### Managing permissions\\n\\nArticle permissions are managed through the `shared_with` field, which can reference users, groups, and platform groups.\\nRefer to the [permissions](/public/airsync/data-model/permissions) for more details.\\n\\n### Inline", "title": "Rich text fields | DevRev | Docs" }, { - "id": "ART-12453_KNOWLEDGE_NODE-23", - "text": "provides an auto-masking feature that masks data before sending to the server. Input views such as text fields, text views, and web views are automatically masked.\\n\\nWhile the auto-masking feature may be sufficient for most situations, you can manually mark additional views as sensitive using the following method:\\n\\n[code]\\n\\n 1| DevRev.markSensitiveViews(_:) \\n ---|---\\n[/code] \\n \\nIf any previously masked views need to be unmasked, you can use the following method:\\n\\n[code]\\n\\n", - "title": "Features \u2014 DevRev | Docs" + "id": "ART-1290_KNOWLEDGE_NODE-167", + "text": "is generated.\\n\\nInherited from [Hideable](/snapin-development/references/snapkit#hideable):\\n\\n* `hidden` (optional): Indicates whether the element is hidden. You can use this to pass values to the backend without showing them to the user.\\n\\n**Allowed element types**\\n\\n* [Input](/snapin-development/references/snapkit#input)\\n* [Checkboxes](/snapin-development/references/snapkit#checkboxes)\\n* [Radio buttons](/snapin-development/references/snapkit#radio-buttons)\\n* [Static", + "title": "Snapkit | DevRev | Docs" }, { - "id": "ART-12456_KNOWLEDGE_NODE-18", - "text": "protect sensitive data, the DevRev SDK provides an auto-masking feature that masks data before sending to the server. Input views such as text fields, text views, and web views are automatically masked.\\n\\nWhile the auto-masking feature may be sufficient for most situations, you can manually mark additional views as sensitive using the following method:\\n\\n[code]\\n\\n 1| DevRev.markSensitiveViews(tags: any[]) \\n ---|---\\n[/code] \\n \\nIf any previously masked views need to be unmasked,", - "title": "Features \u2014 DevRev | Docs" + "id": "ART-16579_KNOWLEDGE_NODE-32", + "text": "\"foo-bar\"), |\\n| 4 | ), |\\n| 5 | ) |\\n```\\n\\n### Mask elements inside web views\\n\\nInput views such as password text fields are automatically masked in web views.\\n\\nTo mark elements as sensitive inside a web view (`WebView`), apply the `devrev-mask` CSS class. To unmark them, use `devrev-unmask`.\\n\\n* Mark an element as masked:\\n\\n ```\\n | | |\\n | --- | --- |\\n | 1 | |\\n ```\\n* Mark an element as unmasked:\\n\\n ```\\n | | |\\n | --- | ---", + "title": "Features | DevRev | Docs" }, { - "id": "ART-17230_KNOWLEDGE_NODE-7", - "text": "src=\"don:core:dvrv-us-1:devo/0:artifact/1\" alt=\"Alt Text\"/> |\\n```\\n\\nThe following Markdown example shows an inline attachment:\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | ![Alt Text](don:core:dvrv-us-1:devo/0:artifact/1) |\\n```\\n\\nLet\\xe2\\x80\\x99s say the content of your external system looks like this:\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 |

|\\n| 2 | This is an article with one image. |\\n| 3 |

|\\n| 4 |

|\\n| 5 | OTP: 12345 |\\n ```\\n* Mark an element as", + "title": "Features | DevRev | Docs" }, { "id": "ART-17230_KNOWLEDGE_NODE-1", @@ -497,8 +497,8 @@ "title": "Rich text fields | DevRev | Docs" }, { - "id": "ART-15513_KNOWLEDGE_NODE-36", - "text": "Input views such as text fields, text views, and web views are automatically masked.\\n\\nWhile the auto-masking feature may be sufficient for most situations, you can manually mark/unmark additional views as sensitive.\\n\\nThe SDK provides two approaches to manually mask or unmask your views, using a set of predefined tags or using the API methods.\\n\\n#### Mask using predefined tags\\n\\n##### \\n\\nUse the tag method only when you don\\xe2\\x80\\x99t have any other tag already applied to your UI", + "id": "ART-15507_KNOWLEDGE_NODE-37", + "text": "DevRev.setInScreenTransitioning(true) |\\n| 3 | |\\n| 4 | // Mark the transition as ended. |\\n| 5 | DevRev.setInScreenTransitioning(false) |\\n```\\n\\nPush notifications\\n------------------\\n\\nYou can configure your app to receive push notifications from the DevRev SDK. The SDK is able to handle push notifications and execute actions based on the notification\\xe2\\x80\\x99s content.\\n\\nThe DevRev backend sends push notifications to your app to notify users about new messages in the Plug support", "title": "Features | DevRev | Docs" } ] @@ -513,48 +513,48 @@ "title": "Turing AI agent | Computer for Support Teams | DevRev" }, { - "id": "ART-1987_KNOWLEDGE_NODE-24", - "text": "(Beta)](#goaloriented-mode-beta)\\n\\n1. [Documentation](/docs)\\n3. [Computer for Support Teams](/docs/product/support)\\n[Turing AI agent](/docs/product/conversational-bot)\\n\\nComputer for Your Customers and Turing\\n======================================\\n\\nUsing Turing, Computer can be used to deflect user queries in conversation or to suggest articles from your knowledge base for resolving tickets. It will try to answer customer queries based on the articles and QA pairs provided in the", + "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-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", + "id": "ART-1987_KNOWLEDGE_NODE-25", + "text": "Knowledge base, while keeping a support agent subscribed to conversations. If it cannot answer a certain query or you request it to connect to the team, it will redirect it to the default owner of the conversation.\\n\\nWhen looking for a source to inform its answer, it will prioritize the QA pairs, which are intended to serve as definitive answers to commonly repeated questions.\\n\\n![]()\\n\\nFor Computer to suggest articles, you need to add articles to your DevRev instance. Refer to", "title": "Turing AI agent | Computer for Support Teams | DevRev" }, { - "id": "ART-1987_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* [Suggest-only mode](#suggestonly-mode)\\n* [Content-powered mode](#contentpowered-mode)\\n* [Goal-oriented mode", + "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-1987_KNOWLEDGE_NODE-0", - "text": "b\"Turing AI agent | 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`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 +", + "id": "ART-1987_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": "Turing AI agent | Computer for Support Teams | DevRev" }, { - "id": "ART-1987_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", + "id": "ART-1987_KNOWLEDGE_NODE-24", + "text": "(Beta)](#goaloriented-mode-beta)\\n\\n1. [Documentation](/docs)\\n3. [Computer for Support Teams](/docs/product/support)\\n[Turing AI agent](/docs/product/conversational-bot)\\n\\nComputer for Your Customers and Turing\\n======================================\\n\\nUsing Turing, Computer can be used to deflect user queries in conversation or to suggest articles from your knowledge base for resolving tickets. It will try to answer customer queries based on the articles and QA pairs provided in the", "title": "Turing AI agent | Computer for Support Teams | DevRev" }, { - "id": "ART-1987_KNOWLEDGE_NODE-29", - "text": "page\\n\\n* [Suggest-only mode](#suggestonly-mode)\\n* [Content-powered mode](#contentpowered-mode)\\n* [Goal-oriented mode (Beta)](#goaloriented-mode-beta)\\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", + "id": "ART-1987_KNOWLEDGE_NODE-7", + "text": "[Roadmap](/docs/product/roadmap)\\n + [Build best practices](/docs/product/build-bp)\\n + [Build snap-ins](/docs/product/snapins-build)\\n* [Computer for Your Customers](/docs/plug)\\n\\n + [Plug widget customization](/docs/plug/customize)\\n + [Session analytics](/docs/plug/session-analytics-intro)\\n\\n - [Computer for User Insights](/docs/plug/observability)\\n - [Session recording options](/docs/plug/session-recording)\\n - [Cross-domain session", "title": "Turing AI agent | Computer for Support Teams | DevRev" }, { - "id": "ART-1987_KNOWLEDGE_NODE-25", - "text": "Knowledge base, while keeping a support agent subscribed to conversations. If it cannot answer a certain query or you request it to connect to the team, it will redirect it to the default owner of the conversation.\\n\\nWhen looking for a source to inform its answer, it will prioritize the QA pairs, which are intended to serve as definitive answers to commonly repeated questions.\\n\\n![]()\\n\\nFor Computer to suggest articles, you need to add articles to your DevRev instance. Refer to", - "title": "Turing AI agent | Computer for Support Teams | DevRev" + "id": "ART-1984_KNOWLEDGE_NODE-17", + "text": "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 - [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 -", + "title": "Best practices for documentation that supports AI | Turing AI agent | Computer for Support Teams | DevRev" }, { - "id": "ART-1987_KNOWLEDGE_NODE-31", - "text": "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 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.\\n\\n![]()\"", + "id": "ART-1987_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": "Turing AI agent | Computer for Support Teams | DevRev" }, { - "id": "ART-1987_KNOWLEDGE_NODE-30", - "text": "Insights](/for-user-insights)\\n* [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", + "id": "ART-1987_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": "Turing AI agent | Computer for Support Teams | DevRev" } ] @@ -564,54 +564,54 @@ "query": "how to make MIS report with available data on DevRev", "retrievals": [ { - "id": "ART-1963_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": "Accessing DevRev | Computer by DevRev | DevRev" + "id": "ART-1952_KNOWLEDGE_NODE-27", + "text": "bring in data from other sources as well.\\n\\nDiscover\\n--------\\n\\nTo get started, click the \\xe2\\x9a\\xa1 button on a vista. The following options are available:\\n\\n* Create New Report\\n* View Past Reports: Created by me or shared with me\\n\\nYou can also search for reports and find more on the **Explore** page.\\n\\n![]()\\n\\n### Create\\n\\nYou can create your own reports by adding a name, description, and creating widgets. Here, you'll also be able to preview your report and make any necessary", + "title": "Vista Reports | Vistas | Computer by DevRev | DevRev" }, { - "id": "ART-1963_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": "Accessing DevRev | Computer by DevRev | DevRev" + "id": "ART-4272_KNOWLEDGE_NODE-30", + "text": "report\\n\\nAccess detailed information about the initial import and any subsequent syncs performed.\\n\\n* Delete import\\n\\nRemove the import and all data imported from OneDrive into DevRev.\\n\\n* Edit connection\\n\\nChange the connection used for subsequent actions. This is useful if a connection becomes inactive or the user who established it is no longer available.\\n\\nSync to DevRev\\n--------------\\n\\nAfter a successful import from OneDrive, you can choose to sync the imported data with DevRev.", + "title": "OneDrive AirSync | AirSync | Snap-ins | DevRev" }, { - "id": "ART-2046_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": "DevRev for Jira app | Jira Software AirSync | AirSync | Snap-ins | DevRev" + "id": "ART-4966_KNOWLEDGE_NODE-28", + "text": "of available sync units, select the project you want to import and specify the DevRev part to use for the imported content.\\n 11. After extraction, you are prompted to map fields via the UI. Once done, the data is transformed and loaded into DevRev.\\n\\nThe import duration depends on the size of your Zoho Projects data. Projects with a few dozen items import quickly, while large projects may take hours. DevRev honors Zoho API rate limits and automatically resumes if interrupted.\\n\\n## Post", + "title": "Zoho Projects Airdrop | Airdrop | Snap-ins | DevRev" }, { - "id": "ART-15792_KNOWLEDGE_NODE-9", - "text": "information sharing and reporting by converging support, product and user data in one shared view.\\n\\nAutomated knowledge base management: AI agents remember successful resolutions and instantly apply them to future issues, reducing customer wait time.\\n\\nSource: [DevRev Support](https://devrev.ai/support)BuildWhat is DevRev Build?\\n\\nDevRev Build is a full-featured product development platform built for modern businesses and trusted by leading organizations\\n\\nKey Features:\\n\\nAuto-generate", - "title": "DevRev Products and Agents" + "id": "ART-4275_KNOWLEDGE_NODE-32", + "text": "Google Docs with the corresponding items previously imported into DevRev. It also creates new items in DevRev for any document in Google Docs after the last sync or import.\\n* View Report\\n\\n This option allows you to access detailed information about the initial import and any subsequent syncs performed.\\n* Delete Import\\n\\n If you want to remove the import and all data that were imported from Google Docs into DevRev, you can use this option.\\n* Edit Connection\\n\\n Use this option to change", + "title": "Google Docs | AirSync | Snap-ins | DevRev" }, { - "id": "ART-1952_KNOWLEDGE_NODE-27", - "text": "bring in data from other sources as well.\\n\\nDiscover\\n--------\\n\\nTo get started, click the \\xe2\\x9a\\xa1 button on a vista. The following options are available:\\n\\n* Create New Report\\n* View Past Reports: Created by me or shared with me\\n\\nYou can also search for reports and find more on the **Explore** page.\\n\\n![]()\\n\\n### Create\\n\\nYou can create your own reports by adding a name, description, and creating widgets. Here, you'll also be able to preview your report and make any necessary", - "title": "Vista Reports | Vistas | Computer by DevRev | DevRev" + "id": "ART-4215_KNOWLEDGE_NODE-35", + "text": "Notion with corresponding items in DevRev. New\\nitems created in Notion after the last sync are also imported.\\n\\n### \\xf0\\x9f\\x93\\x8a View Report\\n\\nAccess a report of the initial import and any subsequent syncs.\\n\\n### \\xf0\\x9f\\x97\\x91\\xef\\xb8\\x8f Delete Import\\n\\nRemove all imported data from DevRev.\\n\\n### \\xe2\\x9a\\x99\\xef\\xb8\\x8f Edit Connection\\n\\nUpdate the connection used for syncing or importing.\\n\\n---\\n\\n### Sync to DevRev\\n\\nTo perform a one-time sync:\\n\\n1. Go to **Settings** >", + "title": "Notion AirSync | AirSync | Snap-ins | DevRev" }, { - "id": "ART-3208_KNOWLEDGE_NODE-31", - "text": "Select the import you want to view.\\n3. Select the context menu (\\xe2\\x8b\\xae) > **View Report**.\\n\\n### Periodic sync\\n\\nAfter successfully importing to DevRev, you have the option to enable a periodic sync. This allows for automatic synchronization with DevRev on a regular basis. By default, the sync occurs once an hour.\\n\\nTo configure periodic sync, follow these steps:\\n\\n1. Go to **Settings** > **Integrations** > **AirSyncs**.\\n2. Locate the previously imported project.\\n3. Select the", - "title": "DevRev AirSync | AirSync | Snap-ins | DevRev" + "id": "ART-17215_KNOWLEDGE_NODE-7", + "text": "to be imported to DevRev. At this point, the DevRev app prompts the user to select an external sync unit from the list.\\n3. The snap-in then extracts data from the external system.\\n4. Afterwards, the DevRev app requests the mapping of data from the external system to DevRev. The user can decide which fields from each system should match.\\n5. Once mapping is complete, the snap-in saves the data to DevRev.\\n6. Finally, the snap-in streams any possible attachments from the external system to", + "title": "Local development | DevRev | Docs" }, { - "id": "ART-2046_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": "DevRev for Jira app | Jira Software AirSync | AirSync | Snap-ins | DevRev" + "id": "ART-16263_KNOWLEDGE_NODE-35", + "text": "import, you can:\\n\\n### \\xf0\\x9f\\x94\\x81 Sync to DevRev\\n\\nPush updates or new content from Confluence into DevRev:\\n\\n* Go to **Settings** > **Integrations** > **AirSyncs**.\\n* Find the imported space.\\n* Click **\\xe2\\x87\\x86 > \\xe2\\x87\\xbe From Confluence to DevRev**.\\n\\n> \\xe2\\x9a\\xa0\\xef\\xb8\\x8f A sync may overwrite any edits made in DevRev to previously imported items.\\n\\n### \\xf0\\x9f\\x93\\x84 View report\\n\\nAccess a detailed report of the initial import and any subsequent syncs.\\n\\n###", + "title": "Confluence Datacenter AirSync | AirSync | Snap-ins | DevRev" }, { - "id": "ART-738_KNOWLEDGE_NODE-8", - "text": "purchase a product, you consider the need, cost, runway, future needs, etc.\\n\\nNow, say you want to prioritize which work you should focus on and deliver in the next sprint. You\\xe2\\x80\\x99d need information about other items in-flight, staff workload, customer impact of items, dependent opportunities, and a lot of additional data.\\n\\nWith DevRev, we have the full context and can use that to feed into the models. With the other point systems, you\\xe2\\x80\\x99d need to consolidate somewhere", - "title": "DevRev | Built for AI (not by AI... yet)" + "id": "ART-16615_KNOWLEDGE_NODE-32", + "text": "when working with sparse data distributions.\\n\\n[PreviousVista Reports](/docs/product/vista-reports)[NextTasks](/docs/product/tasks)\\n\\n#### On this page\\n\\n* [How to use it](#how-to-use-it)\\n* [Set up your board](#set-up-your-board)\\n* [Work with Cards](#work-with-cards)\\n* [Customize your view](#customize-your-view)\\n* [Best practices](#best-practices)\\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": "Board view | Vistas | Computer by DevRev | DevRev" }, { - "id": "ART-15687_KNOWLEDGE_NODE-26", - "text": "For example, to find opportunities data, search for opportunity and select the dim\\\\_opportunity dataset.\\n4. Write a SQL query and run it.\\n\\nTesting your query in Notebook ensures you have the correct dataset for your visualization.\\n\\n* **Access the widget builder**:\\n\\nGo to the widget builder by modifying your DevRev workspace URL. For example, your\\\\_workspace\\\\_slug/widget-preview.\\nThe builder provides a boilerplate code that you can modify.\\n\\n![]()\\n\\n* **Define your dataset (Oasis", - "title": "Dashboards | Computer by DevRev | DevRev" + "id": "ART-2044_KNOWLEDGE_NODE-27", + "text": "ITSM/CSM to DevRev, you can choose to\\nimport your ServiceNow data into DevRev. The import is a 1-time bulk import of\\nyour ServiceNow data into DevRev. Once this import is complete, several options\\nare made available for that project.\\n\\n![]()\\n\\nFor best results, AirSyncs should be done using an administrator account on the external source. This ensures all necessary permissions are available to complete the import successfully.\\n\\nTo import from ServiceNow, navigate to **Settings** >", + "title": "ServiceNow AirSync | AirSync | Snap-ins | DevRev" }, { - "id": "ART-15792_KNOWLEDGE_NODE-11", - "text": "to maintain visibility of resource allocation even as you scale\\n\\nProduct 360 Analytics: Enhance customer experience, product velocity, and developer productivity with robust Product 360 analytics\\n\\nCustomer-focused Development: Make development customer-focused with sprints that adapt to customer requirements\\n\\nSource: [DevRev Build](https://devrev.ai/build)User ObservabilityWhat is DevRev User Observability?\\n\\nDevRev User Observability helps you gain a clear window into your user journeys", - "title": "DevRev Products and Agents" + "id": "ART-16192_KNOWLEDGE_NODE-32", + "text": "options available for the imported account:\\n\\n* Sync to DevRev\\n\\n This option allows you to synchronize any modifications made in ServiceNow KB with the corresponding items previously imported into DevRev. It also creates new items in DevRev for any new item or article created in ServiceNow KB after the last sync or import.\\n* View Report\\n\\n This option allows you to access detailed information about the initial import and any subsequent syncs performed.\\n* Delete Import\\n\\n If you want", + "title": "ServiceNow KB AirSync | AirSync | Snap-ins | DevRev" } ] }, @@ -624,15 +624,25 @@ "text": "objects of type\\n **Issue** or **Ticket** are created in DevRev.\\n2. **Text command**: This manual trigger is achieved by utilizing a slash\\n command in the **Discussions** tab of the objects that support this feature.\\n\\n#### Action\\n\\nTo implement the desired action of adding a comment to the object timeline, it\\nis essential to identify the appropriate [API]\\nfor this task. In this scenario, the `/timeline-entries.create` API is the\\ndesignated choice for executing the action of adding a", "title": "Snap-in triggered by a DevRev event | DevRev | Docs" }, + { + "id": "ART-1485_KNOWLEDGE_NODE-10", + "text": "invoke the snap-in, two distinct triggers are implemented:\\n\\n 1. **Creation of work item** : This trigger is activated when new objects of type **Issue** or **Ticket** are created in DevRev.\\n\\n 2. **Text command** : This manual trigger is achieved by utilizing a slash command in the **Discussions** tab of the objects that support this feature.\\n\\n#### Action\\n\\nTo implement the desired action of adding a comment to the object timeline, it is essential to identify the appropriate [API] for", + "title": "Snap-in triggered by a DevRev event \u2014 DevRev | Docs" + }, { "id": "ART-1265_KNOWLEDGE_NODE-9", "text": "timeline of an issue/ticket using the `timeline-entries.create` API with different visibilities. You can now use this to create comments on timeline using automation or manually based on your use case.\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/guides/webhooks)[#### Object customization\\n\\nNext](/guides/object-customization)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)\\n\\n![]()'", "title": "Restricted messages on a timeline | DevRev | Docs" }, { - "id": "ART-1425_KNOWLEDGE_NODE-2", - "text": "id=don:core:dvrv-us-1:devo/example:ticket/123:comment/comment-id\\n[/code] \\n \\nTry it\\n\\n200getExample\\n\\n[code]\\n\\n 1| { \\n ---|--- \\n 2| \"timeline_entry\": { \\n 3| \"created_by\": { \\n 4| \"display_id\": \"foo\", \\n 5| \"id\": \"foo\", \\n 6| \"display_name\": \"foo\", \\n 7| \"display_picture\": { \\n 8| \"display_id\": \"foo\", \\n 9| \"id\": \"foo\", \\n 10| \"file\": { \\n 11| \"type\": \"foo\", \\n 12|", - "title": "Get Timeline Entry \u2014 DevRev | Docs" + "id": "ART-1471_KNOWLEDGE_NODE-1", + "text": "timeline of an object by using the `timeline-entries-create` API. These messages are only visible to the specific users you give access to.\\n\\nThe [timeline entries](/public/api-reference/timeline-entries/create) API is used to create discussions (comments) on the timeline of an object such as a ticket or issue. These messages can be sent by users or by a bot. You can use this to send any information about a customer like their last logged in date and time, the last page they visited, or an", + "title": "Restricted messages on a timeline \u2014 DevRev | Docs" + }, + { + "id": "ART-1485_KNOWLEDGE_NODE-19", + "text": "comment on a DevRev work item created. \\n 5| - name: function_2 \\n 6| description: \\n 7| Function to create a timeline entry comment on a DevRev work item on which \\n 8| comment is added.\\n[/code] \\n \\n[6](/public/snapin-development/tutorials/triggered-event#automations)\\n\\n### Automations\\n\\nWith the building blocks in place, the final piece of the puzzle involves defining automations. These automations encapsulate a trigger and a corresponding function that", + "title": "Snap-in triggered by a DevRev event \u2014 DevRev | Docs" }, { "id": "ART-1471_KNOWLEDGE_NODE-9", @@ -640,34 +650,24 @@ "title": "Restricted messages on a timeline \u2014 DevRev | Docs" }, { - "id": "ART-4184_KNOWLEDGE_NODE-28", - "text": "relationships.\\n\\n![]()\\n\\n* Comments synchronize only between directly linked items.\\n* Editing a comment after synchronization does not update the synchronized copies.\\n* Ticket threads are not fully supported yet. DevRev supports only one level of nesting; threaded comments in tickets are supported as flat items.\\n\\n[PreviousTicket approval workflow](/docs/automations/ticket-approval-workflow)[NextSlack message agent](/docs/automations/slack-message-agent)\\n\\n#### On this page\\n\\n* [Key", - "title": "Ticket linked issues comment sync | Automate | Snap-ins | DevRev" + "id": "ART-1473_KNOWLEDGE_NODE-25", + "text": "append the commit message to the body of the comment \\n 18| let bodyComment = \"\"; \\n 19| for (const commit of commits) { \\n 20| bodyComment += commit.message + \"\\\\n\"; \\n 21| } \\n 22| \\n 23| // Prepare the body for creating a timeline comment \\n 24| const body = { \\n 25| body: bodyComment, \\n 26| object: partID, \\n 27| type: \"timeline_comment\", \\n 28| }; \\n 29| \\n 30| // Create a timeline comment using the DevRev", + "title": "Snap-in triggered by an external source \u2014 DevRev | Docs" }, { - "id": "ART-1227_KNOWLEDGE_NODE-6", - "text": "|\\n```\\n\\nCreates a new entry on an object\\'s timeline.\\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\\ntimeline\\\\_commentobjectRequired\\n\\nShow 9 properties\\n\\n### Response\\n\\nThe response to creating a timeline entry for an object.\\n\\ntimeline\\\\_entryobject\\n\\nShow 1 variants\\n\\n### Errors\\n\\n400\\n\\nBad Request Error\\n\\n401\\n\\nUnauthorized", - "title": "Create Timeline Entry | DevRev | Docs" + "id": "ART-1265_KNOWLEDGE_NODE-1", + "text": "page\\n\\nIntroduction\\n------------\\n\\nIn this tutorial, you\\xe2\\x80\\x99ll learn how to send restricted visibility messages on the timeline of an object by using the `timeline-entries-create` API. These messages are only visible to the specific users you give access to.\\n\\nThe [timeline entries](/api-reference/timeline-entries/create) API is used to create discussions (comments) on the timeline of an object such as a ticket or issue. These messages can be sent by users or by a bot.\\nYou can use", + "title": "Restricted messages on a timeline | DevRev | Docs" }, { - "id": "ART-4184_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-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-4184_KNOWLEDGE_NODE-24", - "text": "[Product demos](/docs/DevRevU/demos)\\n\\nOn this page\\n\\n* [Key features](#key-features)\\n* [Installation and configuration](#installation-and-configuration)\\n* [Prerequisites](#prerequisites)\\n* [Setup steps](#setup-steps)\\n\\n1. [Documentation](/docs)\\n3. [Snap-ins](/docs/snapins)\\n[Automate](/docs/automate)\\n[Ticket linked issues comment sync](/docs/automations/ticket-linked-issues-comment-sync)\\n\\nTicket linked issues comment sync\\n=================================\\n\\nThe **Ticket Linked", - "title": "Ticket linked issues comment sync | Automate | Snap-ins | DevRev" - }, - { - "id": "ART-1227_KNOWLEDGE_NODE-1", - "text": "\\\\ |\\n| > | -H \"Authorization: Bearer \" \\\\ |\\n| > | -H \"Content-Type: application/json\" \\\\ |\\n| > | -d \\'{}\\' |\\n```\\n\\n[Try it](/api-reference/timeline-entries/create?explorer=true)\\n\\n201Created\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | { |\\n| 2 | \"timeline_entry\": { |\\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\": {", - "title": "Create Timeline Entry | DevRev | Docs" - }, - { - "id": "ART-1435_KNOWLEDGE_NODE-2", - "text": "\"Content-Type: application/json\" \\\\ \\n >| -d \\'{ \\n >| \"id\": \"don:core:dvrv-us-1:devo/example:ticket/123:comment/comment-id\" \\n >| }\\'\\n[/code] \\n \\nTry it\\n\\n200timelineEntriesGetPostExample\\n\\n[code]\\n\\n 1| { \\n ---|--- \\n 2| \"timeline_entry\": { \\n 3| \"created_by\": { \\n 4| \"display_id\": \"foo\", \\n 5| \"id\": \"foo\", \\n 6| \"display_name\": \"foo\", \\n 7| \"display_picture\": { \\n 8| \"display_id\": \"foo\", \\n", - "title": "Get Timeline Entry (POST) \u2014 DevRev | Docs" + "id": "ART-1485_KNOWLEDGE_NODE-21", + "text": "within the manifest file:\\n[code]\\n\\n 1| commands: \\n ---|--- \\n 2| - name: comment_here \\n 3| namespace: devrev \\n 4| description: Command to trigger function to add comment to this work item. \\n 5| surfaces: \\n 6| - surface: discussions \\n 7| object_types: \\n 8| - issue \\n 9| - ticket \\n 10| usage_hint: \"Command to add comment to this work item.\" \\n 11| function: function_2\\n[/code] \\n", + "title": "Snap-in triggered by a DevRev event \u2014 DevRev | Docs" } ] }, @@ -675,11 +675,6 @@ "query_id": "3abb74c9-639f-4252-955c-3cfaa8bf6795", "query": "DevRev Bot groups created from airdrops", "retrievals": [ - { - "id": "ART-1591_KNOWLEDGE_NODE-149", - "text": "groups based on the group type.\\nAllowed values: dynamic static\\ningestion_source \"airdrop\" or \"scim\" Optional\\nFilter groups by ingestion source(s).\\nAllowed values: airdrop scim\\nis_default boolean Optional\\nWhether to fetch default or custom groups.\\nlimit integer Optional\\nThe maximum number of groups to return. The default is \\'50\\'.\\nmember_type \"dev_user\" or \"rev_user\" Optional\\nFilters the groups on basis of member type.\\nAllowed values: dev_user rev_user\\nmode \"after\" or \"before\"", - "title": "Create \u2014 DevRev | Docs" - }, { "id": "ART-1605_KNOWLEDGE_NODE-149", "text": "groups based on the group type.\\nAllowed values: dynamic static\\ningestion_source \"airdrop\" or \"scim\" Optional\\nFilter groups by ingestion source(s).\\nAllowed values: airdrop scim\\nis_default boolean Optional\\nWhether to fetch default or custom groups.\\nlimit integer Optional\\nThe maximum number of groups to return. The default is \\'50\\'.\\nmember_type \"dev_user\" or \"rev_user\" Optional\\nFilters the groups on basis of member type.\\nAllowed values: dev_user rev_user\\nmode \"after\" or \"before\"", @@ -696,34 +691,39 @@ "title": "Create \u2014 DevRev | Docs" }, { - "id": "ART-1822_KNOWLEDGE_NODE-149", + "id": "ART-1832_KNOWLEDGE_NODE-149", "text": "groups based on the group type.\\nAllowed values: dynamic static\\ningestion_source \"airdrop\" or \"scim\" Optional\\nFilter groups by ingestion source(s).\\nAllowed values: airdrop scim\\nis_default boolean Optional\\nWhether to fetch default or custom groups.\\nlimit integer Optional\\nThe maximum number of groups to return. The default is \\'50\\'.\\nmember_type \"dev_user\" or \"rev_user\" Optional\\nFilters the groups on basis of member type.\\nAllowed values: dev_user rev_user\\nmode \"after\" or \"before\"", "title": "Create \u2014 DevRev | Docs" }, { - "id": "ART-1832_KNOWLEDGE_NODE-149", + "id": "ART-1591_KNOWLEDGE_NODE-149", "text": "groups based on the group type.\\nAllowed values: dynamic static\\ningestion_source \"airdrop\" or \"scim\" Optional\\nFilter groups by ingestion source(s).\\nAllowed values: airdrop scim\\nis_default boolean Optional\\nWhether to fetch default or custom groups.\\nlimit integer Optional\\nThe maximum number of groups to return. The default is \\'50\\'.\\nmember_type \"dev_user\" or \"rev_user\" Optional\\nFilters the groups on basis of member type.\\nAllowed values: dev_user rev_user\\nmode \"after\" or \"before\"", "title": "Create \u2014 DevRev | Docs" }, { - "id": "ART-1300_KNOWLEDGE_NODE-153", - "text": "iteration starts from the beginning.\\ngroup_type \"dynamic\" or \"static\" Optional\\nFilters the groups based on the group type.\\nAllowed values: dynamic static\\ningestion_source \"airdrop\" or \"scim\" Optional\\nFilter groups by ingestion source(s).\\nAllowed values: airdrop scim\\nis_default boolean Optional\\nWhether to fetch default or custom groups.\\nlimit integer Optional\\nThe maximum number of groups to return. The default is \\'50\\'.\\nmember_type \"dev_user\" or \"rev_user\" Optional\\nFilters the", + "id": "ART-1822_KNOWLEDGE_NODE-149", + "text": "groups based on the group type.\\nAllowed values: dynamic static\\ningestion_source \"airdrop\" or \"scim\" Optional\\nFilter groups by ingestion source(s).\\nAllowed values: airdrop scim\\nis_default boolean Optional\\nWhether to fetch default or custom groups.\\nlimit integer Optional\\nThe maximum number of groups to return. The default is \\'50\\'.\\nmember_type \"dev_user\" or \"rev_user\" Optional\\nFilters the groups on basis of member type.\\nAllowed values: dev_user rev_user\\nmode \"after\" or \"before\"", "title": "Create \u2014 DevRev | Docs" }, { - "id": "ART-1637_KNOWLEDGE_NODE-149", - "text": "groups based on the group type.\\nAllowed values: dynamic static\\ningestion_source \"airdrop\" or \"scim\" Optional\\nFilter groups by ingestion source(s).\\nAllowed values: airdrop scim\\nis_default boolean Optional\\nWhether to fetch default or custom groups.\\nlimit integer Optional\\nThe maximum number of groups to return. The default is \\'50\\'.\\nmember_type \"dev_user\" or \"rev_user\" Optional\\nFilters the groups on basis of member type.\\nAllowed values: dev_user rev_user\\nmode \"after\" or \"before\"", - "title": "Delete \u2014 DevRev | Docs" + "id": "ART-4078_KNOWLEDGE_NODE-7", + "text": "[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 * [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 *", + "title": "Create Group \u2014 DevRev | Docs" }, { - "id": "ART-1821_KNOWLEDGE_NODE-149", - "text": "groups based on the group type.\\nAllowed values: dynamic static\\ningestion_source \"airdrop\" or \"scim\" Optional\\nFilter groups by ingestion source(s).\\nAllowed values: airdrop scim\\nis_default boolean Optional\\nWhether to fetch default or custom groups.\\nlimit integer Optional\\nThe maximum number of groups to return. The default is \\'50\\'.\\nmember_type \"dev_user\" or \"rev_user\" Optional\\nFilters the groups on basis of member type.\\nAllowed values: dev_user rev_user\\nmode \"after\" or \"before\"", - "title": "Delete \u2014 DevRev | Docs" + "id": "ART-10699_KNOWLEDGE_NODE-1", + "text": "These permissions will only take effect for the issue subtypes that were imported from the selected project. When group memberships or permission scheme change in Jira, the next sync will bring these changes to DevRev, and in this mode, it's advisable to make any manual changes to group memberships or the permission scheme in the external system, as the permissions, groups and group memberships are only synced to DevRev, never from DevRev to Jira.When deselecting a single one of these during", + "title": "Airdropping permissions and groups from Jira" }, { - "id": "ART-1824_KNOWLEDGE_NODE-149", - "text": "groups based on the group type.\\nAllowed values: dynamic static\\ningestion_source \"airdrop\" or \"scim\" Optional\\nFilter groups by ingestion source(s).\\nAllowed values: airdrop scim\\nis_default boolean Optional\\nWhether to fetch default or custom groups.\\nlimit integer Optional\\nThe maximum number of groups to return. The default is \\'50\\'.\\nmember_type \"dev_user\" or \"rev_user\" Optional\\nFilters the groups on basis of member type.\\nAllowed values: dev_user rev_user\\nmode \"after\" or \"before\"", - "title": "Delete \u2014 DevRev | Docs" + "id": "ART-1948_KNOWLEDGE_NODE-22", + "text": "AirSync](/docs/integrations/gitbook)\\n - [DevRev AirSync](/docs/integrations/devrev-airdrop)\\n - [GitHub Issues AirSync](/docs/integrations/github-airdrop)\\n - [Paligo AirSync](/docs/integrations/paligo)\\n - [Jira Service Management AirSync](/docs/integrations/jsm)\\n - [BrowserStack AirSync](/docs/integrations/browserstack)\\n* [Changelog](/docs/changelog)\\n\\n + [August 2025](/docs/changelog/latest)\\n + [July 2025](/docs/changelog/_2025-07-01)\\n + [June", + "title": "Groups | Computer by DevRev | DevRev" + }, + { + "id": "ART-10699_KNOWLEDGE_NODE-0", + "text": "b\"After data extraction is completed a mapping step is required. In this mapping screen, the Jira snap-in offers to import groups, group members and authorization policies (which are taken from the Jira project permission scheme) alongside other items. If you wish direct manual control over the permissions for the imported items in DevRev you will want to deselect them. If however you wish to import the permission scheme for CRUD operations on the imported issues, you can leave them selected.", + "title": "Airdropping permissions and groups from Jira" } ] }, @@ -731,40 +731,30 @@ "query_id": "a15290e1-d40b-4422-b5ea-170576843e89", "query": "SLA for Next Response stop when stage is moved back to Awaiting Customer", "retrievals": [ - { - "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-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-1974_KNOWLEDGE_NODE-32", - "text": "have been completed the stage transitions to *needs response* to bring to the customer experience engineer's attention. Upon review they may put the conversation back on *hold* to re-escalate the item. If the dependencies seem to be resolved the customer experience engineer responds to the customer and the stage transitions to *waiting on user*.\\n\\n**Closed**\\n\\n* *Resolved* (R)\\n\\n The final target stage for conversations. It means that the customer's concerns which led to the conversation", - "title": "Conversations | 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", + "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-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", + "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-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-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-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-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-1981_KNOWLEDGE_NODE-27", @@ -772,14 +762,24 @@ "title": "Support best practices | 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-1979_KNOWLEDGE_NODE-46", + "text": "resolved the customer's concern the stage can move to *resolved*.\\n* Awaiting development (AD)\\n\\n The issues on which the user's concern relies for resolution are planned but not active, when development on the issue begins the stage transitions to *In development*.\\n* In development (ID)\\n\\n The issues on which the user's concern relies for resolution are actively being worked on. Once the development process begins, the stage may go from *in development* to *awaiting customer response* to", + "title": "Tickets | Computer for Support Teams | DevRev" }, { "id": "ART-1979_KNOWLEDGE_NODE-44", "text": "progress* as the customer experience engineer continues to work on it.\\n* *Awaiting product assist* (APA)\\n\\n The customer experience engineer is waiting for a response or feedback from someone internally. They may need to escalate the ticket. There may be a corresponding [issue](./issues) created to fix the defect, which would transition the stage to *awaiting development*.\\n* Awaiting customer response (ACR)\\n\\n The customer experience engineer requires more detail or another response from", "title": "Tickets | 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-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" } ] }, @@ -793,49 +793,49 @@ "title": "February 2025 | Changelog | DevRev" }, { - "id": "ART-2017_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": "SLA status change Slack notifier | Automate | Snap-ins | DevRev" + "id": "ART-16749_KNOWLEDGE_NODE-0", + "text": "b'This error usually occurs when the mapping request is sent with stale data. It happens when the blueprint or status version in your browser is outdated compared to the server.\\n\\nTo confirm:\\n\\nOpen the Network tab in your browser\\xe2\\x80\\x99s developer tools.\\n\\nCheck the response to the low-code POST request.\\n\\nResponse should look like this:{\\n \"message\": \"recipe-manager-RecipeManagerInvalidArgument-Unspecified: blueprint or status version changed: was 9_9 on the server and 8_8 in the", + "title": "Troubleshooting Airdrop Mapping Error: \u201cSomething Went Wrong\u201d" }, { - "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-2035_KNOWLEDGE_NODE-54", + "text": "given DevRev user - Can be used to later send direct messages to the user on the Slack using Send message to Slack node. | - Slack connection - DevRev user id | - Slack user id |\\n| Start Thread Sync | - Set up 2 way message synchronization between a Slack thread and a DevRev object discussion. | - Slack connection - DevRev Object ID - Slack channel ID - Slack thread ID (message ID of parent message, returned by send message to Slack workflow node) | N/A |\\n| Start Channel Sync | -", + "title": "Slack | Integrate | Snap-ins | DevRev" }, { - "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", + "id": "ART-2035_KNOWLEDGE_NODE-51", + "text": "Slack.\\n\\nFor example:\\n\\n* /devrev view TKT-#\\n* /devrev view ISS-#\\n\\nThese commands open the specific object mentioned in the command.\\n\\nCreating custom workflows\\n-------------------------\\n\\nThe users can configure their own workflows around Slack using DevRev's workflow engine.\\n\\n| Workflow Action | Description | Inputs | Outputs |\\n| --- | --- | --- | --- |\\n| Send message on Slack | - Use this workflow node to send a message to any Slack channel as long as the DevRev app has access to", "title": "Slack | Integrate | 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-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": "Slack message agent | Automate | Snap-ins | DevRev" }, { - "id": "ART-4199_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": "Slack message agent | Automate | Snap-ins | DevRev" + "id": "ART-10697_KNOWLEDGE_NODE-27", + "text": "bidirectional synchronization between DevRev objects and Slack channels.\\n* A workflow node has been added to create a Slack channel and automatically invite specified users.\\n* A random wait time (1-20 seconds) has been added before creating a conversation to prevent duplicate conversations on WhatsApp when messages are sent rapidly.\\n* Customer identification in Slack has been enhanced by resolving users via their Slack ID when their email is hidden.\\n* An optional field has been added to the", + "title": "February 2025 | Changelog | 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-12390_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": "Workflow action library | Workflows | Computer by DevRev | DevRev" }, { - "id": "ART-4199_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", + "id": "ART-4199_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": "Slack message agent | 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-4199_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": "Slack message agent | Automate | Snap-ins | DevRev" }, { - "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-12394_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": "Workflow management | Workflows | Computer by DevRev | DevRev" } ] }, @@ -844,54 +844,54 @@ "query": "change and customize chat design", "retrievals": [ { - "id": "ART-12974_KNOWLEDGE_NODE-2", - "text": "{ \\n ---|--- \\n 2| \"chat\": { \\n 3| \"type\": \"foo\" \\n 4| } \\n 5| }\\n[/code] \\n \\n[Create Code ChangeUp Next](/public/api-reference/code-changes/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": "Update Chat \u2014 DevRev | Docs" + "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", + "title": "Install PLuG chat on your website" }, { - "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" + "id": "ART-3109_KNOWLEDGE_NODE-29", + "text": "go to **Settings > Support > Plug Chat > Layout** through the settings icon on the top-left corner.\\n2. Select **Add a Card** and enter a title, description, image, and redirect URL.\\n3. Click **Save and Publish** in the top-right corner. The new card is visible in your Plug widget.\\n\\nWant to add more personalization to your Plug widget? Create your own. Visit [SDK Methods and Customization](https://developer.devrev.ai/sdks/web/customize) to create your own Plug from the ground", + "title": "Plug widget customization | Computer for Your Customers | DevRev" }, { - "id": "ART-2059_KNOWLEDGE_NODE-5", - "text": "Jul 06 to Jul 19, 2023 Jun 20 to Jul 05, 2023 Jun 05 to Jun 19, 2023 May 22 to Jun 05, 2023 Apr 22 to May 22, 2023\\n\\nDeveloper DevRevU\\n\\nOn this page\\nIntegration code Unique app ID Setup for HTML Setup for React\\nInstall PLuG chat on your website.\\n\\nThere are two primary methods to customize PLuG chat. The easiest way is to do so through the app by navigating to Settings > Support > PLuG Settings > Configuration, Styling and Layout Tabs.. For detailed descriptions of the parameters, refer", + "id": "ART-2059_KNOWLEDGE_NODE-4", + "text": "PLuG chat on your website Install PLuG search on your website Identify your users with PLuG Customize Nudges SDK\\n\\nChangelog\\n\\nSeptember 01 to September 30 August 01 to August 31 July 01 to July 31, 2024 June 01 to June 28, 2024 May 01 to May 31, 2024 April 01 to April 29, 2024 Mar 01 to Mar 29, 2024 Feb 10 to Feb 29, 2024 Jan 09, 2024 to Feb 09, 2024 Dec 08, 2023 to Jan 08, 2024 Nov 10 to Dec 07, 2023 Oct 13 to Nov 09, 2023 Sep 15 to Oct 12, 2023 Aug 17 to Sep 14, 2023 Jul 20 to Aug 16, 2023", "title": "Install PLuG chat on your website" }, { - "id": "ART-15306_KNOWLEDGE_NODE-0", - "text": "b'Update Chat | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nPublic\\n\\nPublic\\n\\nSearch\\n\\n`/`\\n\\n[API Reference](/api-reference/getting-started)[chats](/api-reference/chats/create)\\n\\nUpdate Chat\\n===========\\n\\nCopy page\\n\\nPOST\\n\\nhttps://api.devrev.ai/chats.update\\n\\nPOST\\n\\n/chats.update\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl -X POST https://api.devrev.ai/chats.update \\\\ |\\n| > | -H \"Authorization: Bearer \" \\\\ |\\n| > | -H \"Content-Type: application/json\" \\\\ |\\n|", - "title": "Update Chat | DevRev | Docs" + "id": "ART-3109_KNOWLEDGE_NODE-25", + "text": "Plug widget to reflect your unique identity truly.\\n\\nTo configure the appearance of your Plug widget, open your DevRev app and navigate to **Settings > Support > Plug Chat > Configuration, Styling, and Layout**.\\n\\n### Configuration\\n\\n* Hide Plug widget: Hide the Plug Widget on specific URLs by clicking **+ Rule** and adding the URLs you want to configure.\\n\\n### Styling\\n\\n* Launcher logo: The image that's visible as your widget icon. A 20-pixel square image is recommended.\\n* Alignment: The", + "title": "Plug widget customization | Computer for Your Customers | DevRev" }, { - "id": "ART-12971_KNOWLEDGE_NODE-3", - "text": ">| ] \\n >| }\\'\\n[/code] \\n \\nTry it\\n\\n201chatsCreateExample\\n\\n[code]\\n\\n 1| { \\n ---|--- \\n 2| \"chat\": { \\n 3| \"type\": \"foo\" \\n 4| } \\n 5| }\\n[/code] \\n \\n[Get ChatUp Next](/public/api-reference/chats/get)\\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": "Create Chat \u2014 DevRev | Docs" + "id": "ART-2059_KNOWLEDGE_NODE-5", + "text": "Jul 06 to Jul 19, 2023 Jun 20 to Jul 05, 2023 Jun 05 to Jun 19, 2023 May 22 to Jun 05, 2023 Apr 22 to May 22, 2023\\n\\nDeveloper DevRevU\\n\\nOn this page\\nIntegration code Unique app ID Setup for HTML Setup for React\\nInstall PLuG chat on your website.\\n\\nThere are two primary methods to customize PLuG chat. The easiest way is to do so through the app by navigating to Settings > Support > PLuG Settings > Configuration, Styling and Layout Tabs.. For detailed descriptions of the parameters, refer", + "title": "Install PLuG chat on your website" }, { - "id": "ART-12974_KNOWLEDGE_NODE-9", - "text": "demo](https://devrev.ai/request-a-demo)\\n\\n'", - "title": "Update Chat \u2014 DevRev | Docs" + "id": "ART-12449_KNOWLEDGE_NODE-16", + "text": "this stage, your app is fully configured to utilize all functionalities of the DevRev SDK. Pressing the support button directs the user to the chat interface, enabling effective interaction and support.\\n\\n### In-app link handling\\n\\nThe DevRev SDK provides a mechanism to handle links opened from within any screen that is part of the DevRev SDK.\\n\\nYou can fully customize the link handling behavior by setting the specialized in-app link handler. That way you can decide what should happen when a", + "title": "Features \u2014 DevRev | Docs" }, { - "id": "ART-15301_KNOWLEDGE_NODE-3", - "text": "with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", - "title": "Create Chat | DevRev | Docs" + "id": "ART-2665_KNOWLEDGE_NODE-31", + "text": "interactions occurring within the chat widget and search agent should be captured or not. | True |\\n| sessionDetails.sessionId | Field to pass session ID of the previous session to link. | null |\\n| sessionDetails.tabId | Field to pass the tab ID of the previous session to link. | null |\\n| maskTextFn | An option to customize the logic for masking sensitive text during session recording. This function accepts a callback that receives the text content and allows you to define how the text should", + "title": "Session recording options | Session analytics | Computer for Your Customers | DevRev" }, { - "id": "ART-3109_KNOWLEDGE_NODE-29", - "text": "go to **Settings > Support > Plug Chat > Layout** through the settings icon on the top-left corner.\\n2. Select **Add a Card** and enter a title, description, image, and redirect URL.\\n3. Click **Save and Publish** in the top-right corner. The new card is visible in your Plug widget.\\n\\nWant to add more personalization to your Plug widget? Create your own. Visit [SDK Methods and Customization](https://developer.devrev.ai/sdks/web/customize) to create your own Plug from the ground", - "title": "Plug widget customization | Computer for Your Customers | DevRev" + "id": "ART-12974_KNOWLEDGE_NODE-2", + "text": "{ \\n ---|--- \\n 2| \"chat\": { \\n 3| \"type\": \"foo\" \\n 4| } \\n 5| }\\n[/code] \\n \\n[Create Code ChangeUp Next](/public/api-reference/code-changes/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": "Update Chat \u2014 DevRev | Docs" }, { - "id": "ART-2897_KNOWLEDGE_NODE-7", - "text": "button text for new tickets and conversations, conversation user text, and more. It must be a valid hex color code, such as `#f0f0f0`.| String \\n`session_recording_options`| Options for recording observability sessions.| Refer to [Session recording options](https://devrev.ai/docs/plug/session-recording) \\n`accent_color`| The accent color of the PLuG affects the launcher, new ticket and conversation buttons, conversation user text, and more.| String \\n`custom_launcher_selector`| A CSS", - "title": "Methods \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" }, { - "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-15301_KNOWLEDGE_NODE-1", + "text": "> | -d \\'{ |\\n| > | \"users\": [ |\\n| > | \"DEVU-12345\" |\\n| > | ] |\\n| > | }\\' |\\n```\\n\\n[Try it](/api-reference/chats/create?explorer=true)\\n\\n201Created\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | { |\\n| 2 | \"chat\": { |\\n| 3 | \"type\": \"string\" |\\n| 4 | } |\\n| 5 | } |\\n```\\n\\nCreates a new chat, or optionally opens an existing one.\\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", + "title": "Create Chat | DevRev | Docs" } ] }, @@ -900,9 +900,9 @@ "query": "Vista export as CSV error invalid_field sort_groups_by", "retrievals": [ { - "id": "ART-1949_KNOWLEDGE_NODE-27", - "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-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-6", @@ -910,44 +910,44 @@ "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", + "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-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-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-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-1302_KNOWLEDGE_NODE-157", + "text": "integer Optional\\nThe maximum number of groups to return. The default is \\'50\\'.\\nmember_type \"dev_user\" or \"rev_user\" Optional\\nFilters the groups on basis of member type.\\nAllowed values: dev_user rev_user\\nmode \"after\" or \"before\" 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", + "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-1949_KNOWLEDGE_NODE-27", + "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-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-15467_KNOWLEDGE_NODE-9", + "text": "etc.\\n\\nShow 14 enum values\\n\\nshared\\\\_withlist of objectsOptional\\n\\nFilter for vistas accessible to the input members.\\n\\nShow 2 properties\\n\\nskip\\\\_itemsbooleanOptional\\n\\nDenotes whether to skip items of vista\\\\_group\\\\_item in response.\\n\\nsort\\\\_bylist of stringsOptional\\n\\nFields to sort the vistas by and the direction to sort them.\\n\\nstatelist of enumsOptional\\n\\nDenotes the state of the vista group item.\\n\\nAllowed values:activecompletedplanned\\n\\n### Response\\n\\nThe response to", + "title": "List Vistas (POST) | 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-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" } ] }, @@ -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-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-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-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-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-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-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-1653_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 \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-1779_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 \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-1831_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 \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-1787_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 \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-1588_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 \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-1823_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 \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-1833_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 \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", + "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-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-984_KNOWLEDGE_NODE-25", + "text": "for sales visibility (or at least notifications).\\n\\nThe key is that some level of integration is necessary between systems to provide visibility without requiring people to\\nlook in different places unless you have a platform that handles these in a converged manner.\\n\\nWhy change\\n\\nThis will help facilitate the following:\\n\\n\\n Interactions are coordinated and consistent\\n Hand-offs are handled correctly\\n Customers won\\xe2\\x80\\x99t get tossed around or told different things by different", + "title": "Why you Should be Looking at Support Differently" }, { - "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-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-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-15510_KNOWLEDGE_NODE-4", + "text": "features of the DevRev SDK, user identification is required.\\n\\nThe identification function should be placed appropriately in your app after 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`", + "title": "Features | DevRev | Docs" }, { - "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-15515_KNOWLEDGE_NODE-5", + "text": "page\\n\\nIdentification\\n--------------\\n\\nTo access certain features of the DevRev SDK, user identification is required.\\n\\nThe identification function should be placed appropriately in your app after 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\\nIf you haven\\xe2\\x80\\x99t previously identified the user, the DevRev SDK will automatically create an anonymous user for you immediately after the", + "title": "Features | DevRev | Docs" }, { - "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-12604_KNOWLEDGE_NODE-0", + "text": "b\"DevRev Careers | Sales Development Representative \\n\\n* Product\\n* Platform\\n* Marketplace\\n* Company\\n* Resources\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nProduct\\n\\nPlatform\\n\\nMarketplace\\n\\nCompany\\n\\nResources\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\ncareers\\n\\nSales Development Representative\\n================================\\n\\nBengaluru, Karnataka,", + "title": "DevRev Careers | Sales Development Representative" }, { - "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-16579_KNOWLEDGE_NODE-6", + "text": "of the DevRev SDK, user identification is required.\\n\\nThe identification function should be placed appropriately in your app after 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", + "title": "Features | DevRev | Docs" }, { - "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-2901_KNOWLEDGE_NODE-9", + "text": "configure the SDK at the app\\xe2\\x80\\x99s entry point or initial view.\\n\\n## Identification\\n\\nTo access certain features of the DevRev SDK, user identification is required.\\n\\nThe identification function should be placed appropriately in your app after 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\\nIf you haven\\xe2\\x80\\x99t previously identified the user, the DevRev SDK will automatically", + "title": "iOS integration \u2014 DevRev | Docs" }, { - "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-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-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-12606_KNOWLEDGE_NODE-0", + "text": "b\"DevRev Careers | Revenue: Sales Development Representative\\n\\n* Product\\n* Platform\\n* Marketplace\\n* Company\\n* Resources\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\nProduct\\n\\nPlatform\\n\\nMarketplace\\n\\nCompany\\n\\nResources\\n\\n[Login](https://app.devrev.ai/login)[Book a demo](/request-a-demo)\\n\\ncareers\\n\\nRevenue: Sales Development Representative\\n=========================================\\n\\nBuenos Aires,", + "title": "DevRev Careers | Revenue: Sales Development Representative" } ] }, @@ -1072,25 +1072,35 @@ "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", + "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-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-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-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-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", - "title": "Links | DevRev | Docs" + "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-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-16189_KNOWLEDGE_NODE-7", + "text": "Computer CX Agent for in-app customer support\\n* Deployed advanced dashboards and analytics with Computer for User Insights\\n\\nA major breakthrough was the ability to sync issues **both ways** between JIRA and DevRev, streamlining collaboration:\\n\\nBeing able to link issues from JIRA back to DevRev, not just the other way around, is a huge time saver. We reduced our backlog by about a hundred tickets through this cleanup. We've come a long way, and efficiency has really been going", + "title": "FOSSA\u2019s Unified Support Strategy for Elevated Customer Experience" + }, + { + "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-4184_KNOWLEDGE_NODE-15", @@ -1098,24 +1108,14 @@ "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-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-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-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", + "title": "Tickets | Computer for Support Teams | 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" } ] }, @@ -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-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-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-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-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", + "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-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", + "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-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", + "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-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", + "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-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-15620_KNOWLEDGE_NODE-22", + "text": "orchestration vs. limited chatbot functionality\\n\\nGeographic Flexibility : Broader data residency options vs. limited regional availability Market Positioning Strategy Against Intercom\\'s Strengths\\n\\nOmnichannel Presence : Acknowledge multichannel value while emphasizing AI quality over quantity\\n\\nVisual Intelligence : Develop competitive visual AI capabilities for image understanding\\n\\nMarketing Integration : Consider support-marketing workflow integration for comprehensive", + "title": "Intercom - Competitive - for the PLuG on website" }, { - "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-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" } ] }, @@ -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-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-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-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-1996_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" + "id": "ART-17649_KNOWLEDGE_NODE-4", + "text": "sophisticated routing mechanisms\\n* Custom views and dashboards for different stakeholders\\n* Deterministic bot flow to guide customers through support experiences\\n* Comprehensive e2e testing to ensure reliability\\n\\n#### *We needed different instances on different paths of our website with separate memory and appearances. DevRev's architecture made this possible through multiple dev organizations.*\\xe2\\x80\\x9d\\n\\nThe impact\\n----------\\n\\n### Multiple customized support channels\\n\\nDevRev", + "title": "Leading APAC fintech transforms support with multi-instance AI solution" }, { - "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-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-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-12582_KNOWLEDGE_NODE-5", + "text": "and build quicker solutions\\n * Support DevRev users round the clock on different levels of queries\\n * Build Q&A pairs for the bot and think innovatively to empower the bot\\n * Understand customer signals, collaborate with customer success teams to avoid churn\\n * Ability to converse profoundly and suggest value add features to help customers enhance their business goals.\\n * Collaborate with cross functional teams like Sales, customer success, product, engineering and bots engineering.\\n", + "title": "DevRev Careers | Customer Support Engineering" }, { - "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-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-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-1954_KNOWLEDGE_NODE-36", + "text": "bot mentions will still appear in the **Others** tab.\\n\\nFollow conversations\\n--------------------\\n\\nTo receive updates about conversations in the Plug inbox, you must be a member of the support group. To manage membership of the support group go to [**Settings** > **Groups**](https://app.devrev.ai/devrev/settings/groups).\\n\\nFor more information about groups, refer to [Groups](/docs/product/groups).\\n\\nDaily email digest\\n------------------\\n\\nDevRev sends a daily email digest with a summary", + "title": "Updates | Computer by DevRev | DevRev" }, { - "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-2017_KNOWLEDGE_NODE-26", + "text": "permissions: channel-read, groups-read, user.profile:read, users:read, users.read:email, chat-write, and userGroup-read.\\n4. Invite the bot to the workspace.\\n5. Save the bot access token as connection (snap-in secret) in DevRev app.\\n6. Invite the bot to the channels where the messages will be sent.\\n7. In the 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 **+", + "title": "SLA status change Slack notifier | Automate | Snap-ins | DevRev" }, { - "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-12613_KNOWLEDGE_NODE-7", + "text": "requirements\\n* Should be comfortable in writing customizations using the below mentioned languages\\n* Ability to think outside the box and build quicker solutions\\n* Support DevRev users round the clock on different levels of queries\\n* Build Q&A pairs for the bot and think innovatively to empower the bot\\n* Understand customer signals, collaborate with customer success teams to avoid churn\\n* Ability to converse profoundly and suggest value add features to help customers enhance their", + "title": "DevRev Careers | Software Engineer - Applied AI Support" }, { - "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-968_KNOWLEDGE_NODE-3", + "text": "Slack user group as shown.\\n\\n\\xe2\\x97\\x8b Prerequisites:\\n1. A custom application has to be created in Slack by enabling read and write\\npermission to user groups and chat(to post messages to Slack) respectively.\\n> Steps to create and install the app at https://api.slack.com/apps are shown in the\\nvideo attached here. Ensure to copy the Bot Oauth token generated at the time of\\ninstalling the app to the Slack marketplace.\\n2. Please ensure to invite the created app/bot to the channel where", + "title": "Rocketium: On call Tagging - Slack" } ] }, @@ -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-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-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-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-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-1707_KNOWLEDGE_NODE-11", + "text": "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 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", + "title": "ICICI Prudential Life Insurance uses DevRev to slash resolution time by 95%" }, { - "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-1035_KNOWLEDGE_NODE-10", + "text": "resolution time by 95%](/case-study/icici-prudential-life)\\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 Computer](/meet-computer)\\n* [How Computer works](/how-computer-works)\\n\\nApps\\n\\n* [For Support Teams](/for-support-teams)\\n* [For", + "title": "Goodmeetings uses PLuG to reduce ticket resolution time" }, { - "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-1030_KNOWLEDGE_NODE-13", + "text": "scale](/case-study/skedulo)[![]()\\n\\n3 min read ICICI Prudential Life Insurance uses DevRev to slash resolution time by 95%](/case-study/icici-prudential-life)\\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 Computer](/meet-computer)\\n* [How Computer", + "title": "Jar improves customer insights and increased conversion rates using DevRev" }, { - "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-1870_KNOWLEDGE_NODE-13", + "text": "stakeholders see issue status in real time\\n* Teams consistently meet resolution time targets\\n* Customers receive faster resolutions and clearer communication\\n* Support operations grow smoothly with the business\\n\\nWe're a DevRev client, and it has been a game-changer for us.\\n\\n![]()\\n\\nTasso ArgyrosFounder & CEO, ActionIQ\\n\\nThe results\\n\\nSummary\\n\\nRapid resolution time\\n\\nBetter alignment between engineering and support teams cut median incident resolution times by 67% and reduced", + "title": "Unifying teams: How ActionIQ transformed support with integration" }, { - "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-1707_KNOWLEDGE_NODE-3", + "text": "overseeing the entire customer lifecycle. However, the app encountered technical issues that were affecting sales performance.\\n\\nAdditionally, the support team needed help grasping the issues reported by sales representatives. When they needed more information, the sales reps were often occupied with calls or unavailable to elaborate, leading to further delays in resolving these issues.\\n\\n### Blindspots in troubleshooting issues\\n\\nThe issue of limited ticket details extended from the support", + "title": "ICICI Prudential Life Insurance uses DevRev to slash resolution time by 95%" } ] }, @@ -1292,54 +1292,54 @@ "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-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-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-1473_KNOWLEDGE_NODE-9", "text": "displaying them on the discussion tab of the specified Product section. The configuration for this action can be customized through the input parameters of the snap-in.\\n\\n[2](/public/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 attributes in the snap-in\\xe2\\x80\\x99s manifest. Begin by specifying the name, description, and", "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-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-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-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-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", + "id": "ART-1472_KNOWLEDGE_NODE-29", + "text": "documentation](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens).\\n\\n#### Step 2: Add PAT to DevRev connections\\n\\nAdd the generated PAT as a snap-in secret in DevRev. This secret is used during the installation of the snap-in. Ensure that the secret is shared within the organization to allow the snap-in to access it.\\n\\n#### Step 3: Install the snap-in\\n\\nDuring the installation of the snap-in, utilize the shared secret to", "title": "Using a snap-in to perform an external action \u2014 DevRev | Docs" }, { - "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-1276_KNOWLEDGE_NODE-24", + "text": "Token (PAT) by following the steps outlined in the [GitHub documentation](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens).\\n\\n#### Step 2: Add PAT to DevRev connections\\n\\nAdd the generated PAT as a snap-in secret in DevRev. This secret is used during the installation of the snap-in. Ensure that the secret is shared within the organization to allow the snap-in to access it.\\n\\n#### Step 3: Install the snap-in\\n\\nDuring the", + "title": "Using a snap-in to perform an external action | DevRev | Docs" }, { - "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-1472_KNOWLEDGE_NODE-28", + "text": "itself. Before installing the snap-in, it\\xe2\\x80\\x99s essential to set up a GitHub Personal Access Token (PAT) and add it to the connections in DevRev as a snap-in secret. Ensure that the secret is shared within the organization so that the snap-in can utilize it.\\n\\nFollow these steps to install the snap-in in your organization:\\n\\n#### Step 1: Create a GitHub personal access token\\n\\nGenerate a GitHub Personal Access Token (PAT) by following the steps outlined in the [GitHub", + "title": "Using a snap-in to perform an external action \u2014 DevRev | Docs" + }, + { + "id": "ART-1276_KNOWLEDGE_NODE-23", + "text": "involve creating the snap-in version and subsequently creating the snap-in itself. Before installing the snap-in, it\\xe2\\x80\\x99s essential to set up a GitHub Personal Access Token (PAT) and add it to the connections in DevRev as a snap-in secret. Ensure that the secret is shared within the organization so that the snap-in can utilize it.\\n\\nFollow these steps to install the snap-in in your organization:\\n\\n#### Step 1: Create a GitHub personal access token\\n\\nGenerate a GitHub Personal Access", + "title": "Using a snap-in to perform an external action | DevRev | Docs" } ] }, @@ -1348,19 +1348,14 @@ "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-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-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-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-968_KNOWLEDGE_NODE-1", + "text": "stays in Slack and doesn\\xe2\\x80\\x99t extend to DevRev tickets.\\n\\n\\xe2\\x97\\x8f Solution:\\nDeveloped by: Hariharan\\nStatus: Tested and verified.\\nCustomer Approval: Approved\\n\\xe2\\x97\\x8b Brief:\\nCustom Snap-in connected with a custom Slack application that would automatically tag\\nthe on-call members upon ticket creation at Slack.\\n\\n\\xe2\\x97\\x8b Description:\\nA custom application in Slack marketplace is to be created which would perform the\\ntagging by referencing the group members in Slack.", + "title": "Rocketium: On call Tagging - Slack" }, { "id": "ART-4199_KNOWLEDGE_NODE-28", @@ -1368,34 +1363,39 @@ "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-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-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-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-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 message agent | Automate | Snap-ins | DevRev" + "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-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", - "title": "Slack message agent | Automate | Snap-ins | DevRev" + "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-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" + }, + { + "id": "ART-968_KNOWLEDGE_NODE-0", + "text": "b'Rocketium: Slack - On-call Tagging\\n\\n\\xe2\\x97\\x8f Problem statement:\\n\\xe2\\x97\\x8b Rocketium\\xe2\\x80\\x99s CS team creates tickets in DevRev from a specific Slack channel for their\\non-call team to address and work on them.\\n\\xe2\\x97\\x8b Currently, the users are required to manually tag the on-call Slack group members in\\nthe ticket description as shown in the image below.\\n\\n\\xe2\\x97\\x8b The requirement is to automatically tag the members without manual intervention.\\nNote: The requirement", + "title": "Rocketium: On call Tagging - Slack" } ] }, @@ -1403,20 +1403,25 @@ "query_id": "17d61e6f-209e-43f7-bac4-61f02c5a63f1", "query": "customizar severity de los tickets", "retrievals": [ + { + "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-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-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", - "title": "Create \u2014 DevRev | Docs" + "id": "ART-1562_KNOWLEDGE_NODE-507", + "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": "Get (Beta) \u2014 DevRev | Docs" }, { "id": "ART-1979_KNOWLEDGE_NODE-29", @@ -1424,34 +1429,29 @@ "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-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-1564_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": "List (Beta) \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", - "title": "Create \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-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", - "title": "Delete \u2014 DevRev | Docs" + "id": "ART-1641_KNOWLEDGE_NODE-474", + "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": "Get Post \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-1605_KNOWLEDGE_NODE-448", + "text": "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 provided", + "title": "Create \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-1785_KNOWLEDGE_NODE-446", + "text": "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 provided", + "title": "Create \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-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-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-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-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-1004_KNOWLEDGE_NODE-12", + "text": "The percentage of support tickets resolved by a support engineer during the first interaction with the customer, which can indicate the engineer\\xe2\\x80\\x99s efficiency and problem-solving abilities.\\n \\n \\n Calculation\\n \\n (Total number of tickets resolved on first contact by the engineer) / (Total number of tickets handled by the engineer) * 100\\n \\n \\n\\n\\nTraining Hours per Employee\\n\\n\\n Definition\\n \\n The average number of training hours completed by a", + "title": "Understanding a Support Engineer's Pain Points and KPIs" }, { - "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-1004_KNOWLEDGE_NODE-8", + "text": "EXTRACT(@period FROM CURRENT_DATE)\\nGROUP BY engineer_id;\\n-- NOTE: Replace @period with 'DAY', 'WEEK', 'MONTH', or 'QUARTER'.\\n\\n\\nIndividual Ticket Volume\\n\\n\\n Definition\\n \\n The number of support tickets handled by a specific engineer, which can help identify workload distribution and skill set alignment.\\n \\n \\n Calculation\\n \\n Total number of tickets handled by the engineer during a specific period\\n \\n \\n\\n\\nSELECT engineer_id, COUNT(*) AS TicketVolume\\nFROM", + "title": "Understanding a Support Engineer's Pain Points and KPIs" }, { - "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-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-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-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-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-1974_KNOWLEDGE_NODE-31", + "text": "transitions to *hold* since the customer experience engineer is blocked by a dependent item.\\n\\n Conversations which need a response from the customer experience engineer shows a **Reply** button in the inbox.\\n* *Hold* (H)\\n\\n The resolution is waiting on some dependent item. Dependencies may include review from someone other than the customer experience engineer (for example, SME, manager, PM, developer) or the completion of other work items (tickets or issues).\\n\\n When the dependencies", + "title": "Conversations | Computer for Support Teams | 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-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-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-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": "Conversation to ticket conversion | 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-6174_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": "Conversation to ticket conversion | Conversations | Computer for Support Teams | 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-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-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-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-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\": {", + "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-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", - "title": "Update Incident | DevRev | Docs" + "id": "ART-2913_KNOWLEDGE_NODE-30", + "text": "incident notes.\\n* **Update PagerDuty Incident Name**: Toggle whether PagerDuty incident titles\\n should be updated with the respective DevRev incident's ID.\\n\\n The format is: **[INC-XXX] - Original Incident Title**.\\n* **Default PagerDuty Service Runnable Part** (optional): Specify the default\\n runnable part to be used when no impacted part is selected on incident\\n creation.\\n\\n Select a runnable part that is mapped to a PagerDuty service.\\n* **Default PagerDuty Escalation Policy ID**", + "title": "PagerDuty | Integrate | Snap-ins | DevRev" }, { - "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-1801_KNOWLEDGE_NODE-195", + "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": "Get \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-1308_KNOWLEDGE_NODE-196", + "text": "Optional\\nSeverity of the incident.\\nsource long Optional\\nSource of where the incident was created. Only sys users and service accounts are supposed to set this field.\\nstage object Optional\\nUpdate object for Stage.\\nShow 2 properties\\nstakeholders object Optional\\nShow property\\ntags object Optional\\nShow property\\ntarget_close_date datetime Optional\\nTimestamp when the incident is expected to be resolved.\\ntitle string Optional\\nTitle of the incident.\\nResponse.\\n\\nThis endpoint returns an", + "title": "Update \u2014 DevRev | Docs" }, { - "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-1300_KNOWLEDGE_NODE-193", + "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": "Create \u2014 DevRev | Docs" }, { - "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 |", + "id": "ART-4133_KNOWLEDGE_NODE-7", + "text": "104 | { |\\n| 105 | \"display_id\": \"string\", |\\n| 106 | \"id\": \"string\", |\\n| 107 | \"display_name\": \"string\", |\\n| 108 | \"display_picture\": { |\\n| 109 | \"display_id\": \"string\", |\\n| 110 | \"id\": \"string\", |\\n| 111 | \"file\": { |\\n| 112 | \"type\": \"string\", |\\n| 113 | \"name\": \"string\", |\\n| 114 | \"size\": 1 |\\n| 115 | } |\\n| 116 | }, |\\n| 117 | \"email\": \"string\", |\\n| 118 | \"full_name\": \"string\", |\\n| 119 | \"state\": \"active\" |\\n| 120 | } |\\n| 121 | ], |\\n| 122 | \"pia\": [ |\\n| 123 | { |\\n| 124 | \"id\":", "title": "Update Incident | 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-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-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-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" } ] }, @@ -1572,14 +1572,9 @@ "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-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", - "title": "Search | Computer by DevRev | DevRev" + "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-1242_KNOWLEDGE_NODE-0", @@ -1587,24 +1582,29 @@ "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", + "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", "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-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-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-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-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-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-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", @@ -1612,14 +1612,14 @@ "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", - "title": "Ticket issue field migrator | Automate | Snap-ins | DevRev" + "id": "ART-1301_KNOWLEDGE_NODE-466", + "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": "Delete \u2014 DevRev | Docs" }, { - "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-1786_KNOWLEDGE_NODE-461", + "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": "Delete \u2014 DevRev | Docs" } ] }, @@ -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", + "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-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-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-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-1470_KNOWLEDGE_NODE-5", + "text": "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](/public/snapin-development/tutorials/getting-started#before-you-begin)\\n\\n### Before you begin\\n\\n * Install [DevRev CLI](/public/snapin-development/references/cli-install)\\n * Install", + "title": "Getting started \u2014 DevRev | Docs" }, { - "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-1275_KNOWLEDGE_NODE-13", + "text": "is:\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | { |\\n| 2 | payload:Record |\\n| 3 | context: { |\\n| 4 | \"dev_oid\": string, |\\n| 5 | \"source_id\":string, |\\n| 6 | \"snap_in_id\": string, |\\n| 7 | \"snap_in_version_id\":string, |\\n| 8 | \"service_account_id\":string, |\\n| 9 | \"secrets\": { |\\n| 10 | \"service_account_token\": [SECRET], |\\n| 11 | ... |\\n| 12 | }, |\\n| 13 | }, |\\n| 14 | execution_metadata: { |\\n| 15 | \"request_id\":string, |\\n| 16 | \"function_name\": string, |\\n| 17 | \"event_type\":", + "title": "Using a snap-in to perform a DevRev action | DevRev | Docs" }, { - "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-1274_KNOWLEDGE_NODE-16", + "text": "information.\\n\\n[7](/snapin-development/tutorials/getting-started#configure-the-snap-in)\\n\\n### Configure the snap-in\\n\\nThe snap-in is installed in draft state. It may require some configuration before it can be deployed.\\n\\nYou can access snap-in configuration by using the URL generated by the draft command, or by navigating to the snap-ins page in the DevRev app.\\n\\nFollow the configuration steps for the snap-in to setup keyrings and inputs if any.\\n\\n##### \\n\\nPrivate keyrings from other", + "title": "Getting started | DevRev | Docs" }, { - "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-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-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-1275_KNOWLEDGE_NODE-4", + "text": "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 started](/snapin-development/tutorials/getting-started) tutorial then follow these steps to authenticate and initialize the snap-in TypeScript template:\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | devrev profiles authenticate -o -u |\\n```\\n\\n```\\n| | |\\n| --- | --- |\\n| $ |", + "title": "Using a snap-in to perform a DevRev action | DevRev | Docs" }, { - "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-1272_KNOWLEDGE_NODE-3", + "text": "actions enriched by context.\\n\\nSnap-in\\n-------\\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. With snap-ins, developers can develop at \\xe2\\x80\\x9carms-length\\xe2\\x80\\x9d and without making any changes to DevRev\\xe2\\x80\\x99s core platform.\\n\\nSnap-in developers interact with DevRev objects through APIs, get updates on DevRev objects through webhooks, and register", + "title": "Concepts | DevRev | Docs" } ] }, @@ -1683,30 +1683,25 @@ "query_id": "51b684c7-7de7-4c12-aecb-043d082158a5", "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-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-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", + "id": "ART-15716_KNOWLEDGE_NODE-0", + "text": "b'Support QueryIntegration and API Questions\\n\\nAPI Support in DevRev\\n\\nYes, DevRev provides robust APIs for automation, integration, and custom workflows. You can use REST APIs to interact with tickets, issues, users, and more.\\n\\n[Learn more about DevRev APIs](https://devrev.ai/docs/api)\\n\\n2. Slack User Permissions Needed for Slack Integration\\n\\nTo integrate DevRev with Slack, you need to be a Slack workspace admin or have permission to install apps. The integration requires permission to", "title": "Support queries related playbook" }, { - "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-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-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-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-6174_KNOWLEDGE_NODE-30", @@ -1714,24 +1709,29 @@ "title": "Conversation to ticket conversion | Conversations | Computer for Support Teams | 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-4271_KNOWLEDGE_NODE-13", + "text": "uploader](/docs/automations/csv-work-item-uploader?)\\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\\n * [Integrate](/docs/integrate?)\\n\\n * [Bitbucket](/docs/integrations/bitbucket?)\\n * [Calendly](/docs/integrations/calendly?)\\n * [Datadog](/docs/integrations/datadog?)\\n", + "title": "Convert Conversations to Tickets | Conversations | Support | DevRev" }, { - "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-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-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-1979_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": "Tickets | 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" + }, + { + "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" } ] }, @@ -1739,19 +1739,24 @@ "query_id": "2e98cdf9-4951-4185-a63a-295def43b837", "query": "cron configuration for timer trigger schedule in DevRev", "retrievals": [ - { - "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-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|", + "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-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-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" }, { @@ -1760,34 +1765,29 @@ "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-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-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-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-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-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-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-1478_KNOWLEDGE_NODE-41", + "text": "\\'{\"hello\":\"world\"}\\' \\\\ \\n 3| https://api.devrev.ai/hidden/dev-orgs/DEV-123/event-source-webhooks/custom/d43fc297-03d7-4cbd-bdf9-044847788306\\n[/code] \\n \\n## Timer-based event sources\\n\\nTimer-based event sources can be created to send events based on intervals and cron schedules. In the following example, you have two event sources, one emits events daily at 12:00am, the other every hour (3600 seconds). In the event payload, you see the JSON field metadata you specified in the event", + "title": "Event sources \u2014 DevRev | Docs" }, { - "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-1284_KNOWLEDGE_NODE-36", + "text": "https://api.devrev.ai/hidden/dev-orgs/DEV-123/event-source-webhooks/custom/d43fc297-03d7-4cbd-bdf9-044847788306 |\\n```\\n\\nTimer-based event sources\\n-------------------------\\n\\nTimer-based event sources can be created to send events based on intervals and cron schedules. In the following example, you have two event sources, one emits events daily at 12:00am, the other every hour (3600 seconds). In the event payload, you see the JSON field metadata you specified in the event source", + "title": "Event sources | DevRev | Docs" } ] }, @@ -1796,54 +1796,54 @@ "query": "view all tickets raised to DevRev support team", "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", - "title": "Tickets | Computer for Support Teams | DevRev" + "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-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-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-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-1028_KNOWLEDGE_NODE-18", + "text": "Unified view of all customer interactions from different channels\\n* Transparency of support data across the organization\\n* Ability of support team to create Jira tickets directly within Computer\\n* Improved collaboration between support, engineering, and product teams\\n\\nThe results\\n\\nSummary\\n\\nMigration in 6 hours\\n\\nMigrated 16,000 tickets, 72,000 comments & 17,000 attachments in 6 hours\\n\\nEnhanced collaboration\\n\\nImproved collaboration between support, engineering, & product", + "title": "Uniphore builds a proactive support culture with 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*", + "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-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", - "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-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-1979_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": "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-4171_KNOWLEDGE_NODE-2", + "text": "view\\n\\nDevRev\\xe2\\x80\\x99s unified inbox automatically categorizes incoming tickets to make prioritization easier. Monitor ticket stages and ongoing conversations at a glance so you never miss an SLA.\\n--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\\n\\n[Book a Demo](/request-a-demo)[Discover Support](/support)\\n\\n![]()\\n\\nElevate support with AI", + "title": "Make customer support real-time and personalized" }, { - "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,", + "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-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-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" } ] }, @@ -1857,14 +1857,19 @@ "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", + "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-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-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-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-2063_KNOWLEDGE_NODE-28", @@ -1872,34 +1877,29 @@ "title": "Nudges | Computer for Your Customers | 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'", + "id": "ART-1471_KNOWLEDGE_NODE-5", + "text": "message to. Add these display IDs in the `private_to` array.\\n\\n> Example: `DEVU-1`\\n\\n 1. Make a POST request to (\\xe2\\x80\\x9c[](https://api.devrev.ai/timeline-entries.create)\\xe2\\x80\\x9d) and include the PAT created in the authorization header of the request along with the payload with replaced IDs.\\n\\nIn this example, you are using curl to make the requests but you can use any tool you prefer.\\n\\nRequest\\n\\n[code]\\n\\n $| curl -X POST -H", "title": "Restricted messages on a timeline \u2014 DevRev | Docs" }, { - "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-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-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-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-1978_KNOWLEDGE_NODE-45", + "text": "admin.\\n\\n + If you do not see the option of adding a customer as a customer admin then this could be because you might not have admin access to your instance of the DevRev application. Reach out to your admin to help you with this.\\n\\n[PreviousSupport best practices](/docs/product/support-bp)[NextQuestions & answers](/docs/product/qa)\\n\\n#### On this page\\n\\n* [Benefits of using the customer portal](#benefits-of-using-the-customer-portal)\\n* [Features](#features)\\n* [Ticket creation,", + "title": "Customer portal | Computer for Support Teams | DevRev" }, { - "id": "ART-2059_KNOWLEDGE_NODE-12", - "text": "width=\"0\" style=\"display:none;visibility:hidden\">'", - "title": "Install PLuG chat on your website" + "id": "ART-15716_KNOWLEDGE_NODE-23", + "text": "steps, your customer portal will be accessible at the custom domain you\\'ve chosen.Account and Authentication\\n\\nTroubleshooting Sign-Up Issues\\n\\nIf a user can\\xe2\\x80\\x99t sign up:\\n\\nConfirm which signup method they\\xe2\\x80\\x99re using (email, SSO, etc.).\\n\\nCheck if they\\xe2\\x80\\x99re seeing an error message\\xe2\\x80\\x94if so, note the exact wording.\\n\\nCommon blockers include: email already in use, password policy issues, or incomplete form fields.\\n\\nIf the issue persists after retrying,", + "title": "Support queries related playbook" }, { - "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-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" } ] }, @@ -1907,19 +1907,34 @@ "query_id": "87a0c450-5958-433a-a7be-6909813e797b", "query": "sync contacts and accounts from DevRev to Salesforce", "retrievals": [ + { + "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-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-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-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-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-13117_KNOWLEDGE_NODE-5", + "text": "don't care about updates from Zendesk. How should I set up everything in DevRev?\\n\\nYou should tell your customer support representative that you want to enable merging of accounts for Salesforce and Zendesk syncs, and that you would like to sync updates from Salesforce even after merging. After the Airdrop team has enabled the automatic merging you should do a full Salesforce import, so that all the accounts from Salesforce are imported into DevRev. Then you can do a Zendesk import into", + "title": "Airdrop duplicates merging" + }, + { + "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" }, { @@ -1932,30 +1947,15 @@ "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-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-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-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", - "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-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-15159_KNOWLEDGE_NODE-1", + "text": "Handles This Difference:\\n\\nDevRev creates a separate \"group\" field alongside the owner field\\n\\nIf a Salesforce owner is a group/queue, DevRev sets:\\n\\nThe group field = imported group\\n\\nThe owner field = service account (\"unassigned\")\\n\\nIf a Salesforce owner is a user, DevRev sets:\\n\\nThe owner field = the user\\n\\nSync Limitation:\\n\\nWhen syncing from DevRev to Salesforce, the system checks if:\\n\\nThe group field has changed AND\\n\\nThe owner is a service account\\n\\nOnly when both conditions", + "title": "Skipped Updates Due to Group Field Changes in Salesforce-DevRev Airdrop" } ] }, @@ -1964,53 +1964,53 @@ "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", - "title": "Export Accounts | DevRev | Docs" + "id": "ART-1462_KNOWLEDGE_NODE-2", + "text": "stringsOptional\\n\\nFilters for accounts on specified stages.\\n\\ntierlist of stringsOptional\\n\\nTier of the accounts to be filtered.\\n\\nwebsiteslist of 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", + "title": "Export Accounts (POST) \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", - "title": "Export Accounts | DevRev | Docs" + "id": "ART-1255_KNOWLEDGE_NODE-7", + "text": "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 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", + "title": "Export Accounts (POST) | 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-4", + "text": "specified stages.\\n\\ntierlist of stringsOptional\\n\\nTier of the accounts to be filtered.\\n\\nwebsiteslist of 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", "title": "Export Accounts \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-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-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-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-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-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-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-1308_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": "Update \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-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" }, { - "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", + "id": "ART-1449_KNOWLEDGE_NODE-3", + "text": "number of accounts to return. The default is \\xe2\\x80\\x9850\\xe2\\x80\\x99.\\n\\nmodified_date.afterstringOptional`format: \"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 (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", "title": "Export Accounts \u2014 DevRev | Docs" } ] @@ -2019,6 +2019,11 @@ "query_id": "1b7f0c03-5c55-403e-baf4-242b8d91bbe7", "query": "copy schema subtype deal registration leaf type of account", "retrievals": [ + { + "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-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", @@ -2030,9 +2035,9 @@ "title": "Prepare-Update Schemas Subtypes | 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-1602_KNOWLEDGE_NODE-2", + "text": "DONs which are to be aggregated.\\n\\ncustom_schema_spec.appslist of stringsOptional\\n\\nList of apps.\\n\\ncustom_schema_spec.subtypestringOptional`format: \"text\"`\\n\\nName of the 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 tenant fragment ID.\\n\\nstock_schema_fragment_idstringOptional`format: \"id\"`\\n\\nThe stock schema fragment which", + "title": "Get Schemas Aggregated (Beta) \u2014 DevRev | Docs" }, { "id": "ART-4116_KNOWLEDGE_NODE-1", @@ -2040,34 +2045,29 @@ "title": "Prepare-Update Schemas Subtypes (Beta) \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-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-1652_KNOWLEDGE_NODE-223", + "text": "Reference customization Subtypes List.\\n\\nGET https:// api.devrev.ai / schemas.subtypes.list\\nLists subtypes.\\nQuery parameters.\\n\\nleaf_type string Optional\\nLeaf type for which subtypes are required.\\nleaf_types string 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 Subtypes List Post.\\n\\nPOST https:// api.devrev.ai /", + "title": "Export \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-1591_KNOWLEDGE_NODE-223", + "text": "Reference customization Subtypes List.\\n\\nGET https:// api.devrev.ai / schemas.subtypes.list\\nLists subtypes.\\nQuery parameters.\\n\\nleaf_type string Optional\\nLeaf type for which subtypes are required.\\nleaf_types string 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 Subtypes List Post.\\n\\nPOST https:// api.devrev.ai /", + "title": "Create \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-1605_KNOWLEDGE_NODE-223", + "text": "Reference customization Subtypes List.\\n\\nGET https:// api.devrev.ai / schemas.subtypes.list\\nLists subtypes.\\nQuery parameters.\\n\\nleaf_type string Optional\\nLeaf type for which subtypes are required.\\nleaf_types string 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 Subtypes List Post.\\n\\nPOST https:// api.devrev.ai /", + "title": "Create \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-1649_KNOWLEDGE_NODE-223", + "text": "Reference customization Subtypes List.\\n\\nGET https:// api.devrev.ai / schemas.subtypes.list\\nLists subtypes.\\nQuery parameters.\\n\\nleaf_type string Optional\\nLeaf type for which subtypes are required.\\nleaf_types string 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 Subtypes List Post.\\n\\nPOST https:// api.devrev.ai /", + "title": "Create \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-1651_KNOWLEDGE_NODE-223", + "text": "Reference customization Subtypes List.\\n\\nGET https:// api.devrev.ai / schemas.subtypes.list\\nLists subtypes.\\nQuery parameters.\\n\\nleaf_type string Optional\\nLeaf type for which subtypes are required.\\nleaf_types string 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 Subtypes List Post.\\n\\nPOST https:// api.devrev.ai /", + "title": "Create \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-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-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-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-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-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-1", + "id": "ART-2006_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" + "title": "Automatic customer reply | Automate | Snap-ins | 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-2006_KNOWLEDGE_NODE-0", + "text": "b\"Automatic customer reply | 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": "Automatic customer reply | Automate | Snap-ins | 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-1652_KNOWLEDGE_NODE-181", + "text": "reporters.\\nseverity long Optional\\nFilters for incidents containing any of the provided severities.\\nsort_by string Optional\\nThe list of fields to sort the items by and how to sort them.\\nsource long Optional\\nFilters for incidents with any of the provided sources.\\nstage string Optional\\nFilters for incidents in any of the provided stages.\\ntitle string Optional\\nFilters for incidents by the provided titles.\\nResponse.\\n\\nThis endpoint returns an object.\\nincidents list of objects\\nThe", + "title": "Export \u2014 DevRev | Docs" }, { - "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-17181_KNOWLEDGE_NODE-9", + "text": "volume. The AI-driven Knowledge Management System was revitalized with auto-summarized articles, freeing agents to focus on content creation rather than administrative tasks.\\n\\nDevRev also delivered an AI classifier that automated ticket categorization by product hierarchy, significantly reducing manual triage time. Throughout the implementation, the team described DevRev as delivering exactly what was promised without the typical enterprise software complexity.\\n\\nThe migration to DevRev was", + "title": "Skedulo reduced effort 30% to 5% and unlocked automation at scale" }, { - "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-1591_KNOWLEDGE_NODE-181", + "text": "reporters.\\nseverity long Optional\\nFilters for incidents containing any of the provided severities.\\nsort_by string Optional\\nThe list of fields to sort the items by and how to sort them.\\nsource long Optional\\nFilters for incidents with any of the provided sources.\\nstage string Optional\\nFilters for incidents in any of the provided stages.\\ntitle string Optional\\nFilters for incidents by the provided titles.\\nResponse.\\n\\nThis endpoint returns an object.\\nincidents list of objects\\nThe", + "title": "Create \u2014 DevRev | Docs" }, { - "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", - "title": "AI use cases in DevRev | Computer by DevRev | DevRev" + "id": "ART-1300_KNOWLEDGE_NODE-175", + "text": "reporters.\\nseverity long Optional\\nFilters for incidents containing any of the provided severities.\\nsort_by string Optional\\nComma-separated fields to sort the incidents by.\\nsource long Optional\\nFilters for incidents with any of the provided sources.\\nstage string Optional\\nFilters for incidents in any of the provided stages.\\ntitle string Optional\\nFilters for incidents by the provided titles.\\nResponse.\\n\\nThis endpoint returns an object.\\ngroups list of objects\\nThe list of groups.\\nShow", + "title": "Create \u2014 DevRev | Docs" }, { - "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-1791_KNOWLEDGE_NODE-174", + "text": "reporters.\\nseverity long Optional\\nFilters for incidents containing any of the provided severities.\\nsort_by string Optional\\nComma-separated fields to sort the incidents by.\\nsource long Optional\\nFilters for incidents with any of the provided sources.\\nstage string Optional\\nFilters for incidents in any of the provided stages.\\ntitle string Optional\\nFilters for incidents by the provided titles.\\nResponse.\\n\\nThis endpoint returns an object.\\ngroups list of objects\\nThe list of groups.\\nShow", + "title": "Self Delete \u2014 DevRev | Docs" } ] }, @@ -2137,49 +2137,49 @@ "title": "Understanding Agentic AI: Capabilities and Implications for the Future" }, { - "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-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-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-1985_KNOWLEDGE_NODE-37", + "text": "Storage limits for articles\\n\\n* There is no limit to the number of articles that can be created in the DevRev knowledge base.\\n* Each article is stored as an artifact, with a maximum size of 250 MB per artifact.\\n\\n### Enable customer access for your knowledge base\\n\\nTo make your help center, including your knowledge base, accessible to the public, go to **[Settings > Plug & Portal > Portal Settings](https://app.devrev.ai/?setting=portal-settings%2Fconfiguration)** and enable **Help Center**", + "title": "Articles | Knowledge Base | 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", + "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-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-16570_KNOWLEDGE_NODE-10", + "text": "I need to know?\" The conversational AI interface became the single point of access for collective knowledge, fundamentally changing how employees approach problem-solving and decision-making.\\n\\nSupport agents, developers, and product managers now operate with complete contextual awareness. Instead of working with partial information or outdated data, they engage with the company\\'s full knowledge base through natural language queries that understand intent and deliver precise, actionable", + "title": "FAME transforms information access with AI-powered enterprise search" }, { - "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-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-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", + "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-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-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-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-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-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-1771_KNOWLEDGE_NODE-6", + "text": "knowledge base integration.\\n\\nThe implementation validated DevRev\\'s capabilities and demonstrated remarkable speed. As Ankur noted: \"When I started using DevRev, the AirSync feature took me two hours to replace our previous solution, including transferring all knowledge articles.\" DevRev\\'s comprehensive documentation was particularly helpful during setup, allowing for a smooth transition without requiring extensive technical expertise.\\n\\nThe AI agent handles a large volume of routine", + "title": "ToughTrucksForKids.com achieves dramatic efficiency gains and customer satisfaction through AI-powered support automation" } ] }, @@ -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-1944_KNOWLEDGE_NODE-7", + "text": "Support Marketplace\\n\\nPlatform\\n\\nAirdrop Analytics Workflow Engine Turing AI\\n\\nResources\\n\\nPricing Blog News Case studies Documentation API Reference The Book of DevRev\\n\\nCompany\\n\\nAbout People Careers Invest\\n\\nConnect\\n\\nContact Instagram Medium Linkedin Twitter\\n\\nLegal\\n\\nSecurity DPA Subprocessors Cookie Policy Privacy policy Terms of service\\n\\nSystem Status\\n\\xc2\\xa9 2024 DevRev Inc.\"", + "title": "DevRev Documentation" }, { - "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-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-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-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-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-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-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-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-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-3892_KNOWLEDGE_NODE-0", + "text": "b'[](/public/changelog/2025/1/28)\\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": "API Changelog \u2014 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 *", + "id": "ART-4229_KNOWLEDGE_NODE-0", + "text": "b'[](/public/changelog/2025/3/25)\\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": "API Changelog \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-2662_KNOWLEDGE_NODE-25", + "text": "Customers\\n\\nEmpower your customers and customer-facing teams with ready access to relevant information.](/docs/plug)[### Snap-ins\\n\\n![]()\\n\\nConnect tools, automate work, and extend your experience with add-on modules provided by DevRev.](/docs/snapins)[### Developer\\n\\n![]()\\n\\nEnabling developers to create tools for the future with DevRev APIs.](https://developer.devrev.ai/about/for-developers)\\n\\n[Enterprise grade security to protect customer data\\n\\nLearn more about", + "title": "DevRev Documentation" }, { - "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-3193_KNOWLEDGE_NODE-0", + "text": "b'[](/public/changelog/2025/1/17)\\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": "API Changes \u2014 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-2662_KNOWLEDGE_NODE-26", + "text": "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* [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*", + "title": "DevRev Documentation" } ] }, @@ -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-2007_KNOWLEDGE_NODE-25", + "text": "in sync with their current stage, as per the stage to forecast category mapping configured in the automation.\\n* Auto-fills the **Probability** field on opportunities based on their current stage. Enable this feature to auto-update opportunity probabilities based on the stage to probability mapping configured in the automation.\\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", + "title": "Automate opportunities | 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", - "title": "Custom field migration | Automate | Snap-ins | DevRev" + "id": "ART-15989_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": "Automated part update | 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-4022_KNOWLEDGE_NODE-28", + "text": "some columns indicates custom fields from the tenant fragment.\\n5. The ctype\\\\_\\\\_ prefix in some columns represents custom type fields from the custom type fragment. Users can fill these fields when selecting a subtype for a work item. If certain ctype\\\\_\\\\_ fields are mandatory for a specific subtype, they must be filled.\\n6. For Update operation, provide the display ID of the work item that needs to be updated.\\n\\nValidations for uploading CSV\\n-----------------------------\\n\\nThe following", + "title": "CSV work item uploader | 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-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-2006_KNOWLEDGE_NODE-10", + "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": "Automatic customer reply | Automate | Snap-ins | DevRev" + "title": "Custom field migration | 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-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-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 -", + "id": "ART-2858_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": "Custom field migration | Automate | Snap-ins | 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-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 -", + "title": "Ticket issue field migrator | 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-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", + "title": "Custom field migration | Automate | Snap-ins | 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-2874_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": "Ticket issue field migrator | Automate | Snap-ins | DevRev" } ] }, @@ -2300,14 +2300,19 @@ "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-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" }, { - "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-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-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": "Workflow action library | Workflows | Computer by DevRev | DevRev" }, { "id": "ART-1961_KNOWLEDGE_NODE-35", @@ -2315,39 +2320,34 @@ "title": "Workflows | Computer by DevRev | DevRev" }, { - "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" - }, - { - "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-12391_KNOWLEDGE_NODE-26", + "text": "with *Conversation created* or *Ticket\\n created*.\\n\\n This trigger is whenever a conversation or ticket gets created by your\\n customers from Portal or Plug, or any of your integration which supports\\n conversation syncing, like Slack, WhatsApp, or email. You can find the\\n integrations in our marketplace.\\n2. Add the *Talk to agent* step as the next action. Fill all the required values\\n of this step. The values needed to fill here are explained below.\\n3. Deploy the", + "title": "Conversational workflows | 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-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-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-16803_KNOWLEDGE_NODE-26", + "text": "Tickets\\n* Meetings\\n* Objects linked to issues\\n* Users\\n\\nTo configure a workspace object loop:\\n\\n1. On the **workflow canvas**, add an action step named **Loop for [Object]**, where [Object] is the entity you want to iterate over.\\n2. Apply **filter conditions** to refine the set of objects included in the loop and perform operations on them.\\n\\nAll **actions** inside the loop execute once per object that satisfies the filter conditions.\\n\\n### For Each\\n\\nThe **For Each** loop iterates", + "title": "Workflow nodes | Workflows | 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-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", - "title": "Workflow action library | Workflows | Computer by DevRev | DevRev" + "id": "ART-4185_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": "Ticket approval workflow | 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-2010_KNOWLEDGE_NODE-29", + "text": "**Select work items\\' owners (max 1)** drop-down menu, select the work item\\'s owner name.\\n3. From the **Select a part to assign to work items** drop-down menu, select a part for the work items. If the bulk work item upload is done using a part, the part is automatically selected.\\n4. In the **Customer ID** drop-down menu, select from the available workspaces associated with this account. If the bulk ticket upload is done using an account, the relevant workspaces are shown in the **Customer", + "title": "Bulk work item uploader | Automate | Snap-ins | 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" + "id": "ART-1989_KNOWLEDGE_NODE-31", + "text": "*Current User* to assign the field to the user executing the command. For example, a support agent working on a ticket can use a command to set themselves as the owner if the action configured in the command specifies the owner field as *Current User*.\\n\\nManaging commands\\n-----------------\\n\\n* **View All Commands**: Access a centralized list of draft, active, and inactive commands. You can sort and filter these commands based on their properties or attributes.\\n* **Edit or clone commands**:", + "title": "Commands | Computer for Support Teams | DevRev" }, { - "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-12391_KNOWLEDGE_NODE-27", + "text": "workflow.\\n\\nNow, your workflow runs whenever a conversation or a ticket gets created and it\\nassigns it to an AI agent, which handles the conversation. No brittle rules.\\n\\nFind below a detailed explanation of all the fields needed to configure in the\\n\"Talk to Agent\" Step\\n\\n| Parameter | Type | Description |\\n| --- | --- | --- |\\n| agent | String | ID of the AI agent to use. Use the dropdown to select one. |\\n| object | String | ID of the conversation or ticket where the agent operate.s |\\n|", + "title": "Conversational workflows | Workflows | Computer by DevRev | 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-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-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-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-12394_KNOWLEDGE_NODE-30", + "text": "privileges and assign this role to a group.\\n* If you grant Create, Read, Update, and Delete permissions, the role gains full access to perform all operations on the workflows.\\n* If you provide only Create and Read permissions, the role can create new workflows and view existing ones, but can only update those in draft status.\\n\\nError handling\\n--------------\\n\\nYou can enhance your workflows with robust error handling:\\n\\n* **Add an error path**: Click the three-dot menu on any step in your", + "title": "Workflow management | Workflows | Computer by DevRev | 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-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-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-12390_KNOWLEDGE_NODE-40", + "text": "response on success |\\n| LinkIncidentWithIssue | Creates a link between an incident and an issue. | * source: Incident ID * link\\\\_type: Type of link (usually \"is\\\\_dependent\\\\_on\") * target: Issue ID | Empty response on success |\\n| LinkIssueWithIssue | Creates a link between two issues. | * source: Source issue ID * link\\\\_type: Type of link * target: Target issue ID | Empty response on success |\\n| LinkTicketWithIssue | Creates a link between a ticket and an issue. | * source: Ticket ID *", + "title": "Workflow action library | Workflows | Computer by DevRev | DevRev" } ] }, @@ -2412,34 +2412,34 @@ "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-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", + "id": "ART-2002_KNOWLEDGE_NODE-29", + "text": "integration](/docs/plug/index), new customer records can be created through the app.\\n\\n### Contact attributes\\n\\nContacts have attributes that can be used to filter them.\\nYou can find all the stock attributes listed in **Settings** > **Object customization** > **Contact** > **Stock fields**.\\nThese are the stock attributes that come with DevRev:\\n\\n* **Email**: The email address associated with the contact.\\n* **External reference ID**: Identifier for this company from your primary customer", "title": "Contacts | Computer for Growth Teams | 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-2933_KNOWLEDGE_NODE-2", + "text": "[contacts](https://docs.devrev.ai/product/grow#-contact) which represents an individual user associated with the account of the organization. To create a contact, we also need to use the `rev-orgs.list` API with the `accounts` filter to get the default [workspace](https://docs.devrev.ai/product/grow#-workspace)(rev org) created with the account. We will be creating a contact under the workspace (`rev_org`) of the account as contacts (`rev_user`) cannot exist individually without being", + "title": "Account creation | DevRev | Docs" }, { - "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-980_KNOWLEDGE_NODE-24", + "text": "Email integration\\n Support Portal\\n \\n \\n Operate App\\n Grow App\\n \\n Account Management\\n Contact Management\\n Engagement Tracking\\n \\n \\n Core Services\\n Marketplace\\n \\n Partnerships\\n Integrations\\n \\n Discord\\n Slack\\n DevRev CLI\\n KB Extraction\\n Github Airdrop\\n SFDC Airdrop\\n", + "title": "How to Think About (And Structure) Your Products" }, { - "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-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-8", + "id": "ART-4020_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": "Send customized emails | Automate | 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-2575_KNOWLEDGE_NODE-17", @@ -2447,19 +2447,19 @@ "title": "Account and contact import | Computer for Growth Teams | 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-1979_KNOWLEDGE_NODE-31", + "text": "from an email thread containing multiple customer email IDs, multiple reporters may be added. If a DevRev user adds a new customer while responding from DevRev, or if a new customer responds to the email thread, these new customers are added to the **Reported by** field. In the case of the Portal, there is only one **Reported by**, representing the person who has logged in to the portal to report the issue. Additional reporters can be added from the DevRev app. To select a contact in the", + "title": "Tickets | Computer for Support 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", + "id": "ART-2002_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" }, { - "id": "ART-1953_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" + "id": "ART-2002_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": "Contacts | Computer for Growth Teams | DevRev" } ] }, @@ -2468,14 +2468,19 @@ "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-2933_KNOWLEDGE_NODE-22", + "text": "created in **Accounts** and selecting the **Contacts** tab to view all the contacts created for the selected account.\\n\\n![]()\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/beta/changelog/2024/12/2)[#### Agents async API\\n\\nNext](/beta/guides/agents-async-api)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)\\n\\n![]()'", + "title": "Account creation | DevRev | Docs" + }, + { + "id": "ART-4206_KNOWLEDGE_NODE-1", + "text": "message](/beta/guides/agents-async-api#final-message)\\n* [Error message](/beta/guides/agents-async-api#error-message)\\n* [Implementation patterns](/beta/guides/agents-async-api#implementation-patterns)\\n* [Custom applications](/beta/guides/agents-async-api#custom-applications)\\n* [Talk to agent node in workflows](/beta/guides/agents-async-api#talk-to-agent-node-in-workflows)\\n* [Troubleshooting](/beta/guides/agents-async-api#troubleshooting)\\n\\n[Guides](/beta/guides/account-creation)\\n\\nAgents", + "title": "Agents async API | 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-1564_KNOWLEDGE_NODE-10", + "text": "endpoint expects an object.\\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 List.\\n\\nGET https://api.devrev.ai / accounts.list\\n\\nGets a list of accounts.\\n\\nQuery parameters.\\n\\ncreated_by string Optional\\n\\nFilters for accounts created by the specified user(s).\\n\\ncreated_date.after datetime Optional\\n\\nFilters for objects created after the provided timestamp", + "title": "List (Beta) \u2014 DevRev | Docs" }, { "id": "ART-1465_KNOWLEDGE_NODE-1", @@ -2483,39 +2488,34 @@ "title": "List Accounts (POST) \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-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-1549_KNOWLEDGE_NODE-10", + "text": "endpoint expects an object.\\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 List.\\n\\nGET https://api.devrev.ai / accounts.list\\n\\nGets a list of accounts.\\n\\nQuery parameters.\\n\\ncreated_by string Optional\\n\\nFilters for accounts created by the specified user(s).\\n\\ncreated_date.after datetime Optional\\n\\nFilters for objects created after the provided timestamp", + "title": "List Post (Beta) \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-4206_KNOWLEDGE_NODE-23", + "text": "events to see which skills were invoked\\n* Check if any skills returned error outputs\\n* Verify your agent\\xe2\\x80\\x99s configuration in the DevRev agent builder\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/beta/guides/account-creation)[#### Links\\n\\nNext](/beta/guides/links)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Agents async API | 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-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-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-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-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-4206_KNOWLEDGE_NODE-16", + "text": "endpoint in your application that can receive POST requests.\\n2. Register this endpoint with DevRev using the webhooks.create API.\\n3. Make async API calls with your agent ID and webhook ID.\\n4. Process incoming webhook events to:\\n * Track progress (optional).\\n * Display the final agent response to the user.\\n * Handle any errors.\\n\\nExample flow for a chat application:\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | // 1. When user sends a message |\\n| 2 | function handleUserMessage(message) {", + "title": "Agents async API | 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-4206_KNOWLEDGE_NODE-17", + "text": "|\\n| 3 | // Show loading indicator |\\n| 4 | displayLoadingIndicator(); |\\n| 5 | |\\n| 6 | // Make async API call |\\n| 7 | fetch(\"https://api.devrev.ai/internal/ai-agents.events.execute-async\", { |\\n| 8 | method: \"POST\", |\\n| 9 | headers: { |\\n| 10 | \"Content-Type\": \"application/json\", |\\n| 11 | Authorization: Bearer \"YOUR_API_KEY\", |\\n| 12 | }, |\\n| 13 | body: JSON.stringify({ |\\n| 14 | agent: \"your_agent_id\", |\\n| 15 | event: { |\\n| 16 | input_message: { |\\n| 17 | message: message, |\\n| 18 |", + "title": "Agents async API | DevRev | Docs" } ] }, @@ -2523,35 +2523,40 @@ "query_id": "f70a832e-15aa-4d51-bd81-81f1d51a3990", "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", - "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", "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-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-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-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-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-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-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" + }, + { + "id": "ART-4181_KNOWLEDGE_NODE-18", + "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-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-4181_KNOWLEDGE_NODE-16", + "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-1986_KNOWLEDGE_NODE-28", @@ -2559,19 +2564,14 @@ "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-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-21", + "text": "occurs\\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 occurs\\n\\n![]()\\n\\nSLA-at-a-glance with color-coding and countdowns\\n\\nUse visual cues such as color-coding and countdown timers to prioritize tickets nearing SLA breach\\n\\n![]()\\n\\nSLA-at-a-glance with color-coding and countdowns\\n\\nUse visual cues such as color-coding and countdown timers to prioritize tickets nearing SLA", + "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-19", + "text": "occurs\\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 occurs\\n\\n![]()\\n\\nSLA-at-a-glance with color-coding and countdowns\\n\\nUse visual cues such as color-coding and countdown timers to prioritize tickets nearing SLA breach\\n\\n![]()\\n\\nSLA-at-a-glance with color-coding and countdowns\\n\\nUse visual cues such as color-coding and countdown timers to prioritize tickets nearing SLA", + "title": "Support like a lightning fast pit-crew" } ] }, @@ -2580,18 +2580,18 @@ "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", + "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-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-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-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", + "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" }, { @@ -2600,34 +2600,34 @@ "title": "Tickets | Computer for Support Teams | DevRev" }, { - "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", + "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-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-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-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-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-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", + "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-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", + "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-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", - "title": "Tickets | Computer for Support Teams | 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" } ] }, @@ -2635,15 +2635,20 @@ "query_id": "05e8a3ee-fe67-4ece-b8c8-5088330b0864", "query": "converting conversations to tickets issue customer channel acme", "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", + "title": "Convert Conversations to Tickets | Conversations | Support | 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-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-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-4271_KNOWLEDGE_NODE-31", @@ -2651,38 +2656,33 @@ "title": "Convert Conversations to Tickets | Conversations | Support | 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-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-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-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-30", + "text": "Customer suggestions that need to be tracked and potentially implemented.\\n * **Bug reports** : Technical issues that require development team involvement.\\n * **SLA tracking** : When you need more formal tracking of resolution times for critical issues.\\n * **Documentation** : Issues that should be formally documented for compliance or future reference.\\n * **Resource allocation** : When dedicating specific resources to resolve a particular customer issue.\\n * **AI handoff** : When an", + "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-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-27", + "text": "via Workflows**\\n\\nSet up automated workflows to convert conversations to tickets based on specific triggers:\\n\\n * When a conversation is updated with certain criteria\\n * When your AI agent identifies an issue requiring escalation\\n * According to your custom business rules\\n\\nWorkflows enable seamless handovers from automated conversations to your support teams when necessary.\\n\\n## End user experience\\n\\n### PLuG widget experience\\n\\nWhen a conversation is converted to a ticket in 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-4271_KNOWLEDGE_NODE-13", + "text": "uploader](/docs/automations/csv-work-item-uploader?)\\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\\n * [Integrate](/docs/integrate?)\\n\\n * [Bitbucket](/docs/integrations/bitbucket?)\\n * [Calendly](/docs/integrations/calendly?)\\n * [Datadog](/docs/integrations/datadog?)\\n", + "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", + "id": "ART-4271_KNOWLEDGE_NODE-10", + "text": "Node](/docs/automations/search-node?)\\n * [Sentiment evaluator](/docs/automations/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 group](/docs/automations/set-user-preference?)\\n * [SLA status change Slack notifier](/docs/automations/sla-change-notifier?)\\n * [Slash", "title": "Convert Conversations to Tickets | Conversations | Support | 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-2683_KNOWLEDGE_NODE-21", + "text": "// other fields \\n >| ], \\n >| }\\'\\n[/code] \\n \\n### Add subtypes to custom objects\\n\\nAdding subtypes to custom objects allows you to categorize and manage your custom objects more effectively. The process is the same as adding subtypes to other standard DevRev objects like issues and tickets.\\n\\nLet\\xe2\\x80\\x99s say you have run different types of campaigns like social media and email marketing. You can create a subtype for each of these variants. If you want to create a", + "title": "Custom objects (Beta) \u2014 DevRev | Docs" }, { - "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-15502_KNOWLEDGE_NODE-19", + "text": "\"custom_object.campaign\" ], |\\n| > | }, |\\n| > | ... // other fields |\\n| > | ], |\\n| > | }\\' |\\n```\\n\\n### Add subtypes to custom objects\\n\\nAdding subtypes to custom objects allows you to categorize and manage your custom\\nobjects more effectively. The process is the same as adding subtypes to other standard\\nDevRev objects like issues and tickets.\\n\\nLet\\xe2\\x80\\x99s say you have run different types of campaigns like social media and email\\nmarketing. You can create a subtype for each of", + "title": "Custom objects | DevRev | Docs" }, { - "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-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-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-1506_KNOWLEDGE_NODE-13", + "text": "\"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[Delete ConversationUp Next](/beta/api-reference/conversations/delete)\\n\\n[Built", + "title": "Create Conversation (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-1950_KNOWLEDGE_NODE-47", + "text": "categorize them further. For example, you can create subtypes for bugs, features, and tasks. Subtypes can be used to filter issues in various views.\\nA subtype 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[PreviousGroups](/docs/product/groups)[NextVistas](/docs/product/vistas)\\n\\n#### On this page\\n\\n* [Customer", + "title": "Parts & trails | 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-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-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-1510_KNOWLEDGE_NODE-10", + "text": "\"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[Get Conversation (POST)Up Next](/beta/api-reference/conversations/get-post)\\n\\n[Built", + "title": "Get Conversation (Beta) \u2014 DevRev | Docs" }, { - "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", - "title": "Subtype Migration | Automate | Snap-ins | DevRev" + "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-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-1525_KNOWLEDGE_NODE-11", + "text": "\"stock_schema_fragment\": \"don:core:dvrv-us-1:devo/example:custom_type_fragment/custom-type-fragment-id\", \\n 58| \"subtype\": \"subtype\", \\n 59| \"tags\": [ \\n 60| { \\n 61| \"tag\": { \\n 62| \"id\": \"id\", \\n 63| \"name\": \"name\" \\n 64| } \\n 65| } \\n 66| ], \\n 67| \"title\": \"title\" \\n 68| } \\n 69| ], \\n 70| \"next_cursor\": \"next_cursor\", \\n 71| \"prev_cursor\":", + "title": "List Conversations (POST) (Beta) \u2014 DevRev | Docs" }, { - "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-1514_KNOWLEDGE_NODE-12", + "text": "105| \"notes\": \"notes\", \\n 106| \"ordinal\": 1, \\n 107| \"stage\": { \\n 108| \"id\": \"id\" \\n 109| }, \\n 110| \"state\": { \\n 111| \"id\": \"id\" \\n 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|", + "title": "Update Conversation (Beta) \u2014 DevRev | Docs" } ] }, @@ -2748,19 +2748,14 @@ "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-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-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-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-2666_KNOWLEDGE_NODE-27", @@ -2768,9 +2763,9 @@ "title": "October 5: Left navigation | Changelog | DevRev" }, { - "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-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-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-12474_KNOWLEDGE_NODE-0", + "text": "b'This document serves as a guide for pinning the relevant Session Analytics views to the left navigation panel in DevRev.\\n\\nTo begin, navigate to the left panel and select \"Explore.\"\\n\\nSearch for \"Session Replays\" and pin it to your preferred section of the left navigation. Repeat the same for \"Session Analytics: Web\" and \"Session Analytics: Mobile.\".\\n\\nAdditionally, feel free to unpin any views that you do not wish to display in your left navigation.'", + "title": "Pin Session Analytics views to the left navigation" }, { - "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-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-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-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", + "title": "October 5: Left navigation | Changelog | 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-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-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" } ] }, @@ -2804,9 +2804,9 @@ "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-16749_KNOWLEDGE_NODE-0", + "text": "b'This error usually occurs when the mapping request is sent with stale data. It happens when the blueprint or status version in your browser is outdated compared to the server.\\n\\nTo confirm:\\n\\nOpen the Network tab in your browser\\xe2\\x80\\x99s developer tools.\\n\\nCheck the response to the low-code POST request.\\n\\nResponse should look like this:{\\n \"message\": \"recipe-manager-RecipeManagerInvalidArgument-Unspecified: blueprint or status version changed: was 9_9 on the server and 8_8 in the", + "title": "Troubleshooting Airdrop Mapping Error: \u201cSomething Went Wrong\u201d" }, { "id": "ART-1979_KNOWLEDGE_NODE-49", @@ -2814,29 +2814,19 @@ "title": "Tickets | Computer for Support Teams | DevRev" }, { - "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-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-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-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-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-1301_KNOWLEDGE_NODE-466", + "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": "Delete \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-1786_KNOWLEDGE_NODE-461", + "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": "Delete \u2014 DevRev | Docs" }, { "id": "ART-5010_KNOWLEDGE_NODE-13", @@ -2844,14 +2834,24 @@ "title": "Subtype Migration | 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-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-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-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-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-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" } ] }, @@ -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-1710_KNOWLEDGE_NODE-8", + "text": "records and the lack of a simple way to delete large amounts of data, which often led to clutter and mistakes. By putting in place a more efficient migration system for managing data, Yellow.ai and DevRev made sure that only necessary and correct information was kept, making their operations smoother and reducing possible errors.\\n\\nThe integration of DevRev into our operations has been a game-changer. Previously, our product roadmap was only accessible to a few PMs, but now it's visible to", + "title": "Yellow.ai uses DevRev to Streamline Processes" }, { - "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-1002_KNOWLEDGE_NODE-0", + "text": "b'As discussed in Busting silos, the WHY of DevRev, the DevRev platform converges the operations and knowledge of objects used to build, operate, support and grow products, companies, and people.\\n\\n\\n\\n\\n\\nGiven this converged nature, it\\xe2\\x80\\x99s important to understand when to use what types of work.\\n\\nTypes of Work\\n\\nIf you break down the types of objects used in build and support systems, you will commonly see the following object types:\\n\\n\\n Items to track engineering/backend work", + "title": "Tickets, Issues: When to Use Each" }, { - "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-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-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-1033_KNOWLEDGE_NODE-7", + "text": "them to integrate with their website. This allowed Spintly to present a more comprehensive and holistic view of their product, leading to an even more robust and efficient development process.\\n\\nDevRev has revolutionized the way we manage customer issues. With DevRev\\'s platform, our developers can prioritize which issues to fix quickly. The faster we resolve issues, the better the customer experience becomes.\\n\\n![]()\\n\\nRohin ParkarCo-Founder & CEO @ Spintly\\n\\nDevRev has provided an", + "title": "Spintly uses DevRev to bridge the gap between developers and end-users" }, { - "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-1033_KNOWLEDGE_NODE-5", + "text": "prompting them to search for an all-in-one solution that connected their developers to their customers. That\\xe2\\x80\\x99s how DevRev came to the rescue.\\n\\nThe Solution\\n------------\\n\\nAccording to Parkar, DevRev was the solution that Spintly was searching for. Initially, Spintly used DevRev as a ticketing tool. However, they soon discovered that the system was product-centric, allowing them to define their product and its features in great detail, even at the microservices level. This level", + "title": "Spintly uses DevRev to bridge the gap between developers and end-users" }, { - "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-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-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-15792_KNOWLEDGE_NODE-0", + "text": "b'What is DevRev?\\n\\nDevRev is an enterprise AI platform that delivers \"Team Intelligence\" by transforming artificial intelligence from a passive tool into an active business teammate. The company addresses a fundamental challenge facing modern organizations: the fragmentation of company knowledge across multiple systems and databases that prevents AI from delivering meaningful business value.Core platform capabilities\\n\\nDevRev\\'s platform centers around three key components that work together", + "title": "DevRev Products and Agents" }, { - "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-2053_KNOWLEDGE_NODE-34", + "text": "the initial import. This step can be repeated as needed.\\n\\nUsing Jira for development\\n--------------------------\\n\\nIn this scenario, the intention is to keep using Jira for development work. DevRev is used to provide support (tickets, customer conversations, issues) and product planning. Development work can continue in Jira but it's synced to DevRev issues. This allows you to search over issues in Jira and link them to customer tickets without leaving DevRev. You can also take advantage of", + "title": "Jira Software AirSync | AirSync | Snap-ins | DevRev" }, { - "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-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-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-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" } ] }, @@ -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-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-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-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-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", + "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-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-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-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-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-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-1979_KNOWLEDGE_NODE-53", + "text": "the support workflow. This not only wastes time on redundant issues but also slows response times and skews data analysis.\\n\\nMerging duplicate tickets establishes uniform communication between customers and agents, providing an effective solution to this problem.\\n\\n**Duplicate ticket**\\n\\nA duplicate ticket is any ticket identified as a repetition of another existing ticket. These tickets are considered unnecessary for further communication or action, as they pertain to the same problem", + "title": "Tickets | Computer for Support Teams | 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-31", + "text": "from an email thread containing multiple customer email IDs, multiple reporters may be added. If a DevRev user adds a new customer while responding from DevRev, or if a new customer responds to the email thread, these new customers are added to the **Reported by** field. In the case of the Portal, there is only one **Reported by**, representing the person who has logged in to the portal to report the issue. Additional reporters can be added from the DevRev app. To select a contact in the", + "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 -", - "title": "Ticket issue field migrator | Automate | Snap-ins | DevRev" + "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-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-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" } ] }, @@ -2972,9 +2972,9 @@ "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", @@ -2982,44 +2982,44 @@ "title": "Customer portal | Computer for Support Teams | 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-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-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-3107_KNOWLEDGE_NODE-25", + "text": "specific users (customer users).\\n* Ignores tickets created by other user types.\\n* Allows multiple tags to be assigned based on predefined rules.\\n* Can be triggered via commands or automatically when tickets are created.\\n\\nConfiguration\\n-------------\\n\\nFollow these steps to set up the Ticket Tagger:\\n\\n1. Go to **Snap-ins** > **Ticket Tagger** > **Configure**.\\n2. Fill in the configuration settings.\\n\\n * **Search for Tags**: Select the tags to check for on the contact or\\n account.", + "title": "Ticket Tagger | Automate | Snap-ins | 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-26", + "text": "configuration instructions, refer to [Email snap-in configuration](/docs/integrations/email-config).\\n\\nFor more information, refer to the [Email snap-in](/marketplace/email-with-tickets) on the DevRev marketplace.\\n\\nConversation and ticket creation for emails\\n-------------------------------------------\\n\\nWhen an email is received, DevRev checks if the sender is linked to your workspace and creates a conversation or ticket. If a sender is not recognized, DevRev creates a new user profile to", + "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", "title": "Tickets | Computer for Support Teams | 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-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-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-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-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-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" } ] }, @@ -3028,34 +3028,44 @@ "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", + "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-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| ---", + "id": "ART-15509_KNOWLEDGE_NODE-1", + "text": "conversation](/sdks/web/methods#start-conversation)\\n* [Shutdown](/sdks/web/methods#shutdown)\\n* [Initialize the search agent](/sdks/web/methods#initialize-the-search-agent)\\n* [Toggle search agent](/sdks/web/methods#toggle-search-agent)\\n* [Check Search Agent status](/sdks/web/methods#check-search-agent-status)\\n* [Prefill search query in search agent](/sdks/web/methods#prefill-search-query-in-search-agent)\\n* [Add session properties](/sdks/web/methods#add-session-properties)\\n* [Get session", "title": "Methods | 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 ( \"", + "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-1466_KNOWLEDGE_NODE-26", - "text": "agent.\\n\\nCalling 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\\n1 useEffect ( () => { 2 window. plugSDK. init ( { 3 app_id : \\' \\' , 4 disable_plug_chat_window : true , 5 } ) ; 6 7 window. plugSDK. onEvent ( ( payload ) => { 8 if ( payload. type === \\' ON_PLUG_WIDGET_READY \\' ) { 9 window. plugSDK. initSearchAgent () ; 10 } 11 } ) ; 12 } , []) ;", + "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-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-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-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", "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-1466_KNOWLEDGE_NODE-26", + "text": "agent.\\n\\nCalling 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\\n1 useEffect ( () => { 2 window. plugSDK. init ( { 3 app_id : \\' \\' , 4 disable_plug_chat_window : true , 5 } ) ; 6 7 window. plugSDK. onEvent ( ( payload ) => { 8 if ( payload. type === \\' ON_PLUG_WIDGET_READY \\' ) { 9 window. plugSDK. initSearchAgent () ; 10 } 11 } ) ; 12 } , []) ;", + "title": "Methods \u2014 DevRev | Docs" }, { "id": "ART-15490_KNOWLEDGE_NODE-5", @@ -3063,19 +3073,9 @@ "title": "Install Plug search | DevRev | Docs" }, { - "id": "ART-15509_KNOWLEDGE_NODE-1", - "text": "conversation](/sdks/web/methods#start-conversation)\\n* [Shutdown](/sdks/web/methods#shutdown)\\n* [Initialize the search agent](/sdks/web/methods#initialize-the-search-agent)\\n* [Toggle search agent](/sdks/web/methods#toggle-search-agent)\\n* [Check Search Agent status](/sdks/web/methods#check-search-agent-status)\\n* [Prefill search query in search agent](/sdks/web/methods#prefill-search-query-in-search-agent)\\n* [Add session properties](/sdks/web/methods#add-session-properties)\\n* [Get session", - "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-0", + "text": "b'Public\\nOn this page\\n\\nInitialize SDK Toggle widget theme Toggle widget Take action from PLuG chat events Check widget status Start conversation Shutdown Initialize the search agent Toggle search agent Prefill search query in search agent Add session properties Track events Restart session recording\\n\\nSDKs PLuG SDK\\n\\nMethods\\n\\nThe PLuG SDK is a robust tool designed to elevate your website or application by enhancing our widget\\xe2\\x80\\x99s capabilities. With our SDK, you can integrate our", + "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-12474_KNOWLEDGE_NODE-0", + "text": "b'This document serves as a guide for pinning the relevant Session Analytics views to the left navigation panel in DevRev.\\n\\nTo begin, navigate to the left panel and select \"Explore.\"\\n\\nSearch for \"Session Replays\" and pin it to your preferred section of the left navigation. Repeat the same for \"Session Analytics: Web\" and \"Session Analytics: Mobile.\".\\n\\nAdditionally, feel free to unpin any views that you do not wish to display in your left navigation.'", + "title": "Pin Session Analytics views to the left navigation" }, { - "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", - "title": "October 5: Left navigation | Changelog | DevRev" + "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-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-12461_KNOWLEDGE_NODE-6", + "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": "Quickstart guide \u2014 DevRev | Docs" }, { - "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-9", + "text": "[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 * [Pricing](https://devrev.ai/pricing/support)\\n", "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", + "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-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-2666_KNOWLEDGE_NODE-30", + "text": "in Explore\\n\\nIn the **Explore** section, users can search for specific views using the search bar located in the top-left corner. Additionally, users can filter views by type, including:\\n\\n * **Dashboards**\\n * **Sprint Boards**\\n * **Vistas**\\n\\n### Pinning and unpinning views\\n\\nYou can now pin views from the **Explore** section directly to your left navigation menu or remove them for a more tailored experience. This feature ensures quick access to the most important views.\\n\\nTo pin or", + "title": "October 5: Left navigation | Changelog | DevRev" }, { - "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-12459_KNOWLEDGE_NODE-6", + "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": "Migration guide \u2014 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-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", + "title": "October 5: Left navigation | Changelog | DevRev" }, { - "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-2666_KNOWLEDGE_NODE-33", + "text": "it.](/blog/soc-compliance)\\n\\nProduct\\n\\n * [For Support Teams](/support)\\n * [For Builders](/build)\\n * [Search Agent](/search)\\n * [CX Agent](/plug-user-engagement)\\n * [User Observability](/plug-observability)\\n * [Marketplace](https://marketplace.devrev.ai/)\\n\\nPlatform\\n\\n * [AgentOS](/agent-os)\\n * [Airdrop](/airdrop)\\n * [Analytics](/analytics)\\n * [Workflow Engine](/workflow-engine)\\n\\nResources\\n\\n * [Pricing](/pricing/support)\\n * [Blog](/blog)\\n * [Events](/events)\\n *", + "title": "October 5: Left navigation | Changelog | DevRev" } ] }, @@ -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", + "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-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-1781_KNOWLEDGE_NODE-128", + "text": "a bad request error is returned. If a new custom schema specifier is provided, then it will be added to the work, otherwise if a custom schema is omitted from the specifier, it remains unmodified.\\nShow 4 properties\\ndisplay_name string Optional\\nThe updated display name of the Dev user.\\nexperience_start_date datetime Optional\\nStart date of Dev user\\'s experience.\\nfull_name string Optional\\nThe updated full name of the Dev user.\\njob_history list of objects Optional\\nJob history of the Dev", + "title": "List \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-1791_KNOWLEDGE_NODE-129", + "text": "a bad request error is returned. If a new custom schema specifier is provided, then it will be added to the work, otherwise if a custom schema is omitted from the specifier, it remains unmodified.\\nShow 4 properties\\ndisplay_name string Optional\\nThe updated display name of the Dev user.\\nexperience_start_date datetime Optional\\nStart date of Dev user\\'s experience.\\nfull_name string Optional\\nThe updated full name of the Dev user.\\njob_history list of objects Optional\\nJob history of the Dev", + "title": "Self Delete \u2014 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-1789_KNOWLEDGE_NODE-76", + "text": "bad request error is returned. If a new custom schema specifier is provided, then it will be added to the work, otherwise if a custom schema is omitted from the specifier, it remains unmodified.\\nShow 4 properties\\nResponse.\\n\\nThis endpoint returns an object.\\ncode_change object\\nShow 17 properties\\nAPI Reference notifications Content Template Create.\\n\\nPOST https:// api.devrev.ai / content-template.create\\nCreate the content template.\\nRequest.\\n\\nThis endpoint expects an", + "title": "List \u2014 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-1300_KNOWLEDGE_NODE-76", + "text": "bad request error is returned. If a new custom schema specifier is provided, then it will be added to the work, otherwise if a custom schema is omitted from the specifier, it remains unmodified.\\nShow 4 properties\\nResponse.\\n\\nThis endpoint returns an object.\\ncode_change object\\nShow 17 properties\\nAPI Reference notifications Content Template Create.\\n\\nPOST https:// api.devrev.ai / content-template.create\\nCreate the content template.\\nRequest.\\n\\nThis endpoint expects an", + "title": "Create \u2014 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-15375_KNOWLEDGE_NODE-4", + "text": "information.\\n\\ndev\\\\_orgobject\\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\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/api-reference/customization/custom-states-update)[#### Get Dev Org (POST)\\n\\nNext](/api-reference/dev-orgs/get-post)[Built", + "title": "Get Dev Org | 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-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-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-1206_KNOWLEDGE_NODE-12", + "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/dev-users/list)[#### Merge Dev Users\\n\\nNext](/api-reference/dev-users/merge)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "List Dev Users (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-1174_KNOWLEDGE_NODE-3", + "text": "to perform the requested action. |\\n| `404` | `Not Found` | The requested endpoint doesn\\xe2\\x80\\x99t exist. |\\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", + "title": "Errors | 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-12981_KNOWLEDGE_NODE-2", + "text": "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\\nPOST\\n\\n/code-changes.update\\n\\n[code]\\n\\n $| curl -X POST https://api.devrev.ai/code-changes.update \\\\ \\n ---|--- \\n >| -H \"Authorization: Bearer \" \\\\ \\n >| -H \"Content-Type: application/json\" \\\\ \\n >| -d \\'{ \\n >| \"id\": \"foo\" \\n >|", + "title": "Update Code Change \u2014 DevRev | Docs" } ] }, @@ -3196,14 +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-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-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" }, { - "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-16784_KNOWLEDGE_NODE-6", + "text": "in the source system.\\n\\nTerms related to connection: AirSync, snap-incontact\\n\\nIndividual prospects or users associated with an organization\\'s workspaces or accounts.\\n\\nContacts can be associated with an account or workspace, but not always.\\n\\nTerms related to contact: account, workspace\\n\\nRead more about contact: [https://devrev.ai/docs/product/grow](https://devrev.ai/docs/product/grow)conversation\\n\\nAn interaction between the builder and consumer that may be escalated to a", + "title": "Glossary" }, { "id": "ART-1960_KNOWLEDGE_NODE-28", @@ -3211,9 +3216,9 @@ "title": "Glossary | Computer by DevRev | 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-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-16264_KNOWLEDGE_NODE-29", @@ -3221,29 +3226,24 @@ "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-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-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-16784_KNOWLEDGE_NODE-6", - "text": "in the source system.\\n\\nTerms related to connection: AirSync, snap-incontact\\n\\nIndividual prospects or users associated with an organization\\'s workspaces or accounts.\\n\\nContacts can be associated with an account or workspace, but not always.\\n\\nTerms related to contact: account, workspace\\n\\nRead more about contact: [https://devrev.ai/docs/product/grow](https://devrev.ai/docs/product/grow)conversation\\n\\nAn interaction between the builder and consumer that may be escalated to a", - "title": "Glossary" + "id": "ART-2035_KNOWLEDGE_NODE-28", + "text": "maintain one public connection per DevRev organization. Within an organization, one Slack connection can be used across multiple snap-ins and workflows. Creating multiple connections may disrupt existing integrations.\\n* Connecting with Slack enterprise workspace is currently in limited availability. If you have a Slack Enterprise account, please contact DevRev Support to be whitelisted before attempting setup.\\n\\n1. Search and open [Slack](https://marketplace.devrev.ai/one-slack) in the DevRev", + "title": "Slack | Integrate | Snap-ins | DevRev" }, { - "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-2933_KNOWLEDGE_NODE-2", + "text": "[contacts](https://docs.devrev.ai/product/grow#-contact) which represents an individual user associated with the account of the organization. To create a contact, we also need to use the `rev-orgs.list` API with the `accounts` filter to get the default [workspace](https://docs.devrev.ai/product/grow#-workspace)(rev org) created with the account. We will be creating a contact under the workspace (`rev_org`) of the account as contacts (`rev_user`) cannot exist individually without being", + "title": "Account creation | 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-2037_KNOWLEDGE_NODE-35", + "text": "to associate a PR with multiple DevRev issues without having to include them in the PR title. This associates the PR with the issues and the [automations](#automation) for stage changes apply just as if the issue IDs had been included in the title.\\n\\nExample:\\n\\n```\\n```\\n1 Fixes various formatting issues.\\n\\n\\n\\n2 /towards ISS-31 ISS-232 ISS-421\\n```\\n```\\n\\n### Close\\n\\n**/close** can be used in a PR body to both associate a PR with multiple DevRev issues and close them when the PR is", + "title": "GitHub | Integrate | Snap-ins | 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-1953_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": "Customer email notifications | Computer by DevRev | DevRev" }, { - "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-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-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-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-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-4181_KNOWLEDGE_NODE-28", + "text": "information\\n\\n![]()\\n\\n![]()\\n\\n![]()\\n\\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\\n![]()\\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\\n![]()\\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-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-26", + "text": "Act swiftly with detailed, actionable information\\n\\n![]()\\n\\n![]()\\n\\n![]()\\n\\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\\n![]()\\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\\n![]()\\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-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", + "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-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-1953_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": "Customer email notifications | Computer by DevRev | DevRev" } ] }, @@ -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-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-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-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-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-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-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-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-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-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" }, { - "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-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-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-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-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-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-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-1978_KNOWLEDGE_NODE-28", + "text": "eliminating the need for scattered email chains.\\n* **Improved collaboration**: Customer admins can access and manage tickets from their team, enabling seamless collaboration and knowledge sharing.\\n\\nFeatures\\n--------\\n\\n### Ticket creation, tracking, and team collaboration\\n\\n* Customers can create tickets with relevant details, such as issue description, priority, and category.\\n + To create a ticket, go to **+ Ticket**. Enter a title and description for the ticket and click **Submit**.\\n*", + "title": "Customer portal | Computer for Support Teams | 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-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" } ] }, @@ -3364,9 +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-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-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-888_KNOWLEDGE_NODE-49", @@ -3374,44 +3379,39 @@ "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-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-6175_KNOWLEDGE_NODE-26", + "text": "contacts.\\n* **Link Account and Contact:**\\n Enable this option to link the account and contact to the custom object.\\n* **Account Description Fields:**\\n Enable this option to generate a rich description for accounts using values from multiple Airtable columns.\\n* **Contact Description Fields:**\\n Enable this option to generate a rich description for contacts using values from multiple Airtable columns.\\n* **Airtable Email Columns:**\\n Comma-separated list of names of the columns in", + "title": "Airtable | Automate | Snap-ins | DevRev" }, { - "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-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-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-1979_KNOWLEDGE_NODE-31", + "text": "from an email thread containing multiple customer email IDs, multiple reporters may be added. If a DevRev user adds a new customer while responding from DevRev, or if a new customer responds to the email thread, these new customers are added to the **Reported by** field. In the case of the Portal, there is only one **Reported by**, representing the person who has logged in to the portal to report the issue. Additional reporters can be added from the DevRev app. To select a contact in the", + "title": "Tickets | Computer for Support Teams | DevRev" }, { - "id": "ART-3207_KNOWLEDGE_NODE-38", - "text": "Step 2: Define the Primary Use Case\\n\\nChoose how DevRev should interpret emails sent to the primary address:\\n\\n* Choose between generating a **Ticket or a Conversation** from the incoming email.\\n\\nToggle on **Set email as the default channel for tickets** to ensure that:\\n\\n* Customer chat replies are sent via email as well as to the original source of the channel.\\n\\n### Step 3: Add Additional Support Emails\\n\\nYou can add more addresses to handle support requests.\\n\\n* **Tickets**: Emails", - "title": "Email snap-in configuration | Email | Integrate | Snap-ins | DevRev" + "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-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-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-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", - "title": "Email snap-in configuration | Email | Integrate | Snap-ins | 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-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-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" } ] }, @@ -3425,48 +3425,48 @@ "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", + "id": "ART-2059_KNOWLEDGE_NODE-5", + "text": "Jul 06 to Jul 19, 2023 Jun 20 to Jul 05, 2023 Jun 05 to Jun 19, 2023 May 22 to Jun 05, 2023 Apr 22 to May 22, 2023\\n\\nDeveloper DevRevU\\n\\nOn this page\\nIntegration code Unique app ID Setup for HTML Setup for React\\nInstall PLuG chat on your website.\\n\\nThere are two primary methods to customize PLuG chat. The easiest way is to do so through the app by navigating to Settings > Support > PLuG Settings > Configuration, Styling and Layout Tabs.. For detailed descriptions of the parameters, refer", "title": "Install PLuG chat on your website" }, { - "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", - "title": "Install PLuG chat on your website" + "id": "ART-2894_KNOWLEDGE_NODE-2", + "text": "insert the code snippet provided below on every page where you want the widget to appear for website visitors.\\n\\n## Unique app ID\\n\\nEnsure to replace the app ID with your app ID which identifies your PLuG search widget. You can access your app ID from your DevRev account by following these steps.\\n\\n 1. In DevRev, go to **Settings** > **Support** > **PLuG Settings** through the settings icon in the top-left corner.\\n 2. Click **Enable PLuG Widget** if it isn\\xe2\\x80\\x99t already enabled.\\n", + "title": "Install PLuG search \u2014 DevRev | Docs" }, { - "id": "ART-2059_KNOWLEDGE_NODE-12", - "text": "width=\"0\" style=\"display:none;visibility:hidden\">'", + "id": "ART-2059_KNOWLEDGE_NODE-8", + "text": "window.plugSDK.init({\\n3 // Please ensure you replace the app_id with your unique app id\\n4 app_id: \"\",\\n5 });\\n6 \\nSetup for React.\\n\\nPlace this in public/index.html file, inside the body tag of your HTML page.\\n\\n1 ;\\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", "title": "Install PLuG chat on your website" }, { - "id": "ART-2059_KNOWLEDGE_NODE-5", - "text": "Jul 06 to Jul 19, 2023 Jun 20 to Jul 05, 2023 Jun 05 to Jun 19, 2023 May 22 to Jun 05, 2023 Apr 22 to May 22, 2023\\n\\nDeveloper DevRevU\\n\\nOn this page\\nIntegration code Unique app ID Setup for HTML Setup for React\\nInstall PLuG chat on your website.\\n\\nThere are two primary methods to customize PLuG chat. The easiest way is to do so through the app by navigating to Settings > Support > PLuG Settings > Configuration, Styling and Layout Tabs.. For detailed descriptions of the parameters, refer", - "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[/code] \\n \\nPlace the following code in the `` section of your HTML page:\\n\\n[code]\\n\\n 1| |\\n```\\n\\nPlace the following code in the `` section of your HTML page:\\n\\n```\\n| | |\\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", + "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" } ] @@ -3475,40 +3475,30 @@ "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-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-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-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-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" }, { - "id": "ART-2017_KNOWLEDGE_NODE-27", - "text": "Connection**.\\n * Select **Slack** from the dowpdown list.\\n * Give it a name and sign in with Slack. Ensure to toggle on **Make public** to make the connection public for your organization.\\n\\nConfigure the snap-in\\n---------------------\\n\\n1. In the **Configuration** tab, the first input field to set is *filters*. Here you can declare for which tickets to track the SLA status and to which channels to send notifications.\\n\\n Set the ticket subtype, severity, and part; the support heads", - "title": "SLA status change Slack notifier | Automate | Snap-ins | DevRev" + "id": "ART-4181_KNOWLEDGE_NODE-28", + "text": "information\\n\\n![]()\\n\\n![]()\\n\\n![]()\\n\\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\\n![]()\\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\\n![]()\\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-2035_KNOWLEDGE_NODE-38", @@ -3516,13 +3506,23 @@ "title": "Slack | Integrate | 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-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-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-26", + "text": "Act swiftly with detailed, actionable information\\n\\n![]()\\n\\n![]()\\n\\n![]()\\n\\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\\n![]()\\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\\n![]()\\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-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-2017_KNOWLEDGE_NODE-27", + "text": "Connection**.\\n * Select **Slack** from the dowpdown list.\\n * Give it a name and sign in with Slack. Ensure to toggle on **Make public** to make the connection public for your organization.\\n\\nConfigure the snap-in\\n---------------------\\n\\n1. In the **Configuration** tab, the first input field to set is *filters*. Here you can declare for which tickets to track the SLA status and to which channels to send notifications.\\n\\n Set the ticket subtype, severity, and part; the support heads", "title": "SLA status change Slack notifier | Automate | Snap-ins | DevRev" } ] @@ -3532,43 +3532,33 @@ "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|", + "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-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-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-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-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-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-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-15", + "text": "of strings Optional\\nDomains for accounts to be filtered.\\nexternal_refs list of strings Optional\\nArray of references of accounts to be filtered.\\nlimit integer Optional\\nThe maximum number of accounts to return per page. The default is \\'50\\'.\\nmode \"after\" or \"before\" Optional\\nAllowed values: after before\\nThe iteration mode to use. If \"after\", then entries after the provided cursor will be returned, or if no cursor is provided, then from the beginning. If \"before\", then entries before the", + "title": "Export \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-1652_KNOWLEDGE_NODE-11", + "text": "string Optional\\nArray of display names of accounts to be filtered.\\ndomains string Optional\\nDomains for accounts to be filtered.\\nexternal_refs string Optional\\nArray of references of accounts to be filtered.\\nlimit integer Optional\\nThe maximum number of accounts to return per page. The default is \\'50\\'.\\nmode \"after\" or \"before\" Optional\\nThe iteration mode to use, otherwise if not set, then \"after\" is used.\\nAllowed values: after before\\nmodified_date.after datetime Optional\\nFilters for", + "title": "Export \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", + "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" }, { @@ -3577,9 +3567,19 @@ "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-4", + "text": "specified stages.\\n\\ntierlist of stringsOptional\\n\\nTier of the accounts to be filtered.\\n\\nwebsiteslist of 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", "title": "Export Accounts \u2014 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-1303_KNOWLEDGE_NODE-20", + "text": "of strings Optional\\nDomains for accounts to be filtered.\\nexternal_refs list of strings Optional\\nArray of references of accounts to be filtered.\\nlimit integer Optional\\nThe maximum number of accounts to return per page. The default is \\'50\\'.\\nmode \"after\" or \"before\" Optional\\nAllowed values: after before\\nThe iteration mode to use. If \"after\", then entries after the provided cursor will be returned, or if no cursor is provided, then from the beginning. If \"before\", then entries before the", + "title": "Export Post \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-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-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-55", + "text": "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 object.\\nurl string\\nThe artifact\\'s download URL.\\nexpires_at datetime Optional\\nThe expiration timestamp of the URL.\\nAPI Reference artifacts Prepare.\\n\\nPOST https:// api.devrev.ai / artifacts.prepare\\nCreates", + "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-1303_KNOWLEDGE_NODE-52", + "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 Post \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", - "title": "Export Accounts | DevRev | Docs" + "id": "ART-1639_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 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", - "title": "Export Accounts \u2014 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-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-1949_KNOWLEDGE_NODE-27", + "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-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-1303_KNOWLEDGE_NODE-51", + "text": "string Optional\\nThe ID of the object to filter artifacts.\\nResponse.\\n\\nThis endpoint returns an object.\\nartifacts list of objects\\nThe artifact\\'s information.\\nShow 6 properties\\nAPI Reference artifacts 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", + "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-1639_KNOWLEDGE_NODE-46", + "text": "string Optional\\nThe ID of the object to filter artifacts.\\nResponse.\\n\\nThis endpoint returns an object.\\nartifacts list of objects\\nThe artifact\\'s information.\\nShow 6 properties\\nAPI Reference artifacts 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", + "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-1652_KNOWLEDGE_NODE-46", + "text": "string Optional\\nThe ID of the object to filter artifacts.\\nResponse.\\n\\nThis endpoint returns an object.\\nartifacts list of objects\\nThe artifact\\'s information.\\nShow 6 properties\\nAPI Reference artifacts 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", + "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-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", + "title": "Account and contact import | Computer for Growth Teams | 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-2874_KNOWLEDGE_NODE-7", + "text": "[Roadmap](/docs/product/roadmap)\\n + [Build best practices](/docs/product/build-bp)\\n + [Build snap-ins](/docs/product/snapins-build)\\n* [Computer for Your Customers](/docs/plug)\\n\\n + [Plug widget customization](/docs/plug/customize)\\n + [Session analytics](/docs/plug/session-analytics-intro)\\n\\n - [Computer for User Insights](/docs/plug/observability)\\n - [Session recording options](/docs/plug/session-recording)\\n - [Cross-domain session", + "title": "Ticket issue field migrator | 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-2874_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": "Ticket issue field migrator | 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-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-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-2874_KNOWLEDGE_NODE-22", + "text": "AirSync](/docs/integrations/gitbook)\\n - [DevRev AirSync](/docs/integrations/devrev-airdrop)\\n - [GitHub Issues AirSync](/docs/integrations/github-airdrop)\\n - [Paligo AirSync](/docs/integrations/paligo)\\n - [Jira Service Management AirSync](/docs/integrations/jsm)\\n - [BrowserStack AirSync](/docs/integrations/browserstack)\\n* [Changelog](/docs/changelog)\\n\\n + [August 2025](/docs/changelog/latest)\\n + [July 2025](/docs/changelog/_2025-07-01)\\n + [June", + "title": "Ticket issue field migrator | 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-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-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-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": "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-2874_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": "Ticket issue field migrator | Automate | Snap-ins | DevRev" }, { - "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-2874_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": "Ticket issue field migrator | 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-2874_KNOWLEDGE_NODE-30", + "text": "[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": "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-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" } ] }, @@ -3705,24 +3705,29 @@ "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-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-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-12455_KNOWLEDGE_NODE-1", + "text": "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. \\n**Solution** : Ensure you have correctly called one of the identification methods: `DevRev.identifyUnverifiedUser(...)` or `DevRev.identifyAnonymousUser(...)`.\\n\\n * **Issue** : Not receiving push notifications. \\n**Solution** : Ensure that your app is configured to receive push", + "title": "Troubleshooting \u2014 DevRev | Docs" }, { - "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-15516_KNOWLEDGE_NODE-1", + "text": "errors in the console using Apple\\xe2\\x80\\x99s Unified Logging System. Look for error messages in the subsystem `ai.devrev.sdk`.\\n* **Issue**: Support chat doesn\\xe2\\x80\\x99t show.\\n **Solution**: Ensure you have correctly called one of the identification methods: `DevRev.identifyUnverifiedUser(...)` or `DevRev.identifyAnonymousUser(...)`.\\n* **Issue**: Not receiving push notifications.\\n **Solution**: Ensure that your app is configured to receive push notifications and that your device is", + "title": "Troubleshooting | DevRev | Docs" }, { - "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-12451_KNOWLEDGE_NODE-2", + "text": "level repositories block.\\n\\n * **Issue** : How does the DevRev SDK handle errors? **Solution** : The DevRev SDK reports all errors using Android\\xe2\\x80\\x99s logging utility. Look for error messages in Android Studio\\xe2\\x80\\x99s Logcat after applying `DEVREV SDK` filter.\\n\\n * **Issue** : Support chat doesn\\xe2\\x80\\x99t show. **Solution** : Ensure you have correctly called one of the identification methods: `DevRev.identifyUnverifiedUser(...)`, `DevRev.identifyVerifiedUser(...)`, or", + "title": "Troubleshooting \u2014 DevRev | Docs" + }, + { + "id": "ART-15514_KNOWLEDGE_NODE-1", + "text": "block.\\n* **Issue**: How does the DevRev SDK handle errors?\\n **Solution**: The DevRev SDK reports all errors using Android\\xe2\\x80\\x99s logging utility. Look for error messages in Android Studio\\xe2\\x80\\x99s Logcat after applying `DEVREV SDK` filter.\\n* **Issue**: Support chat doesn\\xe2\\x80\\x99t show.\\n **Solution**: Ensure you have correctly called one of the identification methods: `DevRev.identifyUnverifiedUser(...)`, `DevRev.identifyVerifiedUser(...)`, or", + "title": "Troubleshooting | DevRev | Docs" }, { "id": "ART-17569_KNOWLEDGE_NODE-2", @@ -3730,24 +3735,19 @@ "title": "Issues with Salesforce OAuth connection" }, { - "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", + "id": "ART-15716_KNOWLEDGE_NODE-25", + "text": "not working, try resending the code or using a different phone number.\\n\\nIf the problem continues, escalate with the user\\xe2\\x80\\x99s phone number, timestamp, and any error messages for backend review.\\n\\nOkta Integration and Forcing SSO\\n\\nYes, DevRev integrates with Okta for Single Sign-On (SSO). You can enforce SSO for your organization, ensuring all users authenticate via Okta. DevRev also supports SCIM for automated user provisioning and deprovisioning 12.\\n\\nTo set this up:\\n\\nGo to", "title": "Support queries related playbook" }, { - "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-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-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-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-2898_KNOWLEDGE_NODE-33", + "text": "**Issue** : Encountering problems with DevRev SDK integration. \\n**Solution** : Verify the correct SDK dependency setup in the project. Ensure `mavenCentral` is accessible from the IDE, and confirm accurate detection of the selected DevRev PLuG SDK version.\\n\\n * **Issue** : The `showSupport()` function or XML button is unresponsive. \\n**Solution** : Confirm that user identification is performed before using the `showSupport()` function or XML button.\\n\\n * **Issue** : Incorrect operation", + "title": "Android integration \u2014 DevRev | Docs" } ] }, @@ -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-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-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-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-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-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-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-1035_KNOWLEDGE_NODE-9", + "text": "velocity of the customer support team with the use of DevRev\\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 optimizes user experience with DevRev](/case-study/aditya-birla-capital)[![]()\\n\\n4 min readJar improves customer insights and increased conversion rates using DevRev](/case-study/jar)[![]()\\n\\n3 min read ICICI Prudential Life Insurance uses DevRev to slash", + "title": "Goodmeetings uses PLuG to reduce ticket resolution time" }, { - "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-1035_KNOWLEDGE_NODE-6", + "text": "chat and the integration with Slack threads, have been game-changers for the Goodmeetings team. They are also excited about the DevRev Marketplace and plan to continue using DevRev as they expand their platform and improve their customer service. Mishra also highlighted the benefits of DevRev, stating that customer experience has improved because of the velocity.\\n\\nI can\\'t think of anything else which has changed because we are still the same people, the customer support team remains the same", + "title": "Goodmeetings uses PLuG to reduce ticket resolution time" }, { - "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-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-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-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-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-1707_KNOWLEDGE_NODE-3", + "text": "overseeing the entire customer lifecycle. However, the app encountered technical issues that were affecting sales performance.\\n\\nAdditionally, the support team needed help grasping the issues reported by sales representatives. When they needed more information, the sales reps were often occupied with calls or unavailable to elaborate, leading to further delays in resolving these issues.\\n\\n### Blindspots in troubleshooting issues\\n\\nThe issue of limited ticket details extended from the support", + "title": "ICICI Prudential Life Insurance uses DevRev to slash resolution time by 95%" }, { - "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-1035_KNOWLEDGE_NODE-7", + "text": "and now with DevRev, we are more efficient.\\n\\nTop Features\\n------------\\n\\n* Computer for Customers (in-app customer center / live help chat)\\n* Team inbox for customer conversations\\n* Ticket triage and management\\n* Ticket clustering and attribution to product\\n* Automatic updates\\n* Convergence automation\\n* Customized automatic responses\\n* Snap-ins via DevRev Marketplace\\n* Slack integration\\n* Metrics, insights, reporting through Computer for user analytics\\n\\nThe", + "title": "Goodmeetings uses PLuG to reduce ticket resolution time" } ] }, @@ -3812,13 +3812,13 @@ "query": "who can provide access to a dashboard or board", "retrievals": [ { - "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", + "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-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" }, { @@ -3827,13 +3827,18 @@ "title": "Access control | 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-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-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*", + "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-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", "title": "Access control | Computer by DevRev | DevRev" }, { @@ -3841,11 +3846,6 @@ "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": "Dashboards | Computer by DevRev | DevRev" }, - { - "id": "ART-1955_KNOWLEDGE_NODE-38", - "text": "allows a user to create a dashboard\\n\\n Privileges: dashboard object ['CREATE']\\n* *Dashboard Owner:* A role that allows the creator to view, edit and delete a dashboard\\n\\n Privileges: dashboard object ['READ', 'UPDATE', 'DELETE']\\n* *Question Answer Interactor:* Contains privileges on question answers for members of the default group 'Members'.\\n\\n Privileges: question\\\\_answer object ['CREATE', 'READ', 'UPDATE']\\n* *Dataset Creator:* A role that allows a user to create a dataset\\n\\n", - "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", @@ -3857,9 +3857,9 @@ "title": "Dashboards | Computer by DevRev | DevRev" }, { - "id": "ART-15687_KNOWLEDGE_NODE-37", - "text": "Service](/legal/terms-of-service)\\n\\n[System Status](/status)\\n\\n\\xc2\\xa9 2025 DevRev Inc.\\n\\n![]()\\n\\n![]()\\n\\n![]()'", - "title": "Dashboards | Computer by DevRev | DevRev" + "id": "ART-15716_KNOWLEDGE_NODE-34", + "text": "DevRev provides dashboards for CSAT (Customer Satisfaction) scores:\\n\\nClick the Explore Section and search for the Ticket Insights or Ticket Team Performance Dashboard\\n\\nNavigate to find the CSAT widgets.\\n\\nYou can filter by time, team, or agent to get detailed insights.\\n\\nThis gives you a centralized view of customer feedback trends.3. Visualizing Data Using Dashboards and Widgets\\n\\nTo create dashboards:\\n\\nGo to the Vista you are interested in visualizing\\n\\nApply the necessary", + "title": "Support queries related playbook" } ] }, @@ -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-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-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-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-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-4172_KNOWLEDGE_NODE-3", + "text": "enlist a balance between AI, Automation and Human approaches to meet these goals. Our AI Support Agent is designed to enhance the efficiency of customer service operations by interacting with users to resolve common queries to taking complex actions. The majority of the time (>50%), our AI Support Agent can address our customers\\xe2\\x80\\x99 needs; however, in the event an issue is not resolved, the agent seamlessly escalates the conversation by creating a ticket. This hybrid approach of", + "title": "DevRev Service Level Agreement" }, { - "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-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-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-1036_KNOWLEDGE_NODE-7", + "text": "DevRev's in-app chat widget powered by Conversational AI, enabling users to receive instant support without leaving the application.\\n\\nA lot of our user's queries today are getting handled by DevRev's AI bot. These requests don't require human intervention, saving time not just for the support team but also for the customer. It's a wonderful experience, because users don't have to wait\\n\\n![]()\\n\\nDhruv AgrawalCOO & Co-founder, Shipsy\\n\\n### 3. Agent assistance and proactive issue", + "title": "Shipsy elevates logistics support with AI-powered automation and cross team collaboration" }, { - "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-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-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-4", + "text": "traditional AI that simply responds to specific queries, agentic AI can make decisions, execute multiple steps, and complete tasks with minimal human intervention, allowing for greater operational efficiency.\\n\\nThink of agentic AI as a digital assistant that doesn\\xe2\\x80\\x99t just answer your questions but actively works to achieve outcomes for you. These autonomous agents can plan sequences of actions, use various tools and systems, adapt to new information, and persist until completing the", + "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-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-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-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-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-15716_KNOWLEDGE_NODE-24", + "text": "collect browser/device details and escalate to engineering or support for further investigation.\\n\\nPhone Verification Troubleshooting\\n\\nIf phone verification fails:\\n\\nAsk the user to double-check the phone number format (country code, no extra spaces).\\n\\nEnsure they have a stable internet connection and can receive SMS.\\n\\nSometimes, SMS delivery can be delayed or blocked by carrier filters\\xe2\\x80\\x94ask them to wait a few minutes and check for messages from unknown senders.\\n\\nIf still", + "title": "Support queries related playbook" } ] }, @@ -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-1308_KNOWLEDGE_NODE-61", + "text": "authorization header.\\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 parameters.\\n\\ntoken_id string Required\\nThe unique identifier of the token under a given Dev organization.\\nResponse.\\n\\nThis endpoint returns an object.\\ntoken object\\nShow 14 properties\\nAPI Reference auth-tokens Get Post.\\n\\nPOST https:// api.devrev.ai / auth-tokens.get\\nGets the token", + "title": "Update \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-1302_KNOWLEDGE_NODE-64", + "text": "authorization header.\\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 parameters.\\n\\ntoken_id string Required\\nThe unique identifier of the token under a given Dev organization.\\nResponse.\\n\\nThis endpoint returns an object.\\ntoken object\\nShow 14 properties\\nAPI Reference auth-tokens Get Post.\\n\\nPOST https:// api.devrev.ai / auth-tokens.get\\nGets the token", + "title": "Export \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-1780_KNOWLEDGE_NODE-59", + "text": "authorization header.\\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 parameters.\\n\\ntoken_id string Required\\nThe unique identifier of the token under a given Dev organization.\\nResponse.\\n\\nThis endpoint returns an object.\\ntoken object\\nShow 14 properties\\nAPI Reference auth-tokens Get Post.\\n\\nPOST https:// api.devrev.ai / auth-tokens.get\\nGets the token", + "title": "Get Post \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-1301_KNOWLEDGE_NODE-64", + "text": "authorization header.\\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 parameters.\\n\\ntoken_id string Required\\nThe unique identifier of the token under a given Dev organization.\\nResponse.\\n\\nThis endpoint returns an object.\\ntoken object\\nShow 14 properties\\nAPI Reference auth-tokens Get Post.\\n\\nPOST https:// api.devrev.ai / auth-tokens.get\\nGets the token", + "title": "Delete \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)'", + "id": "ART-1196_KNOWLEDGE_NODE-0", + "text": "b'Get Auth Token | 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\\nGet Auth Token\\n==============\\n\\nCopy page\\n\\nGET\\n\\nhttps://api.devrev.ai/auth-tokens.get\\n\\nGET\\n\\n/auth-tokens.get\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl -G https://api.devrev.ai/auth-tokens.get \\\\ |\\n| > | -H \"Authorization: Bearer \" \\\\ |\\n| > | -d", "title": "Get Auth Token | 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-1785_KNOWLEDGE_NODE-58", + "text": "header.\\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 parameters.\\n\\ntoken_id string Required\\nThe unique identifier of the token under a given Dev organization.\\nResponse.\\n\\nThis endpoint returns an object.\\ntoken object\\nShow 14 properties\\nAPI Reference auth-tokens Get Post.\\n\\nPOST https:// api.devrev.ai / auth-tokens.get\\nGets the token metadata", + "title": "Create \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-1781_KNOWLEDGE_NODE-58", + "text": "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 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", + "title": "List \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", - "title": "Info Auth Tokens \u2014 DevRev | Docs" + "id": "ART-1201_KNOWLEDGE_NODE-0", + "text": "b'Update Auth Token | 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\\nUpdate Auth Token\\n=================\\n\\nCopy page\\n\\nPOST\\n\\nhttps://api.devrev.ai/auth-tokens.update\\n\\nPOST\\n\\n/auth-tokens.update\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl -X POST https://api.devrev.ai/auth-tokens.update \\\\ |\\n| > | -H \"Authorization: Bearer", + "title": "Update Auth Token | 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", - "title": "Create Auth Token \u2014 DevRev | Docs" + "id": "ART-1779_KNOWLEDGE_NODE-60", + "text": "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 corresponding to the given token ID under the given Dev organization.\\nQuery parameters.\\n\\ntoken_id string Required\\nThe unique identifier of the token under a given Dev organization.\\nResponse.\\n\\nThis endpoint", + "title": "Get \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-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" } ] }, @@ -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-1818_KNOWLEDGE_NODE-463", + "text": "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 opportunity task ticket\\nResponse.\\n\\nThis endpoint returns", + "title": "Sla Trackers Get Post \u2014 DevRev | Docs" }, { - "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-1818_KNOWLEDGE_NODE-450", + "text": "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 opportunity task ticket\\nResponse.\\n\\nThis endpoint returns", + "title": "Sla Trackers Get Post \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-1819_KNOWLEDGE_NODE-450", + "text": "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 provided", + "title": "Sla Trackers Get \u2014 DevRev | Docs" }, { - "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-1819_KNOWLEDGE_NODE-463", + "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": "Sla Trackers Get \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-1575_KNOWLEDGE_NODE-466", + "text": "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 opportunity task ticket\\nResponse.\\n\\nThis endpoint returns", + "title": "Delete \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-1575_KNOWLEDGE_NODE-453", + "text": "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 opportunity task ticket\\nResponse.\\n\\nThis endpoint returns", + "title": "Delete \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-1637_KNOWLEDGE_NODE-467", + "text": "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 opportunity task ticket\\nResponse.\\n\\nThis endpoint returns", + "title": "Delete \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-1821_KNOWLEDGE_NODE-463", + "text": "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 opportunity task ticket\\nResponse.\\n\\nThis endpoint returns", + "title": "Delete \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-1821_KNOWLEDGE_NODE-450", + "text": "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 opportunity task ticket\\nResponse.\\n\\nThis endpoint returns", + "title": "Delete \u2014 DevRev | Docs" } ] }, @@ -4036,8 +4036,8 @@ "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", + "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" }, { @@ -4045,6 +4045,16 @@ "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-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-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-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:", @@ -4056,9 +4066,9 @@ "title": "Convergence | 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" + "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-1974_KNOWLEDGE_NODE-30", @@ -4066,24 +4076,14 @@ "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-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", + "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-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-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-13189_KNOWLEDGE_NODE-37", + "text": "Experience\\n\\n We have improved our follow-up ticket experience & enhancing the way immutable tickets handle new customer messages. This update focuses on reducing duplicated efforts and streamlining communication across different channels.\\n\\n New Features:\\n\\n + Unified Follow-Up Ticket Creation: Introduces the ability to automatically create and link follow-up tickets when a customer responds to an archived ticket across various communication channels.\\n + Configurable Follow-Up", + "title": "March and April 2025 | Changelog | DevRev" } ] }, @@ -4092,54 +4092,54 @@ "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", - "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", + "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-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-15726_KNOWLEDGE_NODE-0", + "text": "b\"If you just imported a bunch of articles from your favorite external system, but can't see them in DevRev, the most important question to ask yourself is whether that article was shared with you in the external system. Airdrop is permission-aware for articles, so if an article (or document, or page, whatever gets imported as an Airdrop article) was not shared with you in the external system, then you won't have access to it in DevRev (even if you're an admin), assuming the default visibility", + "title": "Visibility of Airdrop-imported articles" }, { - "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-4070_KNOWLEDGE_NODE-5", + "text": "article object, or unchanged if not provided.\\n\\nurlstringOptional`format: \"text\"`\\n\\nUpdates the URL of the external article.\\n\\n### Response\\n\\nSuccess.\\n\\narticleobject\\n\\nShow 19 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/articles.update\\n\\n[code]\\n\\n $| curl -X POST", + "title": "Update Article \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", + "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-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-1304_KNOWLEDGE_NODE-33", + "text": "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 authors of the article.\\ncustom_fields map from", + "title": "Get \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-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-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-1577_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": "Get Post \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-1806_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": "Self Post \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-1303_KNOWLEDGE_NODE-31", + "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": "Export Post \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-1566_KNOWLEDGE_NODE-154", + "text": "stages.custom.create\\n\\nCreates a custom stage.\\n\\nRequest.\\n\\nThis endpoint expects an object.\\nname string Required\\n\\nThe name of the custom stage.\\n\\nordinal integer Required\\n\\nThe ordinal of the custom stage used for ordering.\\n\\nstate string Required\\n\\nThe state ID.\\n\\nmarketplace_ref string Optional\\n\\nA reference to the marketplace item from which this stage was imported.\\n\\nResponse.\\n\\nThis endpoint returns an object.\\ncustom_stage object\\nShow 9 properties\\nAPI Reference", + "title": "Transition (Beta) \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-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-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-1645_KNOWLEDGE_NODE-44", + "text": "object lifecycle to your organization\\xe2\\x80\\x99s specific requirements.\\n\\nA state is a group of stages. For example, the _open_ state groups the _triage_ , _backlog_ , and _prioritized_ stages. By default, DevRev creates _open_ , _in_progress_ , and _closed_ states in your organization.\\n\\n#####\\n\\nYou want to add a new stage _Needs RCA_ to the _bug_ subtype.\\n\\n### Create custom stages\\n\\n[code]\\n\\n $| curl --location \\'https://api.devrev.ai/stages.custom.create\\' \\\\ \\n ---|--- \\n", + "title": "Object customization (Beta) \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-15342_KNOWLEDGE_NODE-5", + "text": "change\\nresults in a change in the stage diagram.\\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/stock-schema-fragments-list-post)[#### Create Stage Diagram\\n\\nNext](/api-reference/customization/stage-diagrams-create)[Built", + "title": "Prepare-Update Schemas Subtypes | 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-1677_KNOWLEDGE_NODE-2", + "text": "update.\\n\\nnamestringOptional`format: \"text\"`\\n\\nThe updated name of the custom stage.\\n\\nordinalintegerOptional\\n\\nThe ordinal of the custom 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", + "title": "Update Stages Custom (Beta) \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-1668_KNOWLEDGE_NODE-2", + "text": "stage.\\n\\nordinalintegerRequired\\n\\nThe ordinal of the custom stage used for ordering.\\n\\nstatestringRequired`format: \"id\"`\\n\\nThe state ID.\\n\\nmarketplace_refstringOptional`format: \"id\"`\\n\\nA reference to the marketplace item from which this stage was imported.\\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\\n429\\n\\nToo Many Requests Error\\n\\n500\\n\\nInternal Server", + "title": "Create Stages Custom (Beta) \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-15356_KNOWLEDGE_NODE-5", + "text": "ordering.\\n\\nstatestringRequired`format: \"id\"`\\n\\nThe state ID.\\n\\nmarketplace\\\\_refstringOptional`format: \"id\"`\\n\\nA reference to the marketplace item from which this stage was\\nimported.\\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\\n429\\n\\nToo Many Requests Error\\n\\n500\\n\\nInternal Server Error\\n\\n503\\n\\nService Unavailable Error\\n\\nWas this page", + "title": "Create Stages Custom | DevRev | Docs" }, { - "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-996_KNOWLEDGE_NODE-37", + "text": "of the state and stage. For example\\n # active: pr approval pending, etc.\\n - name: state\\n devrev_field_type: overridable_enum\\n devrev_enum:\\n - open\\n - in-progress\\n - closed\\n is_required: true\\n 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", + "title": "An Example Object Model Style Guide (our actual style guide)" }, { - "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-15350_KNOWLEDGE_NODE-6", + "text": "defining\\nstage transitions.\\n\\nstageslist of objectsRequired\\n\\nList of stages in the diagram.\\n\\nShow 4 properties\\n\\nis\\\\_custom\\\\_leaf\\\\_typebooleanOptional\\n\\nWhether the leaf type corresponds to a custom object.\\n\\nis\\\\_defaultbooleanOptional\\n\\nWhether this is a default stage diagram.\\n\\n### Response\\n\\nSuccess.\\n\\nstage\\\\_diagramobject\\n\\nShow 11 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": "Create Stage Diagram | 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-3895_KNOWLEDGE_NODE-6", + "text": "\"id\": \"foo\", \\n 53| \"file\": { \\n 54| \"type\": \"foo\", \\n 55| \"name\": \"foo\", \\n 56| \"size\": 42 \\n 57| } \\n 58| }, \\n 59| \"email\": \"foo\", \\n 60| \"full_name\": \"foo\", \\n 61| \"state\": \"active\" \\n 62| }, \\n 63| \"modified_date\": \"2023-01-01T12:00:00.000Z\", \\n 64| \"name\": \"foo\" \\n 65| } \\n 66| }\\n[/code] \\n \\n[Create Stages CustomUp", + "title": "Update Stage Diagram (Beta) \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-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-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-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-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-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-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", + "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-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-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-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-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-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", + "id": "ART-2032_KNOWLEDGE_NODE-30", + "text": "sync\\n\\n1. Update the snap-in configurations as needed.\\n\\n * **Calendar ID**: ID of Google calendar to be synced with 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 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", "title": "Google Calendar | Integrate | 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-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" } ] }, @@ -4270,44 +4270,44 @@ "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-1560_KNOWLEDGE_NODE-121", + "text": "object.\\n\\ntitle string Optional\\n\\nUpdates the title of the custom object.\\n\\nResponse.\\n\\nThis endpoint returns an object.\\ncustom_object object\\nShow 10 properties\\nAPI Reference customization Custom Link Type Create.\\n\\nPOST https://api.devrev.ai / link-types.custom.create\\n\\nCreates a custom link type.\\n\\nRequest.\\n\\nThis endpoint expects an object.\\nbackward_name string Required\\n\\nThe name of the link in the backward direction.\\n\\nforward_name string Required\\n\\nThe name of the link in", + "title": "Assign (Beta) \u2014 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-1545_KNOWLEDGE_NODE-121", + "text": "object.\\n\\ntitle string Optional\\n\\nUpdates the title of the custom object.\\n\\nResponse.\\n\\nThis endpoint returns an object.\\ncustom_object object\\nShow 10 properties\\nAPI Reference customization Custom Link Type Create.\\n\\nPOST https://api.devrev.ai / link-types.custom.create\\n\\nCreates a custom link type.\\n\\nRequest.\\n\\nThis endpoint expects an object.\\nbackward_name string Required\\n\\nThe name of the link in the backward direction.\\n\\nforward_name string Required\\n\\nThe name of the link in", + "title": "Create (Beta) \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-1562_KNOWLEDGE_NODE-121", + "text": "object.\\n\\ntitle string Optional\\n\\nUpdates the title of the custom object.\\n\\nResponse.\\n\\nThis endpoint returns an object.\\ncustom_object object\\nShow 10 properties\\nAPI Reference customization Custom Link Type Create.\\n\\nPOST https://api.devrev.ai / link-types.custom.create\\n\\nCreates a custom link type.\\n\\nRequest.\\n\\nThis endpoint expects an object.\\nbackward_name string Required\\n\\nThe name of the link in the backward direction.\\n\\nforward_name string Required\\n\\nThe name of the link in", + "title": "Get (Beta) \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-1545_KNOWLEDGE_NODE-123", + "text": "object\\nShow 6 properties\\nAPI Reference customization Custom Link Type Get.\\n\\nGET https://api.devrev.ai / link-types.custom.get\\n\\nGets a custom link type.\\n\\nQuery parameters.\\n\\nid string Required\\n\\nThe ID of the custom link type to get.\\n\\nResponse.\\n\\nThis endpoint returns an object.\\ncustom_link_type object\\nShow 6 properties\\nAPI Reference customization Custom Link Type Get Post.\\n\\nPOST https://api.devrev.ai / link-types.custom.get\\n\\nGets a custom link type.\\n\\nRequest.\\n\\nThis", + "title": "Create (Beta) \u2014 DevRev | Docs" }, { - "id": "ART-15664_KNOWLEDGE_NODE-12", - "text": "application/json\\' \\\\ |\\n| > | --header \\'Authorization: Bearer \\' \\\\ |\\n| > | --data \\'{ |\\n| > | \"id\": \"don:core:dvrv-us-1:devo/demo:custom_link_type/1\", |\\n| > | \"name\": \"Link type between issue/ticket and campaign\", |\\n| > | \"source_types_v2\": [ |\\n| > | { |\\n| > | \"leaf_type\": \"issue\" |\\n| > | }, |\\n| > | { |\\n| > | \"leaf_type\": \"ticket\" |\\n| > | } |\\n| > | ] |\\n| > | }\\' |\\n```\\n\\nCreate links between objects with subtypes\\n------------------------------------------\\n\\n#####", - "title": "Links | DevRev | Docs" + "id": "ART-1591_KNOWLEDGE_NODE-196", + "text": "an object.\\ncustom_link_type object\\nShow 6 properties\\nAPI Reference customization Custom Link Type Get Post.\\n\\nPOST https:// api.devrev.ai / link-types.custom.get\\nGets a custom link type.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the custom link type to get.\\nResponse.\\n\\nThis endpoint returns an object.\\ncustom_link_type object\\nShow 6 properties\\nAPI Reference customization Custom Link Type List.\\n\\nGET https:// api.devrev.ai /", + "title": "Create \u2014 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-1651_KNOWLEDGE_NODE-196", + "text": "an object.\\ncustom_link_type object\\nShow 6 properties\\nAPI Reference customization Custom Link Type Get Post.\\n\\nPOST https:// api.devrev.ai / link-types.custom.get\\nGets a custom link type.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the custom link type to get.\\nResponse.\\n\\nThis endpoint returns an object.\\ncustom_link_type object\\nShow 6 properties\\nAPI Reference customization Custom Link Type List.\\n\\nGET https:// api.devrev.ai /", + "title": "Create \u2014 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-1822_KNOWLEDGE_NODE-196", + "text": "an object.\\ncustom_link_type object\\nShow 6 properties\\nAPI Reference customization Custom Link Type Get Post.\\n\\nPOST https:// api.devrev.ai / link-types.custom.get\\nGets a custom link type.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the custom link type to get.\\nResponse.\\n\\nThis endpoint returns an object.\\ncustom_link_type object\\nShow 6 properties\\nAPI Reference customization Custom Link Type List.\\n\\nGET https:// api.devrev.ai /", + "title": "Create \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-1605_KNOWLEDGE_NODE-196", + "text": "an object.\\ncustom_link_type object\\nShow 6 properties\\nAPI Reference customization Custom Link Type Get Post.\\n\\nPOST https:// api.devrev.ai / link-types.custom.get\\nGets a custom link type.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the custom link type to get.\\nResponse.\\n\\nThis endpoint returns an object.\\ncustom_link_type object\\nShow 6 properties\\nAPI Reference customization Custom Link Type List.\\n\\nGET https:// api.devrev.ai /", + "title": "Create \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-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-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-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-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-1985_KNOWLEDGE_NODE-42", + "text": "reveal additional criteria. You can also sort, group, and customize the displayed columns.\\n\\nArticle version management\\n--------------------------\\n\\nEvery time an article is updated, a new version is saved. You can track who made updates, when, and restore older versions if needed.\\n\\nView and restore previous versions:\\n\\n1. Open the article and click the 3-dot menu at the top right.\\n2. Select **Versions**.\\n3. Click **Restore version** to revert to a previous version.\\n\\nArticle", + "title": "Articles | Knowledge Base | Computer for Support Teams | DevRev" }, { - "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-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-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-50", + "text": "article is considered approved when all reviewers have approved it.\\n\\n### Publish an article\\n\\n1. Open the article and locate the **Publish** icon at the top right.\\n2. Click **Publish** to make the article available to customers.\\n\\n### Status and stages\\n\\n* Status options:\\n\\n + *Draft*: Internal only, not visible to customers\\n + *Published*: Visible to customers via the customer portal\\n* Stage options:\\n\\n + *No Stage* (default): No approval process started\\n + *In Review*:", "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", - "title": "Articles | Knowledge Base | Computer for Support Teams | DevRev" + "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-4065_KNOWLEDGE_NODE-9", - "text": "demo](https://devrev.ai/request-a-demo)\\n\\n'", - "title": "Delete Article \u2014 DevRev | Docs" + "id": "ART-1985_KNOWLEDGE_NODE-49", + "text": "click the **Create** drop-down.\\n2. Select **Create and submit for review**.\\n3. Add reviewers to the approval process, who receive notifications and are tagged in the **Discussions** tab.\\n\\nArticle approval is available only for articles created natively within DevRev.\\n\\n### Review an article\\n\\n1. Open the article and locate the **Review** icon at the top right.\\n2. Choose to either **Request Changes** or **Approve**.\\n3. If requesting changes, provide feedback in the placeholder.\\n\\nAn", + "title": "Articles | Knowledge Base | Computer for Support Teams | DevRev" }, { - "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-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", + "title": "Articles | Knowledge Base | Computer for Support Teams | 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-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", + "title": "Articles | Knowledge Base | Computer for Support Teams | DevRev" } ] }, @@ -4372,54 +4372,54 @@ "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-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-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", + "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-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", - "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + "id": "ART-15621_KNOWLEDGE_NODE-5", + "text": "history)\\n\\nKeyword-based search approach\\n\\nLacks understanding of user behavior patterns and work context\\n\\nSearch results described as \"total mess to wade through\" by users\\n\\nDevRev Superiority : Advanced contextual intelligence\\n\\nUses rich user activity patterns and work history\\n\\nContext-aware search results understanding user intent\\n\\nProactive surfacing of business-critical patterns and trends Search Analytics & Workflows\\n\\nGlean Constraints : Limited (Can\\'t do analytics &", + "title": "Glean - Competitive - for the PLuG on website" }, { - "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-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-13178_KNOWLEDGE_NODE-43", - "text": "business scenarios:\\n\\n * **Simple reflex agents** operate on straightforward condition-action rules without considering past experiences. For example, a basic customer inquiry routing system that assigns tickets based on predefined keywords falls into this category.\\n * **Model-based reflex agents** incorporate an internal model of the world, tracking the environment\\xe2\\x80\\x99s current state. A sales automation tool that considers past customer interactions when determining the next best", - "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + "id": "ART-4181_KNOWLEDGE_NODE-18", + "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-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-4181_KNOWLEDGE_NODE-16", + "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-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-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" }, { - "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-2886_KNOWLEDGE_NODE-10", + "text": "efficiency and innovation with DevRev](/case-study/uils)[![]()\\n\\n4 min readUnifying teams: How ActionIQ transformed support with integration](/case-study/actioniq)[![]()\\n\\n5 min readPixee powers its commitment to a stellar developer experience with DevRev](/case-study/pixee)\\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", + "title": "Case Study Library | DevRev" }, { - "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-1981_KNOWLEDGE_NODE-25", + "text": "practices\\n======================\\n\\nConfigure the DevRev app\\n------------------------\\n\\n* Install and configure the support convergence, auto-response, and article suggestion [snap-ins](/marketplace) so that customer conversations are acknowledged automatically.\\n* Ensure that every customer org record in DevRev contains the following:\\n + Pain points and primary use cases\\n + Success plan for the account\\n + Meeting notes and meeting recordings\\n + Next steps and action items\\n* Define", + "title": "Support best practices | Computer for Support Teams | DevRev" }, { - "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-1485_KNOWLEDGE_NODE-25", + "text": "clarity on the expected payload structure, the next step involves crafting custom code to handle the incoming events. In this context, the objective is to print information based on the event type. The provided TypeScript snippet exemplifies a function, `handleEvent`, tailored for our use case.\\n\\n[code]\\n\\n 1| async function handleDevRevEvent(event: any) { \\n ---|--- \\n 2| // Extracting necessary credentials and configurations from the event context \\n 3| const devrevPAT =", + "title": "Snap-in triggered by a DevRev event \u2014 DevRev | Docs" } ] }, @@ -4428,35 +4428,45 @@ "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", + "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-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.", + "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-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-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-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-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" }, { - "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:", - "title": "DevRev Pricing" + "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-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", "text": "included in Build Pro ($24.99/month)?\\n\\nEverything in Starter\\n\\nCustomizable issue management\\n\\nAdvanced reporting & analytics\\n\\n45-day free trial\\n\\nWhat\\'s included in Build Ultimate?\\n\\nEverything in Pro\\n\\nFull object model customization and unlimited integrations\\n\\nEnterprise-grade security, compliance, controls, and policies\\n\\nDevRev PLuG Pricing For detailed pricing and to get started: \\xc2\\xa0 https://devrev.ai/pricing/plug What are the PLuG pricing options?\\n\\nFree : AI-powered", @@ -4466,16 +4476,6 @@ "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-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-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", - "title": "DevRev Pricing - for the PLuG on the website" } ] }, @@ -4483,55 +4483,55 @@ "query_id": "4097c810-fcbe-42a6-93bb-79a94adf0faa", "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-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-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", - "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-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-15716_KNOWLEDGE_NODE-34", + "text": "DevRev provides dashboards for CSAT (Customer Satisfaction) scores:\\n\\nClick the Explore Section and search for the Ticket Insights or Ticket Team Performance Dashboard\\n\\nNavigate to find the CSAT widgets.\\n\\nYou can filter by time, team, or agent to get detailed insights.\\n\\nThis gives you a centralized view of customer feedback trends.3. Visualizing Data Using Dashboards and Widgets\\n\\nTo create dashboards:\\n\\nGo to the Vista you are interested in visualizing\\n\\nApply the necessary", + "title": "Support queries related playbook" }, { - "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** >", + "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", "title": "CSAT on ticket | Automate | Snap-ins | 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-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-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*", + "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-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", - "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-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-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-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-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" } ] }, @@ -4540,14 +4540,19 @@ "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", + "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-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-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-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-1978_KNOWLEDGE_NODE-37", @@ -4555,38 +4560,33 @@ "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-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-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-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-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" }, { - "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-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-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-31", + "text": "only.\\n\\nThe customer portal is SEO-compatible, enhancing its discoverability so end customers can find answers directly through search engines, even before contacting support.\\n\\nKey highlights:\\n\\n* Search engine indexing - Public articles are discoverable by search engines like Google.\\n* Meta tags - The article title is used as the title tag, and the article description serves as the meta description for the article.\\n\\nGet started\\n-----------\\n\\n* Your customer portal is by default hosted", "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,", + "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-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-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": "Customer portal | Computer for Support Teams | DevRev" } ] @@ -4596,54 +4596,54 @@ "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", - "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-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-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-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-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-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-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-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** :", + "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-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", + "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-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-32", + "text": "triggered when a conversation is resolved, not when it's archived through conversion.\\n\\n * **SLA 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 * **Conversion permanence** : Conversion cannot be undone. Once a conversation is converted to a ticket, this action is permanent and the conversation", + "title": "Convert Conversations to Tickets | Conversations | Support | 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-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*", + "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-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", - "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" } ] }, @@ -4652,18 +4652,13 @@ "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", - "title": "Customer email notifications | Computer by DevRev | 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-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-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-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-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-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-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-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-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" }, { @@ -4692,13 +4687,18 @@ "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-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-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-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", + "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" } ] @@ -4708,8 +4708,13 @@ "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-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-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" }, { @@ -4718,44 +4723,39 @@ "title": "Ticket age in engineering | Automate | Snap-ins | 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.", - "title": "Ticket age in engineering | Automate | Snap-ins | 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-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-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-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-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-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", + "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" }, { - "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-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-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-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-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-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" } ] }, @@ -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.", - "title": "Customer portal | Computer for Support Teams | DevRev" + "id": "ART-1478_KNOWLEDGE_NODE-7", + "text": "are written in markdown and can be provided in the `setup_instructions` field of the event source.\\n\\nTo provide dynamic instructions, you can access some metadata from event source objects. The following fields are accessible:\\n\\n * `{{source.name}}`: Name of the event source\\n * `{{source.trigger_url}}`: Webhook URL\\n * `{{source.config.}}`: Fields from within the event source configuration\\n\\nFor example:\\n\\n[code]\\n\\n 1| event_sources: \\n ---|--- \\n 2|", + "title": "Event sources \u2014 DevRev | Docs" }, { - "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-1005_KNOWLEDGE_NODE-12", + "text": "fully virtual bank (e.g., no retail locations); however, it has worked out quite well so far. Provisioning cards is simple, reporting is great, and it has APIs we\\xe2\\x80\\x99ve integrated with.\\n\\nWhat would we have done differently?\\nNothing, been impressed with this so far; however, this one was a little surprising.\\n\\nMail \\xe2\\x86\\x92 Google Workspace (Gsuite)\\n\\nWhat is it?\\nEmail and collaboration.\\n\\nWhat should you look for?\\n\\n\\n SCIM provisioning via IdP\\n Pricing and", + "title": "Choosing the Right Systems For Your Startup" }, { - "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-2053_KNOWLEDGE_NODE-32", + "text": "Transition Diagram of Issue/Ticket/Enhancements | \\xe2\\x9d\\x8c | \\xe2\\x9d\\x8c |\\n| User | DevUser | \\xe2\\x9c\\x85 | \\xe2\\x9d\\x8c |\\n| Permission Scheme | Access Control Entries | \\xe2\\x9d\\x8c | \\xe2\\x9d\\x8c |\\n| Sprint | Sprint | \\xe2\\x9d\\x8c | \\xe2\\x9d\\x8c |\\n| Filter | Vista | \\xe2\\x9d\\x8c | \\xe2\\x9d\\x8c |\\n| Automation | Snap-in | \\xe2\\x9d\\x8c | \\xe2\\x9d\\x8c |\\n\\n![]()\\n\\nThis snap-in has been tested with and supports Jira Data Center 10.\\n\\nMigrate from Jira to", + "title": "Jira Software AirSync | AirSync | Snap-ins | DevRev" }, { - "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-2053_KNOWLEDGE_NODE-30", + "text": "\\xe2\\x9c\\x85 | \\xe2\\x9d\\x8c |\\n| Permission Scheme | Access Control Entries | \\xe2\\x9c\\x85 | \\xe2\\x9d\\x8c |\\n| Sprint | Sprint | \\xe2\\x9d\\x8c | \\xe2\\x9d\\x8c |\\n| Filter | Vista | \\xe2\\x9d\\x8c | \\xe2\\x9d\\x8c |\\n| Automation | Snap-in | \\xe2\\x9d\\x8c | \\xe2\\x9d\\x8c |\\n\\n### Jira Data Center\\n\\n| Jira Object | DevRev Object | Sync to DevRev | Sync to Jira |\\n| --- | --- | --- | --- |\\n| Issue | Issue/Ticket | \\xe2\\x9c\\x85 | \\xe2\\x9c\\x85 |\\n| Epic | Issue/Ticket/Enhancement | \\xe2\\x9c\\x85 |", + "title": "Jira Software AirSync | AirSync | Snap-ins | 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-13189_KNOWLEDGE_NODE-29", + "text": "and presentation needs.\\n + Share via Email: Dashboards can be directly shared via email, streamlining the process of distributing key metrics and insights to stakeholders.\\n\\n **What's improved:**\\n\\n + Enhanced Export Functionality: Improved the export functionality to ensure high-quality outputs in all supported formats.\\n* **Automatic Dynamic Drill-throughs for Vista Reports**\\n\\n Introducing a new way to explore data in Vista reports. With the latest update, users can now access", + "title": "March and April 2025 | Changelog | 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-3905_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": "Jira Service Management AirSync | AirSync | Snap-ins | DevRev" }, { - "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-1958_KNOWLEDGE_NODE-22", + "text": "AirSync](/docs/integrations/gitbook)\\n - [DevRev AirSync](/docs/integrations/devrev-airdrop)\\n - [GitHub Issues AirSync](/docs/integrations/github-airdrop)\\n - [Paligo AirSync](/docs/integrations/paligo)\\n - [Jira Service Management AirSync](/docs/integrations/jsm)\\n - [BrowserStack AirSync](/docs/integrations/browserstack)\\n* [Changelog](/docs/changelog)\\n\\n + [August 2025](/docs/changelog/latest)\\n + [July 2025](/docs/changelog/_2025-07-01)\\n + [June", + "title": "Access control | Computer by DevRev | DevRev" }, { - "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-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" } ] }, @@ -4824,11 +4824,6 @@ "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-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", - "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", @@ -4840,33 +4835,38 @@ "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-42", + "text": "linkage**: Users can also be linked to an existing account to ensure they are granted the appropriate user permissions upon login.\\n\\nTroubleshooting\\n---------------\\n\\n* The customer isn't able to log in to the customer portal.\\n\\n + This could be because the email address from which you are trying to log in isn't registered as a customer on the DevRev application. You can check if the email address is registered or not by logging into your DevRev account and searching if a customer exists", + "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-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-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", - "title": "Session recording options | Session analytics | Computer for Your Customers | DevRev" + "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", + "title": "Customer portal | Computer for Support Teams | 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", + "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-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" + }, + { + "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" } ] @@ -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-1307_KNOWLEDGE_NODE-423", + "text": "information.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the tag to update.\\nallowed_values object Optional\\nSpecifies an update to a tag\\'s allowed values.\\nShow property\\ndescription string Optional\\nThe updated description of the tag.\\nname string Optional\\nThe updated name of the tag. The name must be unique across all tags.\\nResponse.\\n\\nThis endpoint returns an object.\\ntag object\\nShow 9 properties\\nAPI Reference timeline-entries Create.\\n\\nPOST https://", + "title": "List Post \u2014 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-1805_KNOWLEDGE_NODE-423", + "text": "information.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the tag to update.\\nallowed_values object Optional\\nSpecifies an update to a tag\\'s allowed values.\\nShow property\\ndescription string Optional\\nThe updated description of the tag.\\nname string Optional\\nThe updated name of the tag. The name must be unique across all tags.\\nResponse.\\n\\nThis endpoint returns an object.\\ntag object\\nShow 9 properties\\nAPI Reference timeline-entries Create.\\n\\nPOST https://", + "title": "List Post \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-1590_KNOWLEDGE_NODE-423", + "text": "information.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the tag to update.\\nallowed_values object Optional\\nSpecifies an update to a tag\\'s allowed values.\\nShow property\\ndescription string Optional\\nThe updated description of the tag.\\nname string Optional\\nThe updated name of the tag. The name must be unique across all tags.\\nResponse.\\n\\nThis endpoint returns an object.\\ntag object\\nShow 9 properties\\nAPI Reference timeline-entries Create.\\n\\nPOST https://", + "title": "List \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-1595_KNOWLEDGE_NODE-422", + "text": "information.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the tag to update.\\nallowed_values object Optional\\nSpecifies an update to a tag\\'s allowed values.\\nShow property\\ndescription string Optional\\nThe updated description of the tag.\\nname string Optional\\nThe updated name of the tag. The name must be unique across all tags.\\nResponse.\\n\\nThis endpoint returns an object.\\ntag object\\nShow 9 properties\\nAPI Reference timeline-entries Create.\\n\\nPOST https://", + "title": "List \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-1781_KNOWLEDGE_NODE-420", + "text": "information.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the tag to update.\\nallowed_values object Optional\\nSpecifies an update to a tag\\'s allowed values.\\nShow property\\ndescription string Optional\\nThe updated description of the tag.\\nname string Optional\\nThe updated name of the tag. The name must be unique across all tags.\\nResponse.\\n\\nThis endpoint returns an object.\\ntag object\\nShow 9 properties\\nAPI Reference timeline-entries Create.\\n\\nPOST https://", + "title": "List \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-1789_KNOWLEDGE_NODE-422", + "text": "information.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the tag to update.\\nallowed_values object Optional\\nSpecifies an update to a tag\\'s allowed values.\\nShow property\\ndescription string Optional\\nThe updated description of the tag.\\nname string Optional\\nThe updated name of the tag. The name must be unique across all tags.\\nResponse.\\n\\nThis endpoint returns an object.\\ntag object\\nShow 9 properties\\nAPI Reference timeline-entries Create.\\n\\nPOST https://", + "title": "List \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-1803_KNOWLEDGE_NODE-423", + "text": "information.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the tag to update.\\nallowed_values object Optional\\nSpecifies an update to a tag\\'s allowed values.\\nShow property\\ndescription string Optional\\nThe updated description of the tag.\\nname string Optional\\nThe updated name of the tag. The name must be unique across all tags.\\nResponse.\\n\\nThis endpoint returns an object.\\ntag object\\nShow 9 properties\\nAPI Reference timeline-entries Create.\\n\\nPOST https://", + "title": "List \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-1827_KNOWLEDGE_NODE-419", + "text": "of the tag to update.\\nallowed_values object Optional\\nSpecifies an update to a tag\\'s allowed values.\\nShow property\\ndescription string Optional\\nThe updated description of the tag.\\nname string Optional\\nThe updated name of the tag. The name must be unique across all tags.\\nResponse.\\n\\nThis endpoint returns an object.\\ntag object\\nShow 9 properties\\nPOST / tags.update\\ncURL\\n$ curl -X POST https://api.devrev.ai/tags.update \\\\ > -H \" Authorization: Bearer \" \\\\ > -H \" Content-Type:", + "title": "Update \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-1823_KNOWLEDGE_NODE-421", + "text": "Update.\\n\\nPOST https:// api.devrev.ai / tags.update\\nUpdates a tag\\'s information.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the tag to update.\\nallowed_values object Optional\\nSpecifies an update to a tag\\'s allowed values.\\nShow property\\ndescription string Optional\\nThe updated description of the tag.\\nname string Optional\\nThe updated name of the tag. The name must be unique across all tags.\\nResponse.\\n\\nThis endpoint returns an object.\\ntag object\\nShow", + "title": "Get \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-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-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-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-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 +", + "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-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-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-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-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-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-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-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-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-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-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-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-4181_KNOWLEDGE_NODE-1", + "text": "context-aware, and customer-centric with SLAs that are connected to your customers, parts of your product, and issues - not just tickets.\\n\\nNever miss an SLA with DevRev\\n\\nReduction in SLA breaches\\n\\n40%\\n\\nImprovement in response time\\n\\n60%\\n\\nFaster ticket resolution\\n\\n4X\\n\\nEffortlessly create SLAs\\n========================\\n\\nSay goodbye to the hassle of creating SLAs using complex flowcharts\\n===================================================================\\n\\n[Read our", + "title": "Support like a lightning fast pit-crew" }, { - "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-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" } ] }, @@ -4988,53 +4988,53 @@ "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-12395_KNOWLEDGE_NODE-27", + "text": "update**: Link multiple accounts using /slack\\\\_broadcaster\\\\_upload external or /slack\\\\_broadcaster\\\\_upload internal and upload a CSV with account display names and Slack channel IDs.\\n* **Internal release notes**: Share internal updates by uploading a CSV with channel names and IDs using /slack\\\\_broadcaster\\\\_upload internal.\\n* **Configuration management**: Only authorized users in specific groups can post to Slack channels.\\n\\nSlash Commands\\n--------------\\n\\nThe Slack Broadcaster", + "title": "Slack Broadcaster | Automate | Snap-ins | 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-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-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 |", - "title": "Account and contact import | Computer for Growth Teams | DevRev" + "id": "ART-6175_KNOWLEDGE_NODE-26", + "text": "contacts.\\n* **Link Account and Contact:**\\n Enable this option to link the account and contact to the custom object.\\n* **Account Description Fields:**\\n Enable this option to generate a rich description for accounts using values from multiple Airtable columns.\\n* **Contact Description Fields:**\\n Enable this option to generate a rich description for contacts using values from multiple Airtable columns.\\n* **Airtable Email Columns:**\\n Comma-separated list of names of the columns in", + "title": "Airtable | Automate | 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###", + "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-27", - "text": "initiate the process. Notifications about successful imports and any errors will appear in the form of toasts at the bottom left.\\n\\nCSV file requirements\\n---------------------\\n\\n### Mandatory fields\\n\\nTo ensure a successful import, certain fields are required.\\n\\n**Accounts**:\\n\\n* display\\\\_name\\n* external\\\\_refs (a unique identifier for the account, such as the company\\'s website domain.)\\n\\n**Contacts:**\\n\\n* display\\\\_name\\n* external\\\\_ref (a unique identifier for the contact, such as", + "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-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", + "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-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", - "title": "Account and contact import | Computer for Growth Teams | DevRev" + "id": "ART-16355_KNOWLEDGE_NODE-26", + "text": "**Reported\\\\_by,** and **Contact** columns, provide the email of the person to be assigned as the owner or reporter of the work item. If the CSV lists multiple owners, only the first will be set as the owner.\\n* For the **Applies to Part**, **Stage**, **Account**, **Developed with Parts**, and **Tags** columns, provide the part name, stage name, account name, part name, and tag name respectively as it is present in the UI, ensuring case sensitivity.\\n* For **Date** and **Timestamp** related", + "title": "CSV commands uploader | Automate | Snap-ins | 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", + "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 |", "title": "Account and contact import | Computer for Growth Teams | 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", + "id": "ART-2575_KNOWLEDGE_NODE-27", + "text": "initiate the process. Notifications about successful imports and any errors will appear in the form of toasts at the bottom left.\\n\\nCSV file requirements\\n---------------------\\n\\n### Mandatory fields\\n\\nTo ensure a successful import, certain fields are required.\\n\\n**Accounts**:\\n\\n* display\\\\_name\\n* external\\\\_refs (a unique identifier for the account, such as the company\\'s website domain.)\\n\\n**Contacts:**\\n\\n* display\\\\_name\\n* external\\\\_ref (a unique identifier for the contact, such as", "title": "Account and contact import | 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", + "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" } ] @@ -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-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-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-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-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-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-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-23", + "text": "events to see which skills were invoked\\n* Check if any skills returned error outputs\\n* Verify your agent\\xe2\\x80\\x99s configuration in the DevRev agent builder\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/beta/guides/account-creation)[#### Links\\n\\nNext](/beta/guides/links)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "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-4206_KNOWLEDGE_NODE-16", + "text": "endpoint in your application that can receive POST requests.\\n2. Register this endpoint with DevRev using the webhooks.create API.\\n3. Make async API calls with your agent ID and webhook ID.\\n4. Process incoming webhook events to:\\n * Track progress (optional).\\n * Display the final agent response to the user.\\n * Handle any errors.\\n\\nExample flow for a chat application:\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | // 1. When user sends a message |\\n| 2 | function handleUserMessage(message) {", + "title": "Agents async API | DevRev | Docs" }, { - "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-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-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-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" } ] }, @@ -5100,14 +5100,14 @@ "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-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-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-10697_KNOWLEDGE_NODE-27", + "text": "bidirectional synchronization between DevRev objects and Slack channels.\\n* A workflow node has been added to create a Slack channel and automatically invite specified users.\\n* A random wait time (1-20 seconds) has been added before creating a conversation to prevent duplicate conversations on WhatsApp when messages are sent rapidly.\\n* Customer identification in Slack has been enhanced by resolving users via their Slack ID when their email is hidden.\\n* An optional field has been added to the", + "title": "February 2025 | Changelog | DevRev" }, { "id": "ART-990_KNOWLEDGE_NODE-3", @@ -5115,39 +5115,39 @@ "title": "To AI, or Not to AI for Support, It's Not a Question" }, { - "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-1840_KNOWLEDGE_NODE-12", + "text": "allowing customers to receive faster assistance\\n* **20% decrease in operational costs**, driven by automation and AI-powered efficiencies\\n* **15% shorter resolution cycles**, helping the team close tickets more quickly\\n* **Higher agent productivity**, thanks to AI-suggested replies that reduce the time spent on drafting responses\\n* **Improved customer satisfaction**, with accurate answers delivered through AI chat and a growing self-service knowledge base\\n* **Deeper visibility through", + "title": "Revolutionising health tech support: how Binah.ai cut response times by 50% with DevRev" }, { - "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-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-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-1471_KNOWLEDGE_NODE-11", + "text": "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 * [Pricing](https://devrev.ai/pricing/support)\\n * [Blog](https://devrev.ai/blog)\\n * [Events](https://devrev.ai/events)\\n *", + "title": "Restricted messages on a timeline \u2014 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-1471_KNOWLEDGE_NODE-14", + "text": "[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 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", + "title": "Restricted messages on a timeline \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", + "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-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-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" } ] } diff --git a/test_queries_results.parquet b/test_queries_results.parquet new file mode 100644 index 0000000..81be62a Binary files /dev/null and b/test_queries_results.parquet differ diff --git a/test_queries_results_old.json b/test_queries_results_old.json new file mode 100644 index 0000000..5eb5e72 --- /dev/null +++ b/test_queries_results_old.json @@ -0,0 +1,5154 @@ +[ + { + "query_id": "a97f93d2-410a-431f-ae9a-1e23ed35d74c", + "query": "end customer organization name not appearing in ticket or conversation", + "retrievals": [ + { + "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-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-4271_KNOWLEDGE_NODE-37", + "text": "Service](/legal/terms-of-service?)\\n\\n[](/?)\\n\\n[](https://www.linkedin.com/company/devrev)[](https://medium.com/devrev)[](https://twitter.com/devrev)\\n\\n[System Status](/status?)\\n\\n\\xc2\\xa9 2025 DevRev Inc.\\n\\n\"", + "title": "Convert Conversations to Tickets | Conversations | Support | 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-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-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-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-16806_KNOWLEDGE_NODE-27", + "text": "Internal Ticket** from the **Ticket Creation** dropdown.\\n* **Focused UI:** The **Customer Messages** tab is disabled on internal tickets to prevent unintended communication.\\n\\nThis feature supports internal workflows while giving you control over when customer engagement begins.\\n\\n![]()\\xc2\\xa0For more information about *Conversation and Ticket Workflows*, refer to the following articles: \\xe2\\x80\\xa3 [Auto parts to conversation | Automate | Snap-ins](/docs/automations/auto-parts)", + "title": "July 2025 | Changelog | DevRev" + }, + { + "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-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" + } + ] + }, + { + "query_id": "7dd7e2b4-9349-4535-8007-1d706e0fabff", + "query": "Android SDK session generated with Unknown user", + "retrievals": [ + { + "id": "ART-1474_KNOWLEDGE_NODE-5", + "text": "the chat feature, user identification is required. Mobile applications can submit various arguments to identify the user. The following example adopts a simplistic approach, providing the minimum required arguments for successful user identification:\\n\\n1 DevRev. identify ( 2 userIdentification = UserIdentification (userId = \"foo@example.org\" ) 3 )\\n\\nUpon completing user identification, the chat dialog (conversations) supported by the DevRev SDK becomes accessible.\\n\\nTo open the chat dialog,", + "title": "Integrate PLuG with your Android app \u2014 DevRev | Docs" + }, + { + "id": "ART-4255_KNOWLEDGE_NODE-8", + "text": "Identification\\n\\nTo use certain features of the DevRev SDK, user identification is required. You can select from the following methods to identify users within your application:\\n\\n#####\\n\\nThe identification function should be placed appropriately in your app after the user logs in. If you have the user information available at app launch, call the function after the `DevRev.configure(context, appID)` method.\\n\\n#####\\n\\nThe `Identity` structure allows for custom fields in the user,", + "title": "DevRev SDK for Android \u2014 DevRev | Docs" + }, + { + "id": "ART-15515_KNOWLEDGE_NODE-5", + "text": "page\\n\\nIdentification\\n--------------\\n\\nTo access certain features of the DevRev SDK, user identification is required.\\n\\nThe identification function should be placed appropriately in your app after 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\\nIf you haven\\xe2\\x80\\x99t previously identified the user, the DevRev SDK will automatically create an anonymous user for you immediately after the", + "title": "Features | DevRev | Docs" + }, + { + "id": "ART-2898_KNOWLEDGE_NODE-8", + "text": "earlier.\\n\\n 2. Ensure that the custom application is specified in the `AndroidManifest.xml`, as shown below:\\n[code] 1| \\n 3| \\n[/code] \\n \\n\\n## Identification\\n\\nTo use certain features of the DevRev SDK, user identification is required. You can select from the following methods to identify users within your application:\\n\\n#####\\n\\nThe identification function should be placed appropriately", + "title": "Android integration \u2014 DevRev | Docs" + }, + { + "id": "ART-4255_KNOWLEDGE_NODE-12", + "text": "DevRev.updateUser( \\n ---|--- \\n 2| identity: Identity \\n 3| )\\n[/code] \\n \\nThe function accepts the `DevRev.Identity` ojbect.\\n\\n#####\\n\\nThe `userID` property cannot be updated.\\n\\n## PLuG support chat\\n\\nOnce user identification is complete, you can start using the chat (conversations) dialog supported by our DevRev SDK. To open the chat dialog, your application should use the `showSupport` API, as shown in the following example:\\n\\n###### Kotlin\\n\\n###### Java\\n\\n[code]\\n\\n", + "title": "DevRev SDK for Android \u2014 DevRev | Docs" + }, + { + "id": "ART-16579_KNOWLEDGE_NODE-13", + "text": "contains a session token that you can use with the verified identification method in your app.\\n\\n##### \\n\\nAs a good practice, **your** app should retrieve the exchanged session token from **your** backend at app launch or any relevant app lifecycle event.\\n\\n#### Identify the verified user\\n\\nPass the user identifier and the exchanged session token to the verified identification method:\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | DevRev.identifyVerifiedUser(userID, sessionToken); |\\n```\\n\\n###", + "title": "Features | DevRev | Docs" + }, + { + "id": "ART-16579_KNOWLEDGE_NODE-6", + "text": "of the DevRev SDK, user identification is required.\\n\\nThe identification function should be placed appropriately in your app after 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", + "title": "Features | DevRev | Docs" + }, + { + "id": "ART-4255_KNOWLEDGE_NODE-0", + "text": "b'[](/public/sdks/android)\\n\\nPublic\\n\\nOn this page\\n\\n * [Requirements](/public/sdks/android#requirements)\\n * [Integration](/public/sdks/android#integration)\\n * [Set up the DevRev SDK](/public/sdks/android#set-up-the-devrev-sdk)\\n * [Identification](/public/sdks/android#identification)\\n * [Anonymous identification](/public/sdks/android#anonymous-identification)\\n * [Unverified identification](/public/sdks/android#unverified-identification)\\n * [Update user", + "title": "DevRev SDK for Android \u2014 DevRev | Docs" + }, + { + "id": "ART-15507_KNOWLEDGE_NODE-7", + "text": "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 they can be used. For more information, refer to [Object customization](https://devrev.ai/docs/product/object-customization).\\n\\nYou can select from the following methods to identify users within your application:\\n\\n###", + "title": "Features | DevRev | Docs" + }, + { + "id": "ART-1474_KNOWLEDGE_NODE-4", + "text": "override fun onCreate () { 6 super. onCreate () 7 DevRev. configure ( 8 context = this , 9 appId = \"\" , 10 secret = \"\" , 11 supportId = \"\" , 12 ) 13 } 14 }\\n\\nIn the onCreate method of your application, configure the DevRev SDK using the credentials obtained earlier.\\n\\nEnsure that the custom application is specified in the AndroidManifest.xml , as shown below:\\n\\n User identification.\\n\\nBefore initiating", + "title": "Integrate PLuG with your Android app \u2014 DevRev | Docs" + } + ] + }, + { + "query_id": "4bc92187-cdaa-4c20-b189-abd1672e5a71", + "query": "email reply received on wrong ticket", + "retrievals": [ + { + "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-2027_KNOWLEDGE_NODE-43", + "text": "recipients in the **To** or **Cc**\\n\\nThreading\\n---------\\n\\nEmail integration preserves threading by using the **References** and **In-Reply-To** email headers and by correlating the email **Subject** field and the ticket title. If either the ticket title or the email subject is changed at any point after ticket creation, follow up emails may cause a new ticket to be created.\\n\\n![]()\\n\\nOnce a ticket is created from an email, it is recommended to avoid changing the email subject or the", + "title": "Email | Integrate | 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-1953_KNOWLEDGE_NODE-34", + "text": "subject>\"\\n\\n![]()\\n\\nThis email is only sent to organizations that have installed [Auto-reply snap-in](https://docs.devrev.ai/automations/auto-reply).\\n\\nAuto reply on email\\n-------------------\\n\\n* **Trigger**: A new email is received from a customer.\\n* **Action**: An automated reply is sent.\\n* **Sender**: {Company\\\\_Name} [support@yourdomain.com](mailto:support@yourdomain.com)\\n* **Subject**: \"\"\\n\\n![]()\\n\\nThis email is only sent to organizations that have", + "title": "Customer email notifications | Computer by DevRev | 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-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-3235_KNOWLEDGE_NODE-25", + "text": "one.\\n\\nInstallation\\n------------\\n\\nInstall the [Reported by Enricher](https://marketplace.devrev.ai/ticket-reported-by) from DevRev marketplace.\\n\\nConfiguration\\n-------------\\n\\nIn the **Configuration** tab, the following settings are available:\\n\\n* **Custom Email Field**: Specify the backend name of the custom field where the email is entered when creating a ticket.\\n* **Default Account**: Select the account to which new customers should be linked if they do not already exist in the", + "title": "Reported by enricher | Automate | Snap-ins | 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", + "title": "Customer email notifications | Computer by DevRev | DevRev" + }, + { + "id": "ART-2027_KNOWLEDGE_NODE-36", + "text": "Receives Replies From | Thread is visible in portal |\\n| --- | --- | --- | --- |\\n| Email to support | [support@yourcompany.com](mailto:support@yourcompany.com) | [support@yourcompany.com](mailto:support@yourcompany.com) | Yes |\\n| Ticket via Customer Portal or Plug widget (Channel on ticket = Plug or Portal) | Ticket form on Customer Portal or conversation converted to ticket from Plug widget | - If Channel is set as email in the config, replies are sent via the configured email address. -", + "title": "Email | Integrate | Snap-ins | DevRev" + }, + { + "id": "ART-2912_KNOWLEDGE_NODE-24", + "text": "[Snap-ins](/docs/snapins)\\n[Automate](/docs/automate)\\n[Ticket email notifier](/docs/automations/ticket-email-notifier)\\n\\nTicket email notifier\\n=====================\\n\\nThe Ticket Email Notifier snap-in automates email notifications for specific ticket subtypes. When a ticket of the chosen subtype is created, it generates and sends a customized email.\\n\\n![]()\\n\\nFor more information, refer to the [Ticket email notifier snap-in](https://marketplace.devrev.ai/ticket-email-notifier) on the", + "title": "Ticket email notifier | Automate | Snap-ins | DevRev" + } + ] + }, + { + "query_id": "4d9878e8-f746-4df5-8bf6-f9444989b385", + "query": "manage access and privileges in DevRev", + "retrievals": [ + { + "id": "ART-1955_KNOWLEDGE_NODE-95", + "text": "Status](/status)\\n\\n\\xc2\\xa9 2025 DevRev Inc.\"", + "title": "Default privileges by group | Roles | Computer by DevRev | DevRev" + }, + { + "id": "ART-17233_KNOWLEDGE_NODE-12", + "text": "field.\\n\\n---\\n\\nAuthorization policy\\n--------------------\\n\\nThe *Authorization policy* object translates permission structures from an external system into DevRev\\xe2\\x80\\x99s access control model.\\nIt enables the import of external roles and their associated permissions, automatically creating corresponding roles, role sets, and access control entries (ACEs) within DevRev.\\nThis allows defining CRUD (Create, Read, Update, Delete) permissions for specific record types, applying them to users", + "title": "Permissions | DevRev | Docs" + }, + { + "id": "ART-1958_KNOWLEDGE_NODE-26", + "text": "actor is granted when those caveats are satisfied. If at least one role provides the necessary privilege, for example, the create privilege, the actor is granted permission to proceed with the action, allowing them to create the issue.\\n\\nThe process of checking access is as follows:\\n\\n1. Fetch all the user\\'s [groups](./groups).\\n2. Fetch [roles](./roles) associated with the particular target from the user groups, which in this case would be the \"Issue\".\\n3. The system evaluates the caveats", + "title": "Access control | Computer by DevRev | DevRev" + }, + { + "id": "ART-1475_KNOWLEDGE_NODE-4", + "text": "* ``: The unique slug name of your DevOrg to which you want to log in.\\n\\n * ``: Your registered user email for profile.\\n\\nThe browser opens up and asks you to log in to DevRev. Once you log in, a local dev org profile is created and an access token is stored.\\n\\n###### Authenticate using dev token\\n\\nTo set up authentication using the DevRev token, run the following command:\\n\\n#####\\n\\nUsing DevRev\\xe2\\x80\\x99s interface, you can generate a DevRev", + "title": "DevRev CLI reference \u2014 DevRev | Docs" + }, + { + "id": "ART-1955_KNOWLEDGE_NODE-34", + "text": "runnable object ['READ']\\n* *linkable Viewer:* Contains privileges for viewing linkable.\\n\\n Privileges: linkable object ['READ']\\n* *enhancement Viewer:* Contains privileges for viewing enhancement.\\n\\n Privileges: enhancement object ['READ']\\n* *capability Editor:* Contains privileges for modifying (create, update, delete) capability.\\n\\n Privileges: capability object ['CREATE', 'UPDATE', 'DELETE']\\n* *feature Editor:* Contains privileges for modifying (create, update, delete) feature.\\n\\n", + "title": "Default privileges by group | Roles | Computer by DevRev | DevRev" + }, + { + "id": "ART-1280_KNOWLEDGE_NODE-3", + "text": "DevOrg to which you want to log in.\\n* ``: Your registered user email for profile.\\n\\nThe browser opens up and asks you to log in to DevRev. Once you log in, a local dev org profile is created and an access token is stored.\\n\\n###### Authenticate using dev token\\n\\nTo set up authentication using the DevRev token, run the following command:\\n\\n##### \\n\\nUsing DevRev\\xe2\\x80\\x99s interface, you can generate a DevRev token.\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | echo", + "title": "DevRev CLI reference | DevRev | Docs" + }, + { + "id": "ART-1958_KNOWLEDGE_NODE-25", + "text": "service account.\\n\\nWhen an actor attempts to carry out an action, such as creating an issue, the access control system checks the actor\\'s role to determine if the actor has the necessary privileges to perform the desired action.\\n\\nPrivilege determination\\n-----------------------\\n\\nEach role consists of two essential parts: caveats and privileges. *Caveats* represent specific conditions that must be met for the role to be applicable. *Privileges* outline the actions or operations that the", + "title": "Access control | Computer by DevRev | DevRev" + }, + { + "id": "ART-17233_KNOWLEDGE_NODE-8", + "text": "entry in the `shared_with` collection contains two key components:\\n\\n* `member_id`: Identifies which user or group is being granted access.\\n* `role`: Specifies the permission level (for example, \\xe2\\x80\\x9cviewer\\xe2\\x80\\x9d, \\xe2\\x80\\x9ceditor\\xe2\\x80\\x9d, \\xe2\\x80\\x9cowner\\xe2\\x80\\x9d). DevRev offers a set of predefined roles.\\n\\n### Member types\\n\\nThe `member_id` field can reference three different types of objects:\\n\\n* Individual users (`#record:users`)\\n* Standard groups", + "title": "Permissions | DevRev | Docs" + }, + { + "id": "ART-1955_KNOWLEDGE_NODE-30", + "text": "the default group 'Members'.\\n\\n Privileges: devu object ['READ', 'UPDATE', 'DELETE']\\n* *Artifact Creator Role:* Contains privileges for creator on artifacts.\\n\\n Privileges: artifact object ['READ', 'UPDATE', 'DELETE']\\n* *Issue Interactor:* Contains privileges on issues for members of the default group 'Members'.\\n\\n Privileges: issue object ['CREATE', 'READ', 'UPDATE', 'DELETE']\\n* *Group Reader:* Contains read privileges on all groups.\\n\\n Privileges: group object ['READ']\\n*", + "title": "Default privileges by group | Roles | Computer by DevRev | DevRev" + }, + { + "id": "ART-1955_KNOWLEDGE_NODE-47", + "text": "Contains privileges for admins on products.\\n\\n Privileges: product object ['CREATE', 'READ', 'UPDATE', 'DELETE']\\n* *capability Admin:* Contains privileges for admins on capabilities.\\n\\n Privileges: capability object ['CREATE', 'READ', 'UPDATE', 'DELETE']\\n* *feature Admin:* Contains privileges for admins on features.\\n\\n Privileges: feature object ['CREATE', 'READ', 'UPDATE', 'DELETE']\\n* *custom\\\\_part Admin:* Contains privileges for admins on custom\\\\_parts.\\n\\n Privileges:", + "title": "Default privileges by group | Roles | Computer by DevRev | DevRev" + } + ] + }, + { + "query_id": "483151ec-aff4-4569-b3df-651f578b61d8", + "query": "SSO setup SAML IDP metadata connection string Google Workspace", + "retrievals": [ + { + "id": "ART-1966_KNOWLEDGE_NODE-26", + "text": "setup](/docs/product/sso-saml)\\n\\nExternal identity provider setup\\n================================\\n\\nDevRev can be configured to use external identity providers for SSO.\\n\\n![]()\\n\\nIf you want DevRev to use an external identity provider, follow the instructions for your organization\\xe2\\x80\\x99s provider.\\n\\nBefore you begin\\n----------------\\n\\nTo register DevRev as a SAML 2.0 application, you need the slug for your dev org.\\n\\nTo get the dev\\\\_oid and slug, run the following", + "title": "External identity provider setup | Computer by DevRev | DevRev" + }, + { + "id": "ART-15267_KNOWLEDGE_NODE-1", + "text": "or Okta.\\n\\n\\xf0\\x9f\\x93\\x8c For more information for about authentication connections, refer to [External identity provider setup](https://docs.devrev.ai/product/sso-saml).\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/api-reference/artifacts/versions-prepare)[#### Create Dev Orgs Auth Connection\\n\\nNext](/api-reference/auth-connections/dev-org-auth-connections-create)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Identity provider | DevRev | Docs" + }, + { + "id": "ART-4059_KNOWLEDGE_NODE-1", + "text": "parameters for a Google Apps authentication connection.\\n\\nShow 7 properties\\n\\nOR\\n\\nnone\\n\\nShow 4 properties\\n\\nOR\\n\\noidc\\n\\nObject encapsulating the configuration parameters for an OIDC authentication connection.\\n\\nShow 7 properties\\n\\nOR\\n\\nokta\\n\\nObject encapsulating the configuration parameters for an Okta authentication connection.\\n\\nShow 7 properties\\n\\nOR\\n\\nsamlp\\n\\nObject encapsulating the configuration parameters for a SAML authentication connection.\\n\\nShow 7", + "title": "Update Dev Orgs Auth Connection \u2014 DevRev | Docs" + }, + { + "id": "ART-1966_KNOWLEDGE_NODE-42", + "text": "process from your identity provider\\'s portal. The latter is not supported on DevRev.\\n\\nA workaround for supporting IDP-initiated SSO is to bookmark your DevRev workspace URL (that is https://app.devrev.ai/) in your IDP. With only SSO Auth connection enabled, the experience would be as seamless as SP-initiated SSO.\\n\\n### Parameter reference\\n\\n* : Your Personal Access Token with admin permissions\\n* : Your DevRev organization ID (from the initial API", + "title": "External identity provider setup | Computer by DevRev | DevRev" + }, + { + "id": "ART-1966_KNOWLEDGE_NODE-28", + "text": "alphanumeric characters or hyphens, without consecutive or trailing hyphens.\\n* Be unique within your organization.\\n* Follow the pattern of: -.\\n\\nThe API call to create the connection fails if this pattern is not followed.\\n\\nSetup DevRev as service provider on identity provider\\n-----------------------------------------------------\\n\\nYou can register DevRev as a service provider in any identity provider that supports SAML 2.0 or OpenID Connect (OIDC). The following", + "title": "External identity provider setup | Computer by DevRev | DevRev" + }, + { + "id": "ART-1545_KNOWLEDGE_NODE-177", + "text": "Apps\\n\\nObject encapsulating the configuration parameters for a Google Apps authentication connection.\\n\\nShow 6 properties\\nOR\\nNone Show 4 properties\\nOR\\nOidc\\n\\nObject encapsulating the configuration parameters for an OIDC authentication connection.\\n\\nShow 6 properties\\nOR\\nSamlp\\n\\nObject encapsulating the configuration parameters for a SAML authentication connection.\\n\\nShow 5 properties\\nOR\\nWaad\\n\\nObject encapsulating the configuration parameters for an Azure AD authentication", + "title": "Create (Beta) \u2014 DevRev | Docs" + }, + { + "id": "ART-15369_KNOWLEDGE_NODE-3", + "text": "encapsulating the configuration parameters for a Google Apps\\nauthentication connection.\\n\\nShow 5 properties\\n\\nOR\\n\\noidcobjectRequired\\n\\nObject encapsulating the configuration parameters for an OIDC\\nauthentication connection.\\n\\nShow 5 properties\\n\\nOR\\n\\noktaobjectRequired\\n\\nObject encapsulating the configuration parameters for an Okta\\nauthentication connection.\\n\\nShow 5 properties\\n\\nOR\\n\\nsamlpobjectRequired\\n\\nObject encapsulating the configuration parameters for a", + "title": "Create Dev Orgs Auth Connection | DevRev | Docs" + }, + { + "id": "ART-1966_KNOWLEDGE_NODE-29", + "text": "are some common examples:\\n\\nAzure ADGoogle WorkspaceJump CloudOkta\\n\\n1. Log in to Azure Active Directory and select **Enterprise applications > + New application**.\\n2. Search for \"Azure AD SAML Toolkit\" in the **Browse Azure AD Gallery** and select it.\\n3. Enter DevRev as the name and click **Create**.\\n4. Select **Single sign-on > SAML**.\\n5. Edit the **Basic SAML Configuration** and enter the following parameters.\\n\\n * **Identifier** (Entity ID):", + "title": "External identity provider setup | Computer by DevRev | DevRev" + }, + { + "id": "ART-1966_KNOWLEDGE_NODE-39", + "text": "authentication methods to enforce SSO-only login. This is commonly done to ensure all users authenticate through your organization\\'s identity provider.\\n\\n**Common scenario**: If users were previously logging in with Google OAuth and you\\'ve now enabled SSO, you can disable Google authentication to force all users to use SSO.\\n\\nFirst, get the Google OAuth connection ID:\\n\\n```\\n```\\n1 curl --location --request GET \\'https://api.devrev.ai/dev-orgs.auth-connections.list\\' \\\\\\n\\n\\n\\n2 --header", + "title": "External identity provider setup | Computer by DevRev | DevRev" + }, + { + "id": "ART-1551_KNOWLEDGE_NODE-168", + "text": "for the organization and the user will need to explicitly enable this. Keep in mind that at a time, only one authentication connection can be enabled for a Dev organization. At present, only 5 enterprise connections can be created by an organization.\\n\\nRequest.\\n\\nThis endpoint expects an object.\\nGoogle Apps\\n\\nObject encapsulating the configuration parameters for a Google Apps authentication connection.\\n\\nShow 5 properties\\nOR\\nOidc\\n\\nObject encapsulating the configuration parameters for", + "title": "Update (Beta) \u2014 DevRev | Docs" + } + ] + }, + { + "query_id": "0f148fcd-ec0b-43d6-b172-32b843a8dbd2", + "query": "restrict users from linking opportunities and meetings", + "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-12471_KNOWLEDGE_NODE-8", + "text": "endpoints that reference meetings\\n\\n### Link Summary\\n\\nModified link summary schema to support custom link types across multiple endpoints\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/beta/changelog/2025/6/2)[#### April 24, 2025\\n\\nNext](/beta/changelog/2025/4/24)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "May 19, 2025 | DevRev | Docs" + }, + { + "id": "ART-1300_KNOWLEDGE_NODE-445", + "text": "opportunities with any of the provided contacts.\\nopportunity.subtype string Optional\\nFilters for opportunity with any of the provided subtypes.\\nowned_by string Optional\\nFilters for work owned by any of these users.\\nreported_by string Optional\\nFilters for work reported by any of these users.\\nsort_by string Optional\\nFields to sort the work items by and the direction to sort them.\\nstage.name string Optional\\nFilters for records in the provided stage(s) by name.\\nstaged_info.is_staged", + "title": "Create \u2014 DevRev | Docs" + }, + { + "id": "ART-1591_KNOWLEDGE_NODE-447", + "text": "opportunities with any of the provided contacts.\\nopportunity.subtype string Optional\\nFilters for opportunity with any of the provided subtypes.\\nowned_by string Optional\\nFilters for work owned by any of these users.\\nreported_by string Optional\\nFilters for work reported by any of these users.\\nsort_by string Optional\\nFields to sort the work items by and the direction to sort them.\\nstage.name string Optional\\nFilters for records in the provided stage(s) by name.\\nstaged_info.is_staged", + "title": "Create \u2014 DevRev | Docs" + }, + { + "id": "ART-1997_KNOWLEDGE_NODE-32", + "text": "these interactions to create a comprehensive picture of the relationship.\\n\\nBased on their participation, DevRev links accounts, contacts, and employees to engagements. Additionally, they can be linked to opportunities if they are relevant to a specific opportunity.\\n\\n[PreviousNudges](/docs/plug/nudges)[NextAccounts](/docs/product/account)\\n\\n#### On this page\\n\\n* [\\xf0\\x9f\\x92\\xbc Account](#-account)\\n* [\\xf0\\x9f\\x96\\xa5\\xef\\xb8\\x8f Workspace](#-workspace)\\n* [\\xf0\\x9f\\x92\\xa1", + "title": "Computer for Growth Teams | DevRev" + }, + { + "id": "ART-12471_KNOWLEDGE_NODE-5", + "text": "by `created_by`, `name`, and `sync_metadata` fields to [`/groups.list`](/beta/api-reference/groups/list-post)\\n\\n### Links\\n\\n* Added `custom_link_type` property to link objects in [`/links.create`](/beta/api-reference/links/create) and related endpoints\\n\\n### Meetings\\n\\n* Added `sync_metadata` property to meeting objects in [`/meetings.create`](/beta/api-reference/meetings/create) and related endpoints\\n\\n### Opportunities\\n\\n* Added `contacts` property to opportunity objects in work-related", + "title": "May 19, 2025 | DevRev | Docs" + }, + { + "id": "ART-15411_KNOWLEDGE_NODE-5", + "text": "starts from the beginning.\\n\\nended\\\\_dateobjectOptional\\n\\nProvides ways to specify date ranges on objects.\\n\\nShow 2 variants\\n\\nexternal\\\\_reflist of stringsOptional\\n\\nFilters for meetings with the provided external\\\\_ref(s).\\n\\nlimitintegerOptional\\n\\nThe maximum number of meetings to return.\\n\\nlinkslist of objectsOptional\\n\\nFilters for links associated with the meeting.\\n\\nShow 3 properties\\n\\nmemberslist of stringsOptional\\n\\nFilter for meeting on specified Member", + "title": "List Meetings (POST) | DevRev | Docs" + }, + { + "id": "ART-13010_KNOWLEDGE_NODE-3", + "text": "}\\'\\n[/code] \\n \\nTry it\\n\\n200meetingsDeleteExample\\n\\n[code]\\n\\n 1| {} \\n ---|---\\n[/code] \\n \\n[Get MeetingUp Next](/public/api-reference/meetings/get)\\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 *", + "title": "Delete Meeting \u2014 DevRev | Docs" + }, + { + "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-17231_KNOWLEDGE_NODE-112", + "text": "Time at which meeting ended. |\\n| `engagement_new_ref` | text | | Reference ID associated with the new engagement |\\n| `external_ref_id` | text | | External reference of the meeting. This is the identifier from the meeting channel/provider. |\\n| `external_url` | text | | External URL associated with the meeting. |\\n| `member_ids` | reference (collection)\\xe2\\x86\\x92[#category:user] | \\xe2\\x9c\\x94\\xef\\xb8\\x8e | IDs of the members in the meeting. |\\n| `organizer_id` |", + "title": "Supported DevRev object types | DevRev | Docs" + } + ] + }, + { + "query_id": "15acf954-22c2-4860-8fbb-e7e6dcc5c8c8", + "query": "connect WhatsApp Business with DevRev", + "retrievals": [ + { + "id": "ART-2029_KNOWLEDGE_NODE-27", + "text": "work with 360dialog for WhatsApp Integration. If you have an existing WhatsApp for Business Account, follow the steps to [migrate to 360dialog](https://docs.360dialog.com/partner/account-setup/migrating-phone-numbers).\\n\\nInstalling the WhatsApp snap-in\\n-------------------------------\\n\\nTo use this snap-in, you\\'ll need to connect your WhatsApp with Business API with DevRev.\\n\\n1. Install [WhatsApp](/marketplace/whatsapp) from the DevRev marketplace.\\n2. Select the workspace to install the", + "title": "WhatsApp | Integrate | Snap-ins | DevRev" + }, + { + "id": "ART-2029_KNOWLEDGE_NODE-25", + "text": "for you to manage all your customer conversations in one place. By adding WhatsApp to DevRev, you can streamline your support and offer a smoother experience to your customers.\\n\\nFor detailed information about WhatsApp for Business, refer to [WhatsApp Business Platform - Documentation](https://developers.facebook.com/docs/whatsapp/overview)\\n\\nPrerequisites\\n-------------\\n\\n1. **Create a business account:** Ensure you have a [Business Account](https://business.facebook.com/overview) in Meta", + "title": "WhatsApp | Integrate | Snap-ins | DevRev" + }, + { + "id": "ART-2029_KNOWLEDGE_NODE-28", + "text": "snap-in, confirm installation, and click **Deploy snap-in**.\\n\\nLimitations\\n-----------\\n\\n* Group Conversations are not supported by WhatsApp for Business API.\\n* If you do not respond to the customer\\xe2\\x80\\x99s message within 24 hours, you can only respond to the conversation using Meta-approved template messages.\\n\\nSet up the snap-in\\n------------------\\n\\nFollow these steps to ensure WhatsApp messages sent to your business are synced with the DevRev Inbox.\\n\\n1. **Install the snap-in:**", + "title": "WhatsApp | Integrate | Snap-ins | DevRev" + }, + { + "id": "ART-15716_KNOWLEDGE_NODE-20", + "text": "them, reach out to DevRev support with details (article titles, migration date, etc.) for assistance.\\n\\nSupport for Incoming Text Messages (SMS and WhatsApp)\\n\\nYes, DevRev does allow for incoming text messages\\xe2\\x80\\x94if you use a supported SMS integration.\\n\\nThe main provider currently supported is Exotel. When you connect your Exotel account to DevRev, customers can send SMS to your Exotel number, and those messages will show up as conversations in your DevRev inbox.\\n\\nWhatsApp is also", + "title": "Support queries related playbook" + }, + { + "id": "ART-2029_KNOWLEDGE_NODE-29", + "text": "Install the WhatsApp snap-in from the marketplace as mentioned above.\\n2. **Create a connection:** In the **Connections** tab, add your existing connection or create a new connection.\\n * Give your connection a name, and ensure that you completed the required steps in the prerequisites.\\n * Click **Connect**.\\n * Open the dialog and follow the process to finish creating a connection.\\n\\n ![]()\\n3. **Configure business phone number:** In the **Configuration** tab, enter the business", + "title": "WhatsApp | Integrate | Snap-ins | DevRev" + }, + { + "id": "ART-2029_KNOWLEDGE_NODE-24", + "text": "[Limitations](#limitations)\\n* [Set up the snap-in](#set-up-the-snapin)\\n\\n1. [Documentation](/docs)\\n3. [Snap-ins](/docs/snapins)\\n[Integrate](/docs/integrate)\\n[WhatsApp](/docs/integrations/whatsapp)\\n\\nWhatsApp\\n========\\n\\nUsing DevRev, you can connect with your customers through WhatsApp. This new communication channel allows your customers to reach out with their questions and concerns directly on WhatsApp. The messages from WhatsApp seamlessly appear in your DevRev Inbox, making it easy", + "title": "WhatsApp | Integrate | Snap-ins | DevRev" + }, + { + "id": "ART-2002_KNOWLEDGE_NODE-35", + "text": "integrations like [Slack](/marketplace/slack), [Email for conversations](https://marketplace.devrev.ai/marketplace/devrev-plug-with-email), [WhatsApp](/marketplace/whatsapp) are additional channels available with DevRev's omnichannel support offering.\\nIntegrating these channels automatically brings customer identity to DevRev.\\n\\n[PreviousOpportunities](/docs/product/opportunity)[NextAccount and contact import](/docs/product/account-contact-import)\\n\\n#### On this page\\n\\n*", + "title": "Contacts | Computer for Growth Teams | DevRev" + }, + { + "id": "ART-2029_KNOWLEDGE_NODE-30", + "text": "phone number to sync WhatsApp messages sent to the business with DevRev Inbox.\\n4. **Register for WhatsApp webhook:** In the **Discussion** tab, enter **/whatsapp** to register to the WhatsApp webhook URL to receive WhatsApp messages in the DevRev Inbox.\\n5. **Use template messages:** As per WhatsApp policies, template messages are required to communicate with customers once 24 hours have passed since their last message. To ensure continuity in customer conversations, the following template", + "title": "WhatsApp | Integrate | Snap-ins | DevRev" + }, + { + "id": "ART-2029_KNOWLEDGE_NODE-26", + "text": "Business Manager. For detailed information, refer to [creating a Business Account](https://m.facebook.com/help/1710077379203657) in Meta Business Manager.\\n2. **Number compatibility:** Ensure the designated number isn\\'t linked to another WhatsApp account. If it is, either delete that account or [migrate your number](https://developers.facebook.com/docs/whatsapp/cloud-api/get-started/migrate-existing-whatsapp-number-to-a-business-account/) to a business account.\\n3. **Partner integration:** We", + "title": "WhatsApp | Integrate | Snap-ins | DevRev" + }, + { + "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" + } + ] + }, + { + "query_id": "9a4adb6b-b6f7-430a-a599-07aea5d4c365", + "query": "API for Incident Ticket creation", + "retrievals": [ + { + "id": "ART-1300_KNOWLEDGE_NODE-166", + "text": "Create.\\n\\nPOST https:// api.devrev.ai / incidents.create\\nCreates an incident.\\nRequest.\\n\\nThis endpoint expects an object.\\ntitle string Required\\nTitle of the incident.\\nacknowledged_date datetime Optional\\nTimestamp when the incident was acknowledged.\\napplies_to_parts list of strings Optional\\nParts to which the incident is applicable to.\\nartifacts list of strings Optional\\nArtifacts attached to the incident.\\nbody string Optional\\nBody of the incident.\\ncustom_fields map from strings to", + "title": "Create \u2014 DevRev | Docs" + }, + { + "id": "ART-1788_KNOWLEDGE_NODE-166", + "text": "Create.\\n\\nPOST https:// api.devrev.ai / incidents.create\\nCreates an incident.\\nRequest.\\n\\nThis endpoint expects an object.\\ntitle string Required\\nTitle of the incident.\\nacknowledged_date datetime Optional\\nTimestamp when the incident was acknowledged.\\napplies_to_parts list of strings Optional\\nParts to which the incident is applicable to.\\nartifacts list of strings Optional\\nArtifacts attached to the incident.\\nbody string Optional\\nBody of the incident.\\ncustom_fields map from strings to", + "title": "Get Post \u2014 DevRev | Docs" + }, + { + "id": "ART-1801_KNOWLEDGE_NODE-168", + "text": "Create.\\n\\nPOST https:// api.devrev.ai / incidents.create\\nCreates an incident.\\nRequest.\\n\\nThis endpoint expects an object.\\ntitle string Required\\nTitle of the incident.\\nacknowledged_date datetime Optional\\nTimestamp when the incident was acknowledged.\\napplies_to_parts list of strings Optional\\nParts to which the incident is applicable to.\\nartifacts list of strings Optional\\nArtifacts attached to the incident.\\nbody string Optional\\nBody of the incident.\\ncustom_fields map from strings to", + "title": "Get \u2014 DevRev | Docs" + }, + { + "id": "ART-1300_KNOWLEDGE_NODE-170", + "text": "along with the incident commander, involved in resolving incidents and handling communication.\\ntags list of objects Optional\\nTags associated with the object.\\nShow 2 properties\\ntarget_close_date datetime Optional\\nTimestamp when the incident is expected to be resolved.\\nResponse.\\n\\nThis endpoint returns an object.\\nincident object\\nShow 27 properties\\nAPI Reference operate Incidents Delete.\\n\\nPOST https:// api.devrev.ai / incidents.delete\\nDeletes an incident.\\nRequest.\\n\\nThis endpoint", + "title": "Create \u2014 DevRev | Docs" + }, + { + "id": "ART-4132_KNOWLEDGE_NODE-0", + "text": "b'List Incidents | 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)[incidents](/beta/api-reference/incidents/create)\\n\\nList Incidents\\n==============\\n\\nBeta\\n\\nCopy page\\n\\nGET\\n\\nhttps://api.devrev.ai/incidents.list\\n\\nGET\\n\\n/incidents.list\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl https://api.devrev.ai/incidents.list \\\\ |\\n| > | -H \"Authorization: Bearer \" |\\n```\\n\\n[Try", + "title": "List Incidents | DevRev | Docs" + }, + { + "id": "ART-1300_KNOWLEDGE_NODE-187", + "text": "Post.\\n\\nPOST https:// api.devrev.ai / incidents.list\\nLists incidents.\\nRequest.\\n\\nThis endpoint expects an object.\\nacknowledged_date object Optional\\nProvides ways to specify date ranges on objects.\\nShow 2 variants\\nactual_close_date object Optional\\nProvides ways to specify date ranges on objects.\\nShow 2 variants\\napplies_to_parts list of strings Optional\\nFilters for incidents that apply to any of the provided parts.\\ncreated_by list of strings Optional\\nFilters for incidents created by", + "title": "Create \u2014 DevRev | Docs" + }, + { + "id": "ART-1785_KNOWLEDGE_NODE-163", + "text": "owner.\\nResponse.\\n\\nThis endpoint returns an object.\\ngroup object\\nShow 11 properties\\nAPI Reference operate Incidents Create.\\n\\nPOST https:// api.devrev.ai / incidents.create\\nCreates an incident.\\nRequest.\\n\\nThis endpoint expects an object.\\ntitle string Required\\nTitle of the incident.\\nacknowledged_date datetime Optional\\nTimestamp when the incident was acknowledged.\\napplies_to_parts list of strings Optional\\nParts to which the incident is applicable to.\\nartifacts list of strings", + "title": "Create \u2014 DevRev | Docs" + }, + { + "id": "ART-1781_KNOWLEDGE_NODE-164", + "text": "Create.\\n\\nPOST https:// api.devrev.ai / incidents.create\\nCreates an incident.\\nRequest.\\n\\nThis endpoint expects an object.\\ntitle string Required\\nTitle of the incident.\\nacknowledged_date datetime Optional\\nTimestamp when the incident was acknowledged.\\napplies_to_parts list of strings Optional\\nParts to which the incident is applicable to.\\nartifacts list of strings Optional\\nArtifacts attached to the incident.\\nbody string Optional\\nBody of the incident.\\ncustom_fields map from strings to", + "title": "List \u2014 DevRev | Docs" + }, + { + "id": "ART-1789_KNOWLEDGE_NODE-166", + "text": "Create.\\n\\nPOST https:// api.devrev.ai / incidents.create\\nCreates an incident.\\nRequest.\\n\\nThis endpoint expects an object.\\ntitle string Required\\nTitle of the incident.\\nacknowledged_date datetime Optional\\nTimestamp when the incident was acknowledged.\\napplies_to_parts list of strings Optional\\nParts to which the incident is applicable to.\\nartifacts list of strings Optional\\nArtifacts attached to the incident.\\nbody string Optional\\nBody of the incident.\\ncustom_fields map from strings to", + "title": "List \u2014 DevRev | Docs" + }, + { + "id": "ART-1803_KNOWLEDGE_NODE-167", + "text": "Create.\\n\\nPOST https:// api.devrev.ai / incidents.create\\nCreates an incident.\\nRequest.\\n\\nThis endpoint expects an object.\\ntitle string Required\\nTitle of the incident.\\nacknowledged_date datetime Optional\\nTimestamp when the incident was acknowledged.\\napplies_to_parts list of strings Optional\\nParts to which the incident is applicable to.\\nartifacts list of strings Optional\\nArtifacts attached to the incident.\\nbody string Optional\\nBody of the incident.\\ncustom_fields map from strings to", + "title": "List \u2014 DevRev | Docs" + } + ] + }, + { + "query_id": "5f5bfe6b-5d49-4bd2-936a-73bebb960fae", + "query": "mark fields as readable from backend", + "retrievals": [ + { + "id": "ART-17230_KNOWLEDGE_NODE-2", + "text": "Spec v0.30](https://spec.commonmark.org/0.30).\\n\\nRich text mentions\\n------------------\\n\\nRich text can include mentions by combining strings and mention objects:\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | [ |\\n| 2 | \"Hello \", |\\n| 3 | {\"ref_type\":\"external_user_type\", \"id\":\"1...\", \"fallback_record_name\": \"John Doe\"}, |\\n| 4 | \"how are you?\" |\\n| 5 | ] |\\n```\\n\\nMention objects represents any mention (user, issue, etc.) in rich text and have the following structure:\\n\\n| Field | Type | Required |", + "title": "Rich text fields | DevRev | Docs" + }, + { + "id": "ART-1957_KNOWLEDGE_NODE-34", + "text": "on the field.\\n * **Description**: Add some information about why you added this field. This is only visible to you.\\n3. Click **Save to draft**. These fields can be reviewed and then published by clicking **Publish changes**.\\n4. Review the changes and click **Publish changes** once you are ready.\\n5. Refresh the page to see the changes in published mode. You can\\'t make changes in this mode.\\n\\nTo edit or delete a custom field, click the **\\xe2\\x8b\\xae** icon next to the field. You\\'ll see", + "title": "Object customization | Computer by DevRev | DevRev" + }, + { + "id": "ART-15346_KNOWLEDGE_NODE-4", + "text": "\"is_hidden\": true, |\\n| 48 | \"is_sortable\": true, |\\n| 49 | \"order\": 1, |\\n| 50 | \"placeholder\": \"string\", |\\n| 51 | \"tooltip\": \"string\", |\\n| 52 | \"unit\": \"string\", |\\n| 53 | \"use_shorthand_notation\": true |\\n| 54 | }, |\\n| 55 | \"default_value\": true |\\n| 56 | } |\\n| 57 | ], |\\n| 58 | \"description\": \"string\", |\\n| 59 | \"name\": \"string\" |\\n| 60 | } |\\n| 61 | ], |\\n| 62 | \"fields\": [ |\\n| 63 | { |\\n| 64 | \"description\": \"string\", |\\n| 65 | \"is_filterable\": true, |\\n| 66 | \"is_immutable\": true,", + "title": "Get Schemas Stock (POST) | DevRev | Docs" + }, + { + "id": "ART-996_KNOWLEDGE_NODE-15", + "text": "field1\\n ...\\n gateway:\\n api_visibility: public\\n is_filterable: true\\n summary: true # NOTE: all fields marked as `summary: true`\\n...\\n - name: field2\\n ...\\n gateway:\\n api_visibility: public\\n is_filterable: true\\n summary: true # NOTE: all fields marked as `summary: true`\\n...\\n - name: field3\\n ...\\n gateway:\\n api_visibility:", + "title": "An Example Object Model Style Guide (our actual style guide)" + }, + { + "id": "ART-17230_KNOWLEDGE_NODE-5", + "text": "about products, services, and processes.\\nThey support both Markdown and HTML formats.\\n\\nArticles can include mentions to artifacts and other articles. Inline attachments must map to artifacts,\\nand article links must map to articles.\\n\\n### Managing permissions\\n\\nArticle permissions are managed through the `shared_with` field, which can reference users, groups, and platform groups.\\nRefer to the [permissions](/public/airsync/data-model/permissions) for more details.\\n\\n### Inline", + "title": "Rich text fields | DevRev | Docs" + }, + { + "id": "ART-5153_KNOWLEDGE_NODE-38", + "text": "true, |\\n| 763 | \"list_view\": { |\\n| 764 | \"is_hidden\": true |\\n| 765 | }, |\\n| 766 | \"order\": 1, |\\n| 767 | \"placeholder\": \"string\", |\\n| 768 | \"summary_view\": { |\\n| 769 | \"is_hidden\": true |\\n| 770 | }, |\\n| 771 | \"tooltip\": \"string\", |\\n| 772 | \"unit\": \"string\", |\\n| 773 | \"use_shorthand_notation\": true |\\n| 774 | }, |\\n| 775 | \"default_value\": true |\\n| 776 | }, |\\n| 777 | \"reference_name\": \"string\", |\\n| 778 | \"type\": \"custom_field\", |\\n| 779 | \"custom_field\": { |\\n| 780 | \"leaf_type\":", + "title": "Get Widget (POST) | DevRev | Docs" + }, + { + "id": "ART-15487_KNOWLEDGE_NODE-34", + "text": "hints\\n------------------\\n\\nUI hints allow customizing the UI/UX of custom fields. So far, `ui.display_name` has\\nbeen used to set the display name of a field. Let\\xe2\\x80\\x99s look at the other supported UI\\nhints:\\n\\n* `display_name`: The display name of the field.\\n* `is_hidden`: Whether the field is hidden.\\n* `placeholder`: The placeholder text for the field.\\n* `is_sortable`: Whether the field is sortable. Requires `is_filterable` to be true.\\n* `is_groupable`: Whether the field is", + "title": "Object customization | DevRev | Docs" + }, + { + "id": "ART-17230_KNOWLEDGE_NODE-3", + "text": "Description |\\n| --- | --- | --- | --- |\\n| `id` | String | Yes | Identifier of the mentioned item (user ID, etc.) in the format used by the source system. |\\n| `ref_type` | String | Yes | Type of the mentioned item (for example, `issue`, `comment`). It must match the record type defined in external domain metadata. The recipe converts this based on user mappings. |\\n| `fallback_record_name` | String | No | Display text if the mention cannot be resolved (user display name, ticket title, etc.).", + "title": "Rich text fields | DevRev | Docs" + }, + { + "id": "ART-13051_KNOWLEDGE_NODE-5", + "text": "\"state\": \"active\" |\\n| 69 | }, |\\n| 70 | \"role\": { |\\n| 71 | \"id\": \"string\", |\\n| 72 | \"display_id\": \"string\", |\\n| 73 | \"sync_metadata\": { |\\n| 74 | \"external_reference\": \"string\", |\\n| 75 | \"origin_system\": \"string\" |\\n| 76 | } |\\n| 77 | } |\\n| 78 | } |\\n| 79 | ], |\\n| 80 | \"state\": \"active\", |\\n| 81 | \"stock_fields\": [ |\\n| 82 | { |\\n| 83 | \"field_name\": \"string\", |\\n| 84 | \"field_value\": null |\\n| 85 | } |\\n| 86 | ], |\\n| 87 | \"subtype\": \"string\" |\\n| 88 | }, |\\n| 89 | \"stale_fields\": [", + "title": "Get Record Template | DevRev | Docs" + }, + { + "id": "ART-2895_KNOWLEDGE_NODE-7", + "text": "\\n >| \"devrev.ai\" \\n >| ], \\n >| \"custom_fields\": { \\n >| \"tnt__\": \"value x\" \\n >| } \\n >| } \\n >| } \\n >| }\\'\\n[/code] \\n \\n#####\\n\\nEnsure that you follow the specified format when providing your phone number.\\n\\n## Pass custom attributes\\n\\nTo create custom attributes, see [Object customization](https://developer.devrev.ai/beta/guides/object-customization).\\n\\nYou can", + "title": "Identify your users with PLuG \u2014 DevRev | Docs" + } + ] + }, + { + "query_id": "30eafcd8-2a68-4e61-85f7-63af6da417a8", + "query": "enable or configure Turing AI agent", + "retrievals": [ + { + "id": "ART-1987_KNOWLEDGE_NODE-26", + "text": "[articles](./articles) for more information.\\n\\nOnce you have added your knowledge base, Turing can be switched on in two modes: suggestion or auto-response. You can configure Turing in **Settings > Turing Answers** and turn on the **Turing Answers** toggle.\\n\\nSuggest-only mode\\n-----------------\\n\\nComputer only suggests an answer to the user query. A support agent can accept or make edits to the answer, then send it to the user.\\n\\nContent-powered mode\\n--------------------\\n\\nComputer", + "title": "Turing AI agent | Computer for Support Teams | DevRev" + }, + { + "id": "ART-13178_KNOWLEDGE_NODE-10", + "text": "the problem autonomously. But agentic AI will investigate the problem, access relevant systems, implement a solution, and follow up autonomously.\\n\\nCharacteristic | Agentic AI | Generative AI | Traditional AI \\n---|---|---|--- \\nCore purpose | Autonomous decision execution & process management | Creative content production & synthesis | Task-specific automation & analysis \\nIndependence level | Extensive \\xe2\\x80\\x93 Functions with minimal supervision | Moderate \\xe2\\x80\\x93 Typically needs", + "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + }, + { + "id": "ART-13178_KNOWLEDGE_NODE-4", + "text": "traditional AI that simply responds to specific queries, agentic AI can make decisions, execute multiple steps, and complete tasks with minimal human intervention, allowing for greater operational efficiency.\\n\\nThink of agentic AI as a digital assistant that doesn\\xe2\\x80\\x99t just answer your questions but actively works to achieve outcomes for you. These autonomous agents can plan sequences of actions, use various tools and systems, adapt to new information, and persist until completing the", + "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + }, + { + "id": "ART-13178_KNOWLEDGE_NODE-56", + "text": "these obstacles proactively ensures smoother adoption and faster value realization, leading to continuous optimisation of systems.\\n\\n### 1\\\\. Integration complexity with existing systems\\n\\nAI agents need to work with existing tools\\xe2\\x80\\x94like CRMs, ERPs, and databases. Many legacy systems lack AI compatibility, missing APIs or modern interfaces. This requires custom development or process changes, potentially disrupting daily operations.\\n\\n**Solution:** Select platforms offering native", + "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + }, + { + "id": "ART-13178_KNOWLEDGE_NODE-1", + "text": "problems, as businesses need a powerful tool that addresses these challenges effectively. Rule-based systems break when encountering exceptions. Chatbots frustrate customers with their limitations. Your business processes still require constant human intervention.\\n\\nWhat if your software could think, learn, and act independently, just like how [AI agents](/ai-agents) learn from their interactions? What if it could handle complex tasks without step-by-step instructions, addressing various", + "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + }, + { + "id": "ART-13178_KNOWLEDGE_NODE-11", + "text": "human direction | Limited \\xe2\\x80\\x93 Follows strict programmed instructions \\nLearning mechanism | Experience-based improvement via outcomes | Pattern recognition from training datasets | Static algorithms with manual updates \\nCommercial value | Revolutionizes end-to-end business operations | Accelerates creative production workflows | Improves efficiency for defined functions \\nJudgment capability | Independent reasoning based on business goals | Responsive creation based on input", + "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + }, + { + "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-13178_KNOWLEDGE_NODE-55", + "text": "current across platforms, creating a single source of truth for both human users and AI agents.\\n\\nThis holistic approach transforms agent adoption from a technical challenge into a strategic business advantage, enabling organizations to deploy sophisticated AI capabilities with minimal disruption to existing operations.\\n\\n## Challenges and solutions with agentic AI adoption\\n\\nWhile agentic AI promises transformative benefits, its implementation comes with significant challenges. Addressing", + "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + }, + { + "id": "ART-13178_KNOWLEDGE_NODE-30", + "text": "transformative advantages across business operations while enabling new possibilities for human-machine collaboration.\\n\\n### Enhanced adaptability and efficiency\\n\\nAgentic AI improves adaptability and efficiency of applications. It significantly speeds up development processes by automating tasks and making decisions independently.\\n\\nThis autonomy saves time and reduces operational costs dramatically. The complex algorithms at its core ensure improved overall performance, making it a", + "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + }, + { + "id": "ART-13178_KNOWLEDGE_NODE-71", + "text": "real-world setting**\\n * **Train your own AI Agent using DevRev**\\n * **Connect the tools you already use**\\n * **Go from demo to deployment in days**\\n\\n _Just reach out. Let\\xe2\\x80\\x99s make Agentic AI work for you._ [**Book a demo.**](/request-a-demo)\\n\\n### Frequently Asked Questions\\n\\n###\\n\\nWhat are the main components of Agentic AI systems?\\n\\n__\\n\\n###\\n\\nCan small businesses benefit from Agentic AI platforms?\\n\\n__\\n\\n###\\n\\nWhat makes Agentic AI different from chatbots and", + "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + } + ] + }, + { + "query_id": "d5c89771-38ee-4ef6-8171-99b10fdd1ae3", + "query": "how to make MIS report with available data on DevRev", + "retrievals": [ + { + "id": "ART-1466_KNOWLEDGE_NODE-4", + "text": "PARAMETER | DESCRIPTION | VALUES |", + "title": "Methods \u2014 DevRev | Docs" + }, + { + "id": "ART-1652_KNOWLEDGE_NODE-190", + "text": "field must be specified, otherwise a bad request error is returned. If a new custom schema specifier is provided, then it will be added to the work, otherwise if a custom schema is omitted from the specifier, it remains unmodified.\\nShow 4 properties\\nidentified_date datetime Optional\\nTime when the incident was identified/reported.\\nimpact object Optional\\nShow 2 properties\\nimpacted_customers object Optional\\nShow property\\nmitigated_date datetime Optional\\nTimestamp when the incident was", + "title": "Export \u2014 DevRev | Docs" + }, + { + "id": "ART-1302_KNOWLEDGE_NODE-171", + "text": "it remains unmodified.\\nShow 4 properties\\nidentified_date datetime Optional\\nTime when the incident was identified/reported.\\nimpact object Optional\\nShow 2 properties\\nimpacted_customers list of strings Optional\\nList of customers impacted due to the incident.\\nmitigated_date datetime Optional\\nTimestamp when the incident was mitigated.\\nowned_by list of strings Optional\\nUser IDs of the users that own the incident.\\npia list of strings Optional\\nThe article ids of the Post-Incident", + "title": "Export \u2014 DevRev | Docs" + }, + { + "id": "ART-1303_KNOWLEDGE_NODE-195", + "text": "field must be specified, otherwise a bad request error is returned. If a new custom schema specifier is provided, then it will be added to the work, otherwise if a custom schema is omitted from the specifier, it remains unmodified.\\nShow 4 properties\\nidentified_date datetime Optional\\nTime when the incident was identified/reported.\\nimpact object Optional\\nShow 2 properties\\nimpacted_customers object Optional\\nShow property\\nmitigated_date datetime Optional\\nTimestamp when the incident was", + "title": "Export Post \u2014 DevRev | Docs" + }, + { + "id": "ART-1639_KNOWLEDGE_NODE-190", + "text": "field must be specified, otherwise a bad request error is returned. If a new custom schema specifier is provided, then it will be added to the work, otherwise if a custom schema is omitted from the specifier, it remains unmodified.\\nShow 4 properties\\nidentified_date datetime Optional\\nTime when the incident was identified/reported.\\nimpact object Optional\\nShow 2 properties\\nimpacted_customers object Optional\\nShow property\\nmitigated_date datetime Optional\\nTimestamp when the incident was", + "title": "Export Post \u2014 DevRev | Docs" + }, + { + "id": "ART-1588_KNOWLEDGE_NODE-190", + "text": "field must be specified, otherwise a bad request error is returned. If a new custom schema specifier is provided, then it will be added to the work, otherwise if a custom schema is omitted from the specifier, it remains unmodified.\\nShow 4 properties\\nidentified_date datetime Optional\\nTime when the incident was identified/reported.\\nimpact object Optional\\nShow 2 properties\\nimpacted_customers object Optional\\nShow property\\nmitigated_date datetime Optional\\nTimestamp when the incident was", + "title": "Get \u2014 DevRev | Docs" + }, + { + "id": "ART-1593_KNOWLEDGE_NODE-190", + "text": "field must be specified, otherwise a bad request error is returned. If a new custom schema specifier is provided, then it will be added to the work, otherwise if a custom schema is omitted from the specifier, it remains unmodified.\\nShow 4 properties\\nidentified_date datetime Optional\\nTime when the incident was identified/reported.\\nimpact object Optional\\nShow 2 properties\\nimpacted_customers object Optional\\nShow property\\nmitigated_date datetime Optional\\nTimestamp when the incident was", + "title": "Get \u2014 DevRev | Docs" + }, + { + "id": "ART-1653_KNOWLEDGE_NODE-190", + "text": "field must be specified, otherwise a bad request error is returned. If a new custom schema specifier is provided, then it will be added to the work, otherwise if a custom schema is omitted from the specifier, it remains unmodified.\\nShow 4 properties\\nidentified_date datetime Optional\\nTime when the incident was identified/reported.\\nimpact object Optional\\nShow 2 properties\\nimpacted_customers object Optional\\nShow property\\nmitigated_date datetime Optional\\nTimestamp when the incident was", + "title": "Get \u2014 DevRev | Docs" + }, + { + "id": "ART-1787_KNOWLEDGE_NODE-194", + "text": "field must be specified, otherwise a bad request error is returned. If a new custom schema specifier is provided, then it will be added to the work, otherwise if a custom schema is omitted from the specifier, it remains unmodified.\\nShow 4 properties\\nidentified_date datetime Optional\\nTime when the incident was identified/reported.\\nimpact object Optional\\nShow 2 properties\\nimpacted_customers object Optional\\nShow property\\nmitigated_date datetime Optional\\nTimestamp when the incident was", + "title": "Get \u2014 DevRev | Docs" + }, + { + "id": "ART-1823_KNOWLEDGE_NODE-190", + "text": "field must be specified, otherwise a bad request error is returned. If a new custom schema specifier is provided, then it will be added to the work, otherwise if a custom schema is omitted from the specifier, it remains unmodified.\\nShow 4 properties\\nidentified_date datetime Optional\\nTime when the incident was identified/reported.\\nimpact object Optional\\nShow 2 properties\\nimpacted_customers object Optional\\nShow property\\nmitigated_date datetime Optional\\nTimestamp when the incident was", + "title": "Get \u2014 DevRev | Docs" + } + ] + }, + { + "query_id": "ed5940c0-01b1-45bc-8489-dccca3575588", + "query": "populate Timeline Comment Created trigger for a ticket object", + "retrievals": [ + { + "id": "ART-1277_KNOWLEDGE_NODE-6", + "text": "objects of type\\n **Issue** or **Ticket** are created in DevRev.\\n2. **Text command**: This manual trigger is achieved by utilizing a slash\\n command in the **Discussions** tab of the objects that support this feature.\\n\\n#### Action\\n\\nTo implement the desired action of adding a comment to the object timeline, it\\nis essential to identify the appropriate [API]\\nfor this task. In this scenario, the `/timeline-entries.create` API is the\\ndesignated choice for executing the action of adding a", + "title": "Snap-in triggered by a DevRev event | DevRev | Docs" + }, + { + "id": "ART-1485_KNOWLEDGE_NODE-10", + "text": "invoke the snap-in, two distinct triggers are implemented:\\n\\n 1. **Creation of work item** : This trigger is activated when new objects of type **Issue** or **Ticket** are created in DevRev.\\n\\n 2. **Text command** : This manual trigger is achieved by utilizing a slash command in the **Discussions** tab of the objects that support this feature.\\n\\n#### Action\\n\\nTo implement the desired action of adding a comment to the object timeline, it is essential to identify the appropriate [API] for", + "title": "Snap-in triggered by a DevRev event \u2014 DevRev | Docs" + }, + { + "id": "ART-1265_KNOWLEDGE_NODE-9", + "text": "timeline of an issue/ticket using the `timeline-entries.create` API with different visibilities. You can now use this to create comments on timeline using automation or manually based on your use case.\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/guides/webhooks)[#### Object customization\\n\\nNext](/guides/object-customization)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)\\n\\n![]()'", + "title": "Restricted messages on a timeline | DevRev | Docs" + }, + { + "id": "ART-1277_KNOWLEDGE_NODE-23", + "text": "= event.input_data.global_values.input_field_array; |\\n| 28 | |\\n| 29 | // Appending extra comments to the body if requested |\\n| 30 | if (extraComment) { |\\n| 31 | for (let comment of extraComments) { |\\n| 32 | bodyComment = bodyComment + \" \" + comment; |\\n| 33 | } |\\n| 34 | } |\\n| 35 | |\\n| 36 | // Creating the timeline entry comment using DevRev SDK |\\n| 37 | const body = { |\\n| 38 | object: workCreated.id, |\\n| 39 | type: \"timeline_comment\", |\\n| 40 | body: bodyComment, |\\n| 41 | }; |\\n|", + "title": "Snap-in triggered by a DevRev event | DevRev | Docs" + }, + { + "id": "ART-1471_KNOWLEDGE_NODE-9", + "text": "}\\n[/code] \\n \\nYou can check the object to which you sent a message in the UI. It\\xe2\\x80\\x99s visible to the creator and the users you added in `private_to`.\\n\\n## Summary\\n\\nIn this tutorial, you learned how to post a comment on the timeline of an issue/ticket using the `timeline-entries.create` API with different visibilities. You can now use this to create comments on timeline using automation or manually based on your use case.\\n\\nWas this page helpful?YesNo\\n\\n[SDKsUp", + "title": "Restricted messages on a timeline \u2014 DevRev | Docs" + }, + { + "id": "ART-1277_KNOWLEDGE_NODE-27", + "text": "Extracting relevant information from the event payload |\\n| 13 | const workCreated = event.payload.source_id; |\\n| 14 | |\\n| 15 | // Building the comment body for command events |\\n| 16 | const bodyComment = \"Hello World is printed on the work from the command.\"; |\\n| 17 | |\\n| 18 | // Creating the timeline entry comment using DevRev SDK |\\n| 19 | const body = { |\\n| 20 | object: workCreated, |\\n| 21 | type: \"timeline_comment\", |\\n| 22 | body: bodyComment, |\\n| 23 | }; |\\n| 24 | |\\n| 25 | //", + "title": "Snap-in triggered by a DevRev event | DevRev | Docs" + }, + { + "id": "ART-1423_KNOWLEDGE_NODE-0", + "text": "b'[](/public/api-reference/timeline-entries/create)\\n\\nPublic\\n\\n[API Reference](/public/api-reference/getting-started)[Timeline Entries](/public/api-reference/timeline-entries/reactions-list)\\n\\n# Create Timeline Entry\\n\\nPOST\\n\\nhttps://api.devrev.ai/timeline-entries.create\\n\\nTry it\\n\\nCreates a new entry on an object\\xe2\\x80\\x99s timeline.\\n\\n### Request\\n\\nThis endpoint expects an object.\\n\\ntimeline_comment\\n\\nShow 10 properties\\n\\n### Response\\n\\nThe response to creating a timeline entry", + "title": "Create Timeline Entry \u2014 DevRev | Docs" + }, + { + "id": "ART-1485_KNOWLEDGE_NODE-32", + "text": "devrevSDK = client.setup({ \\n 8| endpoint: API_BASE, \\n 9| token: devrevPAT, \\n 10| }); \\n 11| \\n 12| // Extracting relevant information from the event payload \\n 13| const workCreated = event.payload.source_id; \\n 14| \\n 15| // Building the comment body for command events \\n 16| const bodyComment = \"Hello World is printed on the work from the command.\"; \\n 17| \\n 18| // Creating the timeline entry comment using DevRev SDK \\n", + "title": "Snap-in triggered by a DevRev event \u2014 DevRev | Docs" + }, + { + "id": "ART-1230_KNOWLEDGE_NODE-1", + "text": "https://api.devrev.ai/timeline-entries.get \\\\ |\\n| > | -H \"Authorization: Bearer \" \\\\ |\\n| > | -H \"Content-Type: application/json\" \\\\ |\\n| > | -d \\'{ |\\n| > | \"id\": \"don:core:dvrv-us-1:devo/example:ticket/123:comment/comment-id\" |\\n| > | }\\' |\\n```\\n\\n[Try it](/api-reference/timeline-entries/get-post?explorer=true)\\n\\n200Successful\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | { |\\n| 2 | \"timeline_entry\": { |\\n| 3 | \"created_by\": { |\\n| 4 | \"display_id\": \"string\", |\\n| 5 | \"id\": \"string\", |\\n| 6", + "title": "Get Timeline Entry (POST) | DevRev | Docs" + }, + { + "id": "ART-1425_KNOWLEDGE_NODE-2", + "text": "id=don:core:dvrv-us-1:devo/example:ticket/123:comment/comment-id\\n[/code] \\n \\nTry it\\n\\n200getExample\\n\\n[code]\\n\\n 1| { \\n ---|--- \\n 2| \"timeline_entry\": { \\n 3| \"created_by\": { \\n 4| \"display_id\": \"foo\", \\n 5| \"id\": \"foo\", \\n 6| \"display_name\": \"foo\", \\n 7| \"display_picture\": { \\n 8| \"display_id\": \"foo\", \\n 9| \"id\": \"foo\", \\n 10| \"file\": { \\n 11| \"type\": \"foo\", \\n 12|", + "title": "Get Timeline Entry \u2014 DevRev | Docs" + } + ] + }, + { + "query_id": "3abb74c9-639f-4252-955c-3cfaa8bf6795", + "query": "DevRev Bot groups created from airdrops", + "retrievals": [ + { + "id": "ART-8442_KNOWLEDGE_NODE-28", + "text": "scenarios.\\n\\nFor more information about _Airdrop Platform_ , refer to the following article: [Airdrop | Snap-ins](/docs/import)\\n\\n### Configuration Studio\\n\\nAdded the **Setup DevRev** page to the left navigation for admin users to improve visibility for new users.\\n\\n### User Studio\\n\\nUpdated the setup page to improve tracking of common tasks for setting up DevRev.\\n\\n[PreviousFebruary 2025](/docs/changelog/_2025-02-01)[NextDeveloper](/docshttps://developer.devrev.ai)\\n\\n#### On this", + "title": "January 2025 | Changelog | DevRev" + }, + { + "id": "ART-1804_KNOWLEDGE_NODE-156", + "text": "11 properties\\nAPI Reference groups List.\\n\\nGET https:// api.devrev.ai / groups.list\\nLists the available groups.\\nQuery parameters.\\n\\ncursor string Optional\\nThe cursor to resume iteration from. If not provided, then iteration starts from the beginning.\\ngroup_type \"dynamic\" or \"static\" Optional\\nFilters the groups based on the group type.\\nAllowed values: dynamic static\\ningestion_source \"airdrop\" or \"scim\" Optional\\nFilter groups by ingestion source(s).\\nAllowed values: airdrop", + "title": "Self \u2014 DevRev | Docs" + }, + { + "id": "ART-1806_KNOWLEDGE_NODE-156", + "text": "Reference groups List.\\n\\nGET https:// api.devrev.ai / groups.list\\nLists the available groups.\\nQuery parameters.\\n\\ncursor string Optional\\nThe cursor to resume iteration from. If not provided, then iteration starts from the beginning.\\ngroup_type \"dynamic\" or \"static\" Optional\\nFilters the groups based on the group type.\\nAllowed values: dynamic static\\ningestion_source \"airdrop\" or \"scim\" Optional\\nFilter groups by ingestion source(s).\\nAllowed values: airdrop scim\\nis_default boolean", + "title": "Self Post \u2014 DevRev | Docs" + }, + { + "id": "ART-4983_KNOWLEDGE_NODE-9", + "text": "demo](https://devrev.ai/request-a-demo)\\n\\n'", + "title": "Airdrop \u2014 DevRev | Docs" + }, + { + "id": "ART-1545_KNOWLEDGE_NODE-233", + "text": "https://api.devrev.ai / groups.list\\n\\nLists the available groups.\\n\\nRequest.\\n\\nThis endpoint expects an object.\\ncursor string Optional\\n\\nThe cursor to resume iteration from. If not provided, then iteration starts from the beginning.\\n\\ngroup_type list of \"dynamic\" or \"static\" Optional\\nAllowed values: dynamic static\\n\\nFilters the groups based on the group type.\\n\\ningestion_source list of \"airdrop\" or \"scim\" Optional\\nAllowed values: airdrop scim\\n\\nFilter groups by ingestion", + "title": "Create (Beta) \u2014 DevRev | Docs" + }, + { + "id": "ART-10699_KNOWLEDGE_NODE-1", + "text": "These permissions will only take effect for the issue subtypes that were imported from the selected project. When group memberships or permission scheme change in Jira, the next sync will bring these changes to DevRev, and in this mode, it's advisable to make any manual changes to group memberships or the permission scheme in the external system, as the permissions, groups and group memberships are only synced to DevRev, never from DevRev to Jira.When deselecting a single one of these during", + "title": "Airdropping permissions and groups from Jira" + }, + { + "id": "ART-4983_KNOWLEDGE_NODE-2", + "text": "documentation](https://docs.devrev.ai/import#airdrop-features).\\n\\nWas this page helpful?YesNo\\n\\n[Getting startedUp Next](/public/airdrop/getting-started)\\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 *", + "title": "Airdrop \u2014 DevRev | Docs" + }, + { + "id": "ART-1300_KNOWLEDGE_NODE-156", + "text": "\"static\" Optional\\nAllowed values: dynamic static\\nFilters the groups based on the group type.\\ningestion_source list of \"airdrop\" or \"scim\" Optional\\nAllowed values: airdrop scim\\nFilter groups by ingestion source(s).\\nis_default boolean Optional\\nWhether to fetch default or custom groups.\\nlimit integer Optional\\nThe maximum number of groups to return. The default is \\'50\\'.\\nmember_type list of \"dev_user\" or \"rev_user\" Optional\\nAllowed values: dev_user rev_user\\nFilters the groups on basis", + "title": "Create \u2014 DevRev | Docs" + }, + { + "id": "ART-1649_KNOWLEDGE_NODE-149", + "text": "groups based on the group type.\\nAllowed values: dynamic static\\ningestion_source \"airdrop\" or \"scim\" Optional\\nFilter groups by ingestion source(s).\\nAllowed values: airdrop scim\\nis_default boolean Optional\\nWhether to fetch default or custom groups.\\nlimit integer Optional\\nThe maximum number of groups to return. The default is \\'50\\'.\\nmember_type \"dev_user\" or \"rev_user\" Optional\\nFilters the groups on basis of member type.\\nAllowed values: dev_user rev_user\\nmode \"after\" or \"before\"", + "title": "Create \u2014 DevRev | Docs" + }, + { + "id": "ART-1651_KNOWLEDGE_NODE-149", + "text": "groups based on the group type.\\nAllowed values: dynamic static\\ningestion_source \"airdrop\" or \"scim\" Optional\\nFilter groups by ingestion source(s).\\nAllowed values: airdrop scim\\nis_default boolean Optional\\nWhether to fetch default or custom groups.\\nlimit integer Optional\\nThe maximum number of groups to return. The default is \\'50\\'.\\nmember_type \"dev_user\" or \"rev_user\" Optional\\nFilters the groups on basis of member type.\\nAllowed values: dev_user rev_user\\nmode \"after\" or \"before\"", + "title": "Create \u2014 DevRev | Docs" + } + ] + }, + { + "query_id": "a15290e1-d40b-4422-b5ea-170576843e89", + "query": "SLA for Next Response stop when stage is moved back to Awaiting Customer", + "retrievals": [ + { + "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-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-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-4181_KNOWLEDGE_NODE-14", + "text": "Exceptions\\n\\nCreate Exceptions for customers who require special treatment, overriding the Assignment Rules when necessary\\n\\n![]()\\n\\nDefault SLA Fallback\\n\\nAuto-assign a Default SLA to customers who do not meet any of the specified criteria\\n\\nEffortlessly monitor SLAs everywhere\\n====================================\\n\\nKeep track of SLAs on all channels. Focus on the most critical or time-sensitive customer issues, ensuring rapid", + "title": "Support like a lightning fast pit-crew" + }, + { + "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-4181_KNOWLEDGE_NODE-13", + "text": "old and new customers\\n\\nFlexible Exceptions\\n\\nCreate Exceptions for customers who require special treatment, overriding the Assignment Rules when necessary\\n\\nDefault SLA Fallback\\n\\nAuto-assign a Default SLA to customers who do not meet any of the specified criteria\\n\\n![]()\\n\\n![]()\\n\\n![]()\\n\\n![]()\\n\\nAutomated SLA Assignment\\n\\nAuto-assign SLA based on predefined criteria, ensuring the right SLAs are consistently applied to relevant old and new customers\\n\\n![]()\\n\\nFlexible", + "title": "Support like a lightning fast pit-crew" + }, + { + "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-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-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-1979_KNOWLEDGE_NODE-44", + "text": "progress* as the customer experience engineer continues to work on it.\\n* *Awaiting product assist* (APA)\\n\\n The customer experience engineer is waiting for a response or feedback from someone internally. They may need to escalate the ticket. There may be a corresponding [issue](./issues) created to fix the defect, which would transition the stage to *awaiting development*.\\n* Awaiting customer response (ACR)\\n\\n The customer experience engineer requires more detail or another response from", + "title": "Tickets | Computer for Support Teams | DevRev" + } + ] + }, + { + "query_id": "3cb75fc1-7ba2-447f-be4a-5bc6c5a58198", + "query": "workflow send message on Slack operation execution failed Something went wrong", + "retrievals": [ + { + "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-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-2036_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": "SendSafely | Integrate | Snap-ins | DevRev" + }, + { + "id": "ART-4020_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": "Send customized emails | Automate | Snap-ins | DevRev" + }, + { + "id": "ART-10697_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": "February 2025 | Changelog | DevRev" + }, + { + "id": "ART-2035_KNOWLEDGE_NODE-52", + "text": "the channel. - Private channels are supported only if the DevRev app is a member of the channel. | - Slack connection - Slack channel id - Text message to send - Objects to mention with message - If any object is added here, a summary card of that object is sent with the message. | Slack message ID |\\n| Create new Slack channel | Use this workflow node to create a new Slack channel. | - Slack connection - Channel name Make sure this is unique. It is recommended to create this name", + "title": "Slack | Integrate | Snap-ins | DevRev" + }, + { + "id": "ART-16806_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": "July 2025 | Changelog | DevRev" + }, + { + "id": "ART-16264_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": "June 2025 | Changelog | DevRev" + }, + { + "id": "ART-2035_KNOWLEDGE_NODE-54", + "text": "given DevRev user - Can be used to later send direct messages to the user on the Slack using Send message to Slack node. | - Slack connection - DevRev user id | - Slack user id |\\n| Start Thread Sync | - Set up 2 way message synchronization between a Slack thread and a DevRev object discussion. | - Slack connection - DevRev Object ID - Slack channel ID - Slack thread ID (message ID of parent message, returned by send message to Slack workflow node) | N/A |\\n| Start Channel Sync | -", + "title": "Slack | Integrate | Snap-ins | DevRev" + }, + { + "id": "ART-2065_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": "August 2025 | Changelog | DevRev" + } + ] + }, + { + "query_id": "04caf277-77d6-4bab-9409-739686bb6a63", + "query": "change and customize chat design", + "retrievals": [ + { + "id": "ART-2059_KNOWLEDGE_NODE-5", + "text": "Jul 06 to Jul 19, 2023 Jun 20 to Jul 05, 2023 Jun 05 to Jun 19, 2023 May 22 to Jun 05, 2023 Apr 22 to May 22, 2023\\n\\nDeveloper DevRevU\\n\\nOn this page\\nIntegration code Unique app ID Setup for HTML Setup for React\\nInstall PLuG chat on your website.\\n\\nThere are two primary methods to customize PLuG chat. The easiest way is to do so through the app by navigating to Settings > Support > PLuG Settings > Configuration, Styling and Layout Tabs.. For detailed descriptions of the parameters, refer", + "title": "Install PLuG chat on your website" + }, + { + "id": "ART-16579_KNOWLEDGE_NODE-23", + "text": "websites associated with the account |\\n| `tier` | `String?` | The account\\xe2\\x80\\x99s tier or plan level |\\n| `customFields` | `Map?` | Dictionary of custom fields configured in DevRev |\\n\\nPlug support chat\\n-----------------\\n\\nOnce user identification is complete, you can start using the chat (conversations) dialog supported by our DevRev SDK. The support chat feature can be shown as a modal screen from the top-most screen.\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 |", + "title": "Features | DevRev | Docs" + }, + { + "id": "ART-12971_KNOWLEDGE_NODE-3", + "text": ">| ] \\n >| }\\'\\n[/code] \\n \\nTry it\\n\\n201chatsCreateExample\\n\\n[code]\\n\\n 1| { \\n ---|--- \\n 2| \"chat\": { \\n 3| \"type\": \"foo\" \\n 4| } \\n 5| }\\n[/code] \\n \\n[Get ChatUp Next](/public/api-reference/chats/get)\\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": "Create Chat \u2014 DevRev | Docs" + }, + { + "id": "ART-2059_KNOWLEDGE_NODE-4", + "text": "PLuG chat on your website Install PLuG search on your website Identify your users with PLuG Customize Nudges SDK\\n\\nChangelog\\n\\nSeptember 01 to September 30 August 01 to August 31 July 01 to July 31, 2024 June 01 to June 28, 2024 May 01 to May 31, 2024 April 01 to April 29, 2024 Mar 01 to Mar 29, 2024 Feb 10 to Feb 29, 2024 Jan 09, 2024 to Feb 09, 2024 Dec 08, 2023 to Jan 08, 2024 Nov 10 to Dec 07, 2023 Oct 13 to Nov 09, 2023 Sep 15 to Oct 12, 2023 Aug 17 to Sep 14, 2023 Jul 20 to Aug 16, 2023", + "title": "Install PLuG chat on your website" + }, + { + "id": "ART-1792_KNOWLEDGE_NODE-87", + "text": "Optional\\nThe users in the conversation.\\nmessages list of objects Optional\\nInitial messages on the conversation.\\nShow 2 properties\\nmetadata object Optional\\nShow property\\nsource_channel string Optional\\nWhether the conversation is from a source channel.\\nstage object Optional\\nSets an object\\'s initial stage.\\nShow 2 properties\\ntags list of objects Optional\\nTags associated with the conversation.\\nShow 2 properties\\ntitle string Optional\\nThe title for the conversation.\\nuser_sessions", + "title": "Update \u2014 DevRev | Docs" + }, + { + "id": "ART-2893_KNOWLEDGE_NODE-4", + "text": "update their information.\\n\\n#####\\n\\nOnce the SDK is installed, the chat widget appears by default. If you are not using the PLuG SDK for support or chat-related flows, you can disable the chat widget by setting the `disable_plug_chat_window` input to `true`.\\n\\n[code]\\n\\n \\n[/code] \\n \\nTo ensure seamless", + "title": "Install the Web SDK \u2014 DevRev | Docs" + }, + { + "id": "ART-4232_KNOWLEDGE_NODE-6", + "text": "\"name\": \"name\", \\n 70| \"sync_run\": {}, \\n 71| \"sync_type\": \"manual\" \\n 72| } \\n 73| }, \\n 74| \"origin_system\": \"origin_system\" \\n 75| }, \\n 76| \"title\": \"title\" \\n 77| } \\n 78| }\\n[/code] \\n \\n[Get Chat (POST)Up Next](/beta/api-reference/chats/get-post)\\n\\n[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)\\n\\n'", + "title": "Get Chat (Beta) \u2014 DevRev | Docs" + }, + { + "id": "ART-15515_KNOWLEDGE_NODE-23", + "text": "Array of websites associated with the account |\\n| `tier` | `String?` | The account\\xe2\\x80\\x99s tier or plan level |\\n| `customFields` | `[String: Any]?` | Dictionary of custom fields configured in DevRev |\\n\\nPlug support chat\\n-----------------\\n\\n### UIKit\\n\\nThe support chat feature can be shown as a modal screen from a specific view controller or the top-most one, or can be pushed onto a navigation stack.\\n\\nTo show the support chat screen in your app, you can use the following overloaded", + "title": "Features | DevRev | Docs" + }, + { + "id": "ART-1506_KNOWLEDGE_NODE-1", + "text": "custom schemas described abstractly. Every provided schema\\xe2\\x80\\x99s custom field must be specified, otherwise a bad request error is returned. If a new custom schema specifier is provided, then it will be added to the work, otherwise if a custom schema is omitted from the specifier, it remains unmodified.\\n\\nShow 4 properties\\n\\ndescriptionstringOptional\\n\\nDescription for the conversation.\\n\\ngroupstringOptional\\n\\nThe group that the conversation is associated", + "title": "Create Conversation (Beta) \u2014 DevRev | Docs" + }, + { + "id": "ART-12972_KNOWLEDGE_NODE-3", + "text": "-d \\'{}\\'\\n[/code] \\n \\nTry it\\n\\n200chatsGetPostExample\\n\\n[code]\\n\\n 1| { \\n ---|--- \\n 2| \"chat\": { \\n 3| \"type\": \"foo\" \\n 4| } \\n 5| }\\n[/code] \\n \\n[Update ChatUp Next](/public/api-reference/chats/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 *", + "title": "Get Chat (POST) \u2014 DevRev | Docs" + } + ] + }, + { + "query_id": "a929fcbe-9627-402e-9aa1-8535a766a594", + "query": "Vista export as CSV error invalid_field sort_groups_by", + "retrievals": [ + { + "id": "ART-1302_KNOWLEDGE_NODE-158", + "text": "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 sort order. If not set, then no prior elements exist.\\nAPI Reference groups List Post.\\n\\nPOST https:// api.devrev.ai / groups.list\\nLists the available groups.\\nRequest.\\n\\nThis endpoint expects an object.\\ncursor string", + "title": "Export \u2014 DevRev | Docs" + }, + { + "id": "ART-1652_KNOWLEDGE_NODE-151", + "text": "iterate preceding results in accordance to the sort order. If not set, then no prior elements exist.\\nAPI Reference groups List Post.\\n\\nPOST https:// api.devrev.ai / groups.list\\nLists the available groups.\\nRequest.\\n\\nThis endpoint expects an object.\\ncursor string Optional\\nThe cursor to resume iteration from. If not provided, then iteration starts from the beginning.\\ngroup_type list of \"dynamic\" or \"static\" Optional\\nAllowed values: dynamic static\\nFilters the groups based on the group", + "title": "Export \u2014 DevRev | Docs" + }, + { + "id": "ART-1302_KNOWLEDGE_NODE-216", + "text": "Optional\\nWhether only deprecated fragments should be filtered.\\nleaf_type string Optional\\nThe list of leaf types.\\nlimit integer Optional\\nThe maximum number of items.\\nmode \"after\" or \"before\" Optional\\nThe iteration mode to use, otherwise if not set, then \"after\" is used.\\nAllowed values: after before\\nprune \"fields\" Optional\\nList of fields which are not required in the payload and can be pruned away.\\nsort_by string Optional\\nThe list of fields to sort the items by and how to sort", + "title": "Export \u2014 DevRev | Docs" + }, + { + "id": "ART-15481_KNOWLEDGE_NODE-7", + "text": "Error\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/api-reference/vistas/groups-get-post)[#### List Vistas Groups (POST)\\n\\nNext](/api-reference/vistas/groups-list-post)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "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-1652_KNOWLEDGE_NODE-154", + "text": "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 sort order. If not set, then no prior elements exist.\\nAPI Reference groups Group Members Add.\\n\\nPOST https:// api.devrev.ai / groups.members.add\\nAdds a member to a group.\\nRequest.\\n\\nThis endpoint expects an", + "title": "Export \u2014 DevRev | Docs" + }, + { + "id": "ART-1302_KNOWLEDGE_NODE-157", + "text": "integer Optional\\nThe maximum number of groups to return. The default is \\'50\\'.\\nmember_type \"dev_user\" or \"rev_user\" Optional\\nFilters the groups on basis of member type.\\nAllowed values: dev_user rev_user\\nmode \"after\" or \"before\" 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", + "title": "Export \u2014 DevRev | Docs" + }, + { + "id": "ART-1303_KNOWLEDGE_NODE-156", + "text": "iterate preceding results in accordance to the sort order. If not set, then no prior elements exist.\\nAPI Reference groups List Post.\\n\\nPOST https:// api.devrev.ai / groups.list\\nLists the available groups.\\nRequest.\\n\\nThis endpoint expects an object.\\ncursor string Optional\\nThe cursor to resume iteration from. If not provided, then iteration starts from the beginning.\\ngroup_type list of \"dynamic\" or \"static\" Optional\\nAllowed values: dynamic static\\nFilters the groups based on the group", + "title": "Export Post \u2014 DevRev | Docs" + }, + { + "id": "ART-1639_KNOWLEDGE_NODE-151", + "text": "iterate preceding results in accordance to the sort order. If not set, then no prior elements exist.\\nAPI Reference groups List Post.\\n\\nPOST https:// api.devrev.ai / groups.list\\nLists the available groups.\\nRequest.\\n\\nThis endpoint expects an object.\\ncursor string Optional\\nThe cursor to resume iteration from. If not provided, then iteration starts from the beginning.\\ngroup_type list of \"dynamic\" or \"static\" Optional\\nAllowed values: dynamic static\\nFilters the groups based on the group", + "title": "Export Post \u2014 DevRev | Docs" + }, + { + "id": "ART-15463_KNOWLEDGE_NODE-3", + "text": "Response\\n\\nThe response to getting a vista group item\\'s information.\\n\\nvista\\\\_groupobject\\n\\nRepresents a vista group item.\\n\\nShow 3 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/vistas/groups-get)[#### List Vistas", + "title": "Get Vistas Group (POST) | DevRev | Docs" + } + ] + }, + { + "query_id": "9e47d6d0-487f-42aa-a3cc-0409522c3daf", + "query": "accounts.export API filter by created date after", + "retrievals": [ + { + "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-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-1302_KNOWLEDGE_NODE-19", + "text": "maximum number of accounts to return per page. The default is \\'50\\'.\\nmode \"after\" or \"before\" Optional\\nThe iteration mode to use, otherwise if not set, then \"after\" is used.\\nAllowed values: after before\\nmodified_date.after datetime Optional\\nFilters for 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", + "title": "Export \u2014 DevRev | Docs" + }, + { + "id": "ART-1306_KNOWLEDGE_NODE-16", + "text": "accordance to the sort order. If not set, then no prior elements exist.\\nGET / accounts.list\\n$ curl -G https://api.devrev.ai/accounts.list \\\\ > -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 \" : \"", + "title": "List \u2014 DevRev | Docs" + }, + { + "id": "ART-1305_KNOWLEDGE_NODE-18", + "text": "accordance to the sort order. If not set, then no prior elements exist.\\nGET / accounts.list\\n$ curl -G https://api.devrev.ai/accounts.list \\\\ > -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 \" : \"", + "title": "Get Post \u2014 DevRev | Docs" + }, + { + "id": "ART-1302_KNOWLEDGE_NODE-17", + "text": "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 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", + "title": "Export \u2014 DevRev | Docs" + }, + { + "id": "ART-1301_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": "Delete \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-1588_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 \u2014 DevRev | Docs" + }, + { + "id": "ART-1593_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 \u2014 DevRev | Docs" + } + ] + }, + { + "query_id": "5a83d35e-d1ba-4feb-b778-53b294f3bb0e", + "query": "Sales One App not visible after login", + "retrievals": [ + { + "id": "ART-1966_KNOWLEDGE_NODE-31", + "text": "\"DevRev\" that you created earlier under Enterprise applications. Within the application, go to **Users and Groups** and assign the users who can access the app.\\n\\nConfigure DevRev to use your identity provider\\n----------------------------------------------\\n\\nAfter registering DevRev as an application in your identity provider, you need to create an authentication connection in DevRev that links to your identity provider. This connection enables DevRev to authenticate users through your", + "title": "External identity provider setup | Computer by DevRev | DevRev" + }, + { + "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-1966_KNOWLEDGE_NODE-37", + "text": "{}\\n```\\n```\\n\\n### Step 3: Test and verify the setup\\n\\nFollow these steps to ensure your SSO integration is working correctly:\\n\\n1. **Check the login page:**\\n\\n * Go to: https://app.devrev.ai/\\n * You should see a new SSO login option with your identity provider\\'s name\\n2. **Test user authentication:**\\n\\n * Use a test user account that\\'s assigned to the DevRev application in your identity provider\\n * Click the SSO login option and complete the authentication", + "title": "External identity provider setup | Computer by DevRev | DevRev" + }, + { + "id": "ART-1474_KNOWLEDGE_NODE-9", + "text": "mavenCentral is accessible from the IDE, and confirm accurate detection of the selected DevRev PLuG SDK version.\\n\\nIssue. : The showSupport() function or XML button is unresponsive. Solution. : Confirm that user identification is performed before using the showSupport() function or XML button.\\n\\nIssue. : Incorrect operation due to App ID and secret misconfiguration. Solution. : Ensure correct functionality by double-checking that both App ID and secret values are accurately configured in your", + "title": "Integrate PLuG with your Android app \u2014 DevRev | Docs" + }, + { + "id": "ART-1547_KNOWLEDGE_NODE-168", + "text": "for the organization and the user will need to explicitly enable this. Keep in mind that at a time, only one authentication connection can be enabled for a Dev organization. At present, only 5 enterprise connections can be created by an organization.\\n\\nRequest.\\n\\nThis endpoint expects an object.\\nGoogle Apps\\n\\nObject encapsulating the configuration parameters for a Google Apps authentication connection.\\n\\nShow 5 properties\\nOR\\nOidc\\n\\nObject encapsulating the configuration parameters for", + "title": "Get Post (Beta) \u2014 DevRev | Docs" + }, + { + "id": "ART-1551_KNOWLEDGE_NODE-168", + "text": "for the organization and the user will need to explicitly enable this. Keep in mind that at a time, only one authentication connection can be enabled for a Dev organization. At present, only 5 enterprise connections can be created by an organization.\\n\\nRequest.\\n\\nThis endpoint expects an object.\\nGoogle Apps\\n\\nObject encapsulating the configuration parameters for a Google Apps authentication connection.\\n\\nShow 5 properties\\nOR\\nOidc\\n\\nObject encapsulating the configuration parameters for", + "title": "Update (Beta) \u2014 DevRev | Docs" + }, + { + "id": "ART-1566_KNOWLEDGE_NODE-168", + "text": "for the organization and the user will need to explicitly enable this. Keep in mind that at a time, only one authentication connection can be enabled for a Dev organization. At present, only 5 enterprise connections can be created by an organization.\\n\\nRequest.\\n\\nThis endpoint expects an object.\\nGoogle Apps\\n\\nObject encapsulating the configuration parameters for a Google Apps authentication connection.\\n\\nShow 5 properties\\nOR\\nOidc\\n\\nObject encapsulating the configuration parameters for", + "title": "Transition (Beta) \u2014 DevRev | Docs" + }, + { + "id": "ART-15515_KNOWLEDGE_NODE-5", + "text": "page\\n\\nIdentification\\n--------------\\n\\nTo access certain features of the DevRev SDK, user identification is required.\\n\\nThe identification function should be placed appropriately in your app after 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\\nIf you haven\\xe2\\x80\\x99t previously identified the user, the DevRev SDK will automatically create an anonymous user for you immediately after the", + "title": "Features | DevRev | Docs" + }, + { + "id": "ART-1978_KNOWLEDGE_NODE-42", + "text": "linkage**: Users can also be linked to an existing account to ensure they are granted the appropriate user permissions upon login.\\n\\nTroubleshooting\\n---------------\\n\\n* The customer isn't able to log in to the customer portal.\\n\\n + This could be because the email address from which you are trying to log in isn't registered as a customer on the DevRev application. You can check if the email address is registered or not by logging into your DevRev account and searching if a customer exists", + "title": "Customer portal | Computer for Support Teams | DevRev" + }, + { + "id": "ART-1307_KNOWLEDGE_NODE-108", + "text": "Dev organization. This authentication connection will not be enabled by default for the organization and the user will need to explicitly enable this. Keep in mind that at a time, only one authentication connection can be enabled for a Dev organization. At present, only 5 enterprise connections can be created by an organization.\\nRequest.\\n\\nThis endpoint expects an object.\\nGoogle Apps Show 5 properties\\nOR\\nOidc Show 5 properties\\nOR\\nSamlp Show 4 properties\\nOR\\nWaad Show 5", + "title": "List Post \u2014 DevRev | Docs" + } + ] + }, + { + "query_id": "a03f6885-a997-4546-bd74-be98466da2d9", + "query": "linking tickets and issues for analytics", + "retrievals": [ + { + "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-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-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-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-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-1977_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-Team Performance](/docs/dashboards/ticket-team-performance)\\n\\nTicket-Team Performance\\n=======================\\n\\n* **Number of Owners**\\n\\n Total number of ticket owners.\\n* **Avg SLA breaches by Owner**\\n\\n Number of Tickets with SLA breaches divided by number of ticket owners.\\n* **Average CSAT rating**\\n\\n", + "title": "Ticket-Team Performance | Support analytics | Computer for Support Teams | 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-1975_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 insights | Support analytics | Computer for Support Teams | DevRev" + }, + { + "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", + "title": "Tickets | Computer for Support Teams | DevRev" + }, + { + "id": "ART-2032_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": "Google Calendar | Integrate | Snap-ins | DevRev" + } + ] + }, + { + "query_id": "898a4513-a682-43d5-acb5-9413bbd28ab5", + "query": "Data residency compliance for international customers", + "retrievals": [ + { + "id": "ART-4174_KNOWLEDGE_NODE-16", + "text": "protection office will be happy to help you and can be reached at [dpo@devrev.ai](mailto:dpo@devrev.ai)\\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 Computer](/meet-computer)\\n* [How Computer works](/how-computer-works)\\n\\nApps\\n\\n* [For Support", + "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-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-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-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-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-888_KNOWLEDGE_NODE-45", + "text": "Switzerland, we make use of the European Commission-approved standard contractual data protection clauses, binding corporate rules for transfers to data processors, or other appropriate legal mechanisms to safeguard the transfer.Notice to End UsersMany of our products are intended for use by organizations. Where the Services are made available to you through an organization (e.g. your employer), that organization is the administrator of the Services and is responsible for the accounts and/or", + "title": "Privacy Policy" + }, + { + "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-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-16189_KNOWLEDGE_NODE-14", + "text": "optimizes user experience with DevRev](/case-study/aditya-birla-capital)[![]()\\n\\n4 min readJar improves customer insights and increased conversion rates using DevRev](/case-study/jar)[![]()\\n\\n3 min read ICICI Prudential Life Insurance uses DevRev to slash resolution time by 95%](/case-study/icici-prudential-life)\\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", + "title": "FOSSA\u2019s Unified Support Strategy for Elevated Customer Experience" + } + ] + }, + { + "query_id": "9f3be4d0-e1ae-46c5-be4f-b02edea516fb", + "query": "declarative pathing within the bot", + "retrievals": [ + { + "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-13178_KNOWLEDGE_NODE-1", + "text": "problems, as businesses need a powerful tool that addresses these challenges effectively. Rule-based systems break when encountering exceptions. Chatbots frustrate customers with their limitations. Your business processes still require constant human intervention.\\n\\nWhat if your software could think, learn, and act independently, just like how [AI agents](/ai-agents) learn from their interactions? What if it could handle complex tasks without step-by-step instructions, addressing various", + "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + }, + { + "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-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-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-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-1987_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": "Turing AI agent | Computer for Support Teams | DevRev" + }, + { + "id": "ART-13178_KNOWLEDGE_NODE-71", + "text": "real-world setting**\\n * **Train your own AI Agent using DevRev**\\n * **Connect the tools you already use**\\n * **Go from demo to deployment in days**\\n\\n _Just reach out. Let\\xe2\\x80\\x99s make Agentic AI work for you._ [**Book a demo.**](/request-a-demo)\\n\\n### Frequently Asked Questions\\n\\n###\\n\\nWhat are the main components of Agentic AI systems?\\n\\n__\\n\\n###\\n\\nCan small businesses benefit from Agentic AI platforms?\\n\\n__\\n\\n###\\n\\nWhat makes Agentic AI different from chatbots and", + "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + }, + { + "id": "ART-13178_KNOWLEDGE_NODE-26", + "text": "documentation.\\n\\n 2. Customer experience transforms dramatically with autonomous agents. [DevRev\\xe2\\x80\\x99s PLuG](/plug-user-engagement) responds with the most pertinent help articles to solve user issues without human expert intervention and handles the entire resolution lifecycle. It suggests fixes before users face a problem.\\n 3. Product development accelerates dramatically. [DevRev\\xe2\\x80\\x99s Conversational Product Development](/build) orchestrates the entire development lifecycle.", + "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + }, + { + "id": "ART-13178_KNOWLEDGE_NODE-55", + "text": "current across platforms, creating a single source of truth for both human users and AI agents.\\n\\nThis holistic approach transforms agent adoption from a technical challenge into a strategic business advantage, enabling organizations to deploy sophisticated AI capabilities with minimal disruption to existing operations.\\n\\n## Challenges and solutions with agentic AI adoption\\n\\nWhile agentic AI promises transformative benefits, its implementation comes with significant challenges. Addressing", + "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + } + ] + }, + { + "query_id": "5e3a4b4a-89bf-4499-bf29-80f9d0420721", + "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-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-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-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-1545_KNOWLEDGE_NODE-340", + "text": "{M1:{VM:VM1}, M1:{VM:VM2}, M1:{VM:VM1}} => {M1:2} 5] Running Total - Sum of distinct active unique dimension observed for a meter in the given period, taking into consideration the active data from the previous billing cycle Ex. January {M1:{VM:VM0,on}, {M1:{VM:VM1,off} February {M1:{VM:VM2, on}, M1:{VM:VM2, off}, M1:{VM:VM3, on}} => {M1:3} 6] Duration - Sum of distinct active unique dimension duration for a meter in the given period, taking into consideration the active data from the previous", + "title": "Create (Beta) \u2014 DevRev | Docs" + }, + { + "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-1974_KNOWLEDGE_NODE-29", + "text": "engineer to verify resolution. Once verified the customer experience engineer moves the stage to *resolved*. If the user does not validate the resolution, the customer experience engineer responds back to the user and the process continues.\\n\\n To calculate the time to initial response you can look at the duration between the conversation created timestamp and the time the stage transitions from *new* to *waiting on user*. Another method is to see how long the conversation was in the *new*", + "title": "Conversations | Computer for Support Teams | DevRev" + }, + { + "id": "ART-1004_KNOWLEDGE_NODE-5", + "text": "system is automatically tracking changes, you can eradicate this scenario.\\n\\nKPIs to track:\\n\\n\\n Tasks per ticket\\n Automation/deflection Rate\\n Task Variety Score\\n\\n\\nKPI Definitions\\n\\nIndividual First Response Time (FRT)\\n\\n\\n Definition\\n \\n The average time it takes for a specific support engineer to respond to a customer\\xe2\\x80\\x99s initial inquiry.\\n \\n \\n Calculation\\n \\n (Sum of response times for all first responses by the engineer) / (Total number of", + "title": "Understanding a Support Engineer's Pain Points and KPIs" + }, + { + "id": "ART-1003_KNOWLEDGE_NODE-18", + "text": "Response Time (FRT)\\n\\n\\n Definition\\n \\n The average time it takes for a support engineer to respond to a customer\\xe2\\x80\\x99s initial inquiry.\\n \\n \\n Calculation\\n \\n (Sum of response times for all first responses) / (Total number of first responses)\\n \\n \\n\\n\\nSELECT AVG(TIMESTAMPDIFF(MINUTE, t.created_at, r.created_at)) AS FirstResponseTime\\nFROM tickets t\\nJOIN responses r ON t.id = r.ticket_id\\nWHERE r.is_first_response = 1\\nAND EXTRACT(@period FROM", + "title": "Understanding a Support Lead's Pain Points and KPIs" + }, + { + "id": "ART-1004_KNOWLEDGE_NODE-6", + "text": "first responses by the engineer)\\n \\n \\n\\n\\nSELECT engineer_id, AVG(TIMESTAMPDIFF(MINUTE, t.created_at, r.created_at)) AS IndividualFirstResponseTime\\nFROM tickets t\\nJOIN responses r ON t.id = r.ticket_id\\nWHERE r.is_first_response = 1\\nAND EXTRACT(@period FROM t.created_at) = EXTRACT(@period FROM CURRENT_DATE)\\nGROUP BY engineer_id;\\n-- NOTE: Replace @period with 'DAY', 'WEEK', 'MONTH', or 'QUARTER'.\\n\\n\\nIndividual Average Resolution Time (ART)\\n\\n\\n Definition\\n \\n The average", + "title": "Understanding a Support Engineer's Pain Points and KPIs" + } + ] + }, + { + "query_id": "9f26f4e6-a8e5-4813-ba95-36771c04c066", + "query": "add attributes in MSAT snap-in", + "retrievals": [ + { + "id": "ART-1290_KNOWLEDGE_NODE-70", + "text": "properties.\\n\\n*Inherited properties*\\n\\nInherited from [Snap](/snapin-development/references/snapkit#snap):\\n\\n* `type` (required): Type of the list input component. **Should be set according to the list input type, see below.**\\n* `block_id` (optional): A unique identifier for the snap. If not provided, a random ID is generated.\\n\\nInherited from [Action](/snapin-development/references/snapkit#action):\\n\\n* `action_id` (required): An identifier for the action. Should be unique in the snap.\\n*", + "title": "Snapkit | DevRev | Docs" + }, + { + "id": "ART-1484_KNOWLEDGE_NODE-80", + "text": "specific variants below for their properties.\\n\\n_Inherited properties_\\n\\nInherited from [Snap](/public/snapin-development/references/snapkit#snap):\\n\\n * `type` (required): Type of the list input component. **Should be set according to the list input type, see below.**\\n * `block_id` (optional): A unique identifier for the snap. If not provided, a random ID is generated.\\n\\nInherited from [Action](/public/snapin-development/references/snapkit#action):\\n\\n * `action_id` (required): An", + "title": "Snapkit \u2014 DevRev | Docs" + }, + { + "id": "ART-1290_KNOWLEDGE_NODE-34", + "text": "|\\n```\\n\\n###### Table\\n\\nA table element used to present JSON structured data.\\n\\n*Properties*\\n\\n* `rows` (required): The values to be displayed in the table. The data should be provided as a JSON object, where each cell is a plaintext snap-kit component.\\n* `columns` (required): Columns are defined as an array of objects, where each object has two parameters: an optional header and a required field key, which defines which field from rows is shown in the defined column. If a key is not used,", + "title": "Snapkit | DevRev | Docs" + }, + { + "id": "ART-1290_KNOWLEDGE_NODE-80", + "text": "\"action_type\": \"remote\", |\\n| 5 | \"timestamp\": \"2023-07-21T05:33:52.182Z\", |\\n| 6 | \"value\": [\"Hello this |\\n| 7 | is a multiline string\", \"And here |\\n| 8 | is another |\\n| 9 | one\"] |\\n| 10 | } |\\n```\\n\\n**Number list input**\\n\\nA list of numbers input allows users to enter a list of numeric items. Works with [Input layout](/snapin-development/references/snapkit#input-layout) blocks.\\n\\n*Inherited properties*\\n\\nInherited from [Snap](/snapin-development/references/snapkit#snap):\\n\\n* `type`", + "title": "Snapkit | DevRev | Docs" + }, + { + "id": "ART-1484_KNOWLEDGE_NODE-144", + "text": "snap-in for selecting a meal for a company event. When the user selects a meal, the other meal options should be disabled until the order is placed. After that, the snap-kit can be updated with the information about the selection.\\n\\n_Inherited properties_\\n\\nInherited from [Snap](/public/snapin-development/references/snapkit#snap):\\n\\n * `type` (required): The type of the actions component, should be set to `\"actions\"`.\\n * `block_id` (optional): A unique identifier for the snap. If not", + "title": "Snapkit \u2014 DevRev | Docs" + }, + { + "id": "ART-1290_KNOWLEDGE_NODE-104", + "text": "\"type\": \"plain_text\" |\\n| 39 | }, |\\n| 40 | \"value\": \"the-dark-knight\" |\\n| 41 | } |\\n| 42 | ], |\\n| 43 | \"type\": \"multi_static_select\" |\\n| 44 | } |\\n```\\n\\n*Action payload*\\n\\nInherits `type`, `action_id`, `action_type`, and `timestamp` from [Base payload](/snapin-development/references/snapkit#base-payload), `type` is set to `\"multi_static_select\"`.\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | { |\\n| 2 | \"type\": \"multi_static_select\", |\\n| 3 | \"action_id\": \" Steps to create and install the app at https://api.slack.com/apps are shown in the\\nvideo attached here. Ensure to copy the Bot Oauth token generated at the time of\\ninstalling the app to the Slack marketplace.\\n2. Please ensure to invite the created app/bot to the channel where", + "title": "Rocketium: On call Tagging - Slack" + }, + { + "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-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-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-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-2017_KNOWLEDGE_NODE-26", + "text": "permissions: channel-read, groups-read, user.profile:read, users:read, users.read:email, chat-write, and userGroup-read.\\n4. Invite the bot to the workspace.\\n5. Save the bot access token as connection (snap-in secret) in DevRev app.\\n6. Invite the bot to the channels where the messages will be sent.\\n7. In the 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 **+", + "title": "SLA status change Slack notifier | Automate | Snap-ins | DevRev" + }, + { + "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-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-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-2035_KNOWLEDGE_NODE-27", + "text": "[Snap-ins](/docs/snapins)\\n[Integrate](/docs/integrate)\\n[Slack](/docs/integrations/slack)\\n\\nSlack\\n=====\\n\\nThe [Slack snap-in](https://marketplace.devrev.ai/one-slack) lets you scale your customer support in Slack.\\n\\nInstallation\\n------------\\n\\n**Prerequisites**:\\n\\n* Depending on your Slack workspace settings, you may need to ask an administrator to establish the connection or approve your installation request.\\n* Due to Slack\\xe2\\x80\\x99s OAuth limitations, it\\xe2\\x80\\x99s advised to", + "title": "Slack | Integrate | Snap-ins | DevRev" + } + ] + }, + { + "query_id": "17d61e6f-209e-43f7-bac4-61f02c5a63f1", + "query": "customizar severity de los tickets", + "retrievals": [ + { + "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-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-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-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-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", + "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-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-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-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" + } + ] + }, + { + "query_id": "2b37472e-12b1-409b-b999-3e3c953bc4bf", + "query": "support engineer typing indicator in ticket conversation", + "retrievals": [ + { + "id": "ART-16806_KNOWLEDGE_NODE-27", + "text": "Internal Ticket** from the **Ticket Creation** dropdown.\\n* **Focused UI:** The **Customer Messages** tab is disabled on internal tickets to prevent unintended communication.\\n\\nThis feature supports internal workflows while giving you control over when customer engagement begins.\\n\\n![]()\\xc2\\xa0For more information about *Conversation and Ticket Workflows*, refer to the following articles: \\xe2\\x80\\xa3 [Auto parts to conversation | Automate | Snap-ins](/docs/automations/auto-parts)", + "title": "July 2025 | Changelog | DevRev" + }, + { + "id": "ART-16784_KNOWLEDGE_NODE-17", + "text": "[https://devrev.ai/docs/product/core](https://devrev.ai/docs/product/core)ticket\\n\\nA record of a customer\\'s request for assistance or support.\\n\\nWhen 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\\nTerms related to ticket: conversation, issue\\n\\nRead more about ticket:", + "title": "Glossary" + }, + { + "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-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-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-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-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-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-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-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" + } + ] + }, + { + "query_id": "a6f5b2b9-52ec-495d-8dfd-118e5d6a425b", + "query": "update the name that a broadcast on an incident comes from when pushed to a ticket", + "retrievals": [ + { + "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-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-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", + "title": "Tickets | Computer for Support Teams | DevRev" + }, + { + "id": "ART-16784_KNOWLEDGE_NODE-17", + "text": "[https://devrev.ai/docs/product/core](https://devrev.ai/docs/product/core)ticket\\n\\nA record of a customer\\'s request for assistance or support.\\n\\nWhen 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\\nTerms related to ticket: conversation, issue\\n\\nRead more about ticket:", + "title": "Glossary" + }, + { + "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-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-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-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", + "title": "Tickets | Computer for Support Teams | DevRev" + }, + { + "id": "ART-13189_KNOWLEDGE_NODE-37", + "text": "Experience\\n\\n We have improved our follow-up ticket experience & enhancing the way immutable tickets handle new customer messages. This update focuses on reducing duplicated efforts and streamlining communication across different channels.\\n\\n New Features:\\n\\n + Unified Follow-Up Ticket Creation: Introduces the ability to automatically create and link follow-up tickets when a customer responds to an archived ticket across various communication channels.\\n + Configurable Follow-Up", + "title": "March and April 2025 | Changelog | 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" + } + ] + }, + { + "query_id": "125f9761-a931-43b8-aa5a-1d865a512efc", + "query": "search functionality on tickets and issues deprecated", + "retrievals": [ + { + "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-16264_KNOWLEDGE_NODE-27", + "text": "articles: \\xe2\\x80\\xa3 [Search Node | Automate | Snap-ins](/docs/automations/search-node) \\xe2\\x80\\xa3 [Search | AgentOS platform](/docs/product/search)\\n\\n![]()\\n\\n### Support App\\n\\nImproved Customer Information Management on a Ticket\\n----------------------------------------------------\\n\\nWe've enhanced the way users view and update customer information on tickets.\\n\\n**New improvements:**\\n\\n* **Consolidated fields:** Customer information is now organized under two primary fields:", + "title": "June 2025 | Changelog | DevRev" + }, + { + "id": "ART-1035_KNOWLEDGE_NODE-3", + "text": "daily basis due to the use of various disconnected tools. This made the Goodmeetings team less efficient in conveying customer issues to the developers and having them prioritize and work on those issues.\\n\\nI\\xe2\\x80\\x99ve been leading teams for almost a decade and in my previous companies too, tracking customer tickets has always been a huge pain.\\n\\n![]()\\n\\nAlok Mishra Goodmeetings\\n\\nAccording to Mishra, despite searching extensively, they were unable to find a single tool that could", + "title": "Goodmeetings uses PLuG to reduce ticket resolution time" + }, + { + "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-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-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", + "title": "Tickets | Computer for Support Teams | 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", + "title": "Search | Computer by DevRev | 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-16806_KNOWLEDGE_NODE-26", + "text": "Internal Tickets to manage customer-related tickets without exposing them to the customer. This allows your team to collaborate privately before choosing to share the ticket externally.\\n\\n**Key Capabilities:**\\n\\n* **Private by Default:** Internal tickets remain hidden from customers, even if customer fields are included.\\n* **Controlled Visibility:** Convert to an external ticket when you\\xe2\\x80\\x99re ready to share. This action is permanent.\\n* **Simplified Creation:** Select **Create", + "title": "July 2025 | Changelog | DevRev" + }, + { + "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" + } + ] + }, + { + "query_id": "3c9dd52b-a637-4fa2-8bd7-a42ec07c7655", + "query": "how to use snap-ins in DevRev", + "retrievals": [ + { + "id": "ART-1273_KNOWLEDGE_NODE-0", + "text": "b'Overview | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nPublic\\n\\nPublic\\n\\nSearch\\n\\n`/`\\n\\n[Snap-in development](/snapin-development/concepts)[Tutorials](/snapin-development/tutorials/overview)\\n\\nOverview\\n========\\n\\nCopy page\\n\\nThe following tutorials provide a step-by-step guide to creating snap-ins:\\n\\n1. [Getting started](/snapin-development/tutorials/getting-started)\\n2. [Using a snap-in to perform a DevRev", + "title": "Overview | DevRev | Docs" + }, + { + "id": "ART-1282_KNOWLEDGE_NODE-18", + "text": "with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Snap-in V1 manifest | DevRev | Docs" + }, + { + "id": "ART-1279_KNOWLEDGE_NODE-4", + "text": "reference\\n\\nNext](/snapin-development/references/cli)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Install DevRev CLI | DevRev | Docs" + }, + { + "id": "ART-1847_KNOWLEDGE_NODE-22", + "text": "error message containing the error details.\\n\\n#####\\n\\nNote: This endpoint is currently in beta, and its functionality or parameters may change in future updates.\\n\\nFor more details on the snap-kit JSON format and available elements, refer to the [DevRev Snap-kit documentation](/public/snapin-development/references/snapkit).\\n\\nWas this page helpful?YesNo\\n\\n[Development best practicesUp Next](/public/snapin-development/best-practices)\\n\\n[Built", + "title": "Customizing snap-in configuration \u2014 DevRev | Docs" + }, + { + "id": "ART-1291_KNOWLEDGE_NODE-2", + "text": "configuration\\n\\nNext](/snapin-development/references/customizing-snap-in-configuration)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Snap-in resources | DevRev | Docs" + }, + { + "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-1638_KNOWLEDGE_NODE-4", + "text": "with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Resources Snap Ins | DevRev | Docs" + }, + { + "id": "ART-1472_KNOWLEDGE_NODE-9", + "text": "designed to be executed exclusively from the discussion section of a DevRev issue, serving as the catalyst for replicating the issue on GitHub.\\n\\n#### Action\\n\\nThe primary action involves leveraging the issue creation API provided by GitHub. This API is utilized to create the GitHub issue seamlessly from the corresponding issue in DevRev.\\n\\n[2](/public/snapin-development/tutorials/perform-external-action#creating-the-snap-in)\\n\\n### Creating the snap-in\\n\\n#### Updating the manifest\\n\\nTo", + "title": "Using a snap-in to perform an external action \u2014 DevRev | Docs" + }, + { + "id": "ART-1470_KNOWLEDGE_NODE-5", + "text": "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](/public/snapin-development/tutorials/getting-started#before-you-begin)\\n\\n### Before you begin\\n\\n * Install [DevRev CLI](/public/snapin-development/references/cli-install)\\n * Install", + "title": "Getting started \u2014 DevRev | Docs" + }, + { + "id": "ART-1487_KNOWLEDGE_NODE-2", + "text": "development](/public/snapin-development/concepts)[References](/public/snapin-development/references/cli-install)\\n\\n#\\n\\nInstall DevRev CLI\\n\\nThe DevRev CLI is a command-line interface tool that simplifies working with the DevRev REST APIs.\\n\\n###### Debian\\n\\n###### MacOS\\n\\n###### Windows\\n\\n## Supported architectures:\\n\\n * Linux amd64\\n * Linux arm64\\n\\n## Installation\\n\\n[Download the Debian package](https://github.com/devrev/cli/releases/latest) and install it using the following", + "title": "Install DevRev CLI \u2014 DevRev | Docs" + } + ] + }, + { + "query_id": "51b684c7-7de7-4c12-aecb-043d082158a5", + "query": "generate support tickets from slack messages with questions", + "retrievals": [ + { + "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-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-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-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-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" + }, + { + "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" + }, + { + "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-24", + "text": "from Slack](#create-devrev-conversations-from-slack)\\n* [Conversation roll window](#conversation-roll-window)\\n* [Conversation notifications](#conversation-notifications)\\n* [To enable conversation notifications](#to-enable-conversation-notifications)\\n* [Work management using Slack](#work-management-using-slack)\\n* [DevRev Tickets and Slack](#devrev-tickets-and-slack)\\n* [Ticket sharing options](#ticket-sharing-options)\\n* [Syncing details](#syncing-details)\\n* [Follow-up and merged", + "title": "Slack | Integrate | Snap-ins | DevRev" + }, + { + "id": "ART-2035_KNOWLEDGE_NODE-62", + "text": "conversations from Slack](#create-devrev-conversations-from-slack)\\n* [Conversation roll window](#conversation-roll-window)\\n* [Conversation notifications](#conversation-notifications)\\n* [To enable conversation notifications](#to-enable-conversation-notifications)\\n* [Work management using Slack](#work-management-using-slack)\\n* [DevRev Tickets and Slack](#devrev-tickets-and-slack)\\n* [Ticket sharing options](#ticket-sharing-options)\\n* [Syncing details](#syncing-details)\\n* [Follow-up and", + "title": "Slack | Integrate | Snap-ins | DevRev" + }, + { + "id": "ART-2035_KNOWLEDGE_NODE-25", + "text": "Tickets](#followup-and-merged-tickets)\\n* [New ticket notifications](#new-ticket-notifications)\\n* [Notifications for ticket state update](#notifications-for-ticket-state-update)\\n* [Ticket digest](#ticket-digest)\\n* [DevRev Issues and Slack](#devrev-issues-and-slack)\\n* [DevRev Incidents and Slack](#devrev-incidents-and-slack)\\n* [Sync options](#sync-options)\\n* [Share and view record details](#share-and-view-record-details)\\n* [Creating custom workflows](#creating-custom-workflows)\\n*", + "title": "Slack | Integrate | Snap-ins | DevRev" + } + ] + }, + { + "query_id": "2e98cdf9-4951-4185-a63a-295def43b837", + "query": "cron configuration for timer trigger schedule in DevRev", + "retrievals": [ + { + "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-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-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-1478_KNOWLEDGE_NODE-43", + "text": "description: Timer event source based on interval seconds \\n 14| display_name: Timer source \\n 15| type: timer-events \\n 16| config: \\n 17| interval_seconds: 3600 \\n 18| metadata: \\n 19| event_key: hourly_events\\n[/code] \\n \\nThe automation event type for timer events is `timer.tick`. To initiate an automation based on timer events, use the following syntax in manifest.yaml:\\n\\n[code]\\n\\n 1| automations: \\n ---|--- \\n", + "title": "Event sources \u2014 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-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-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-1284_KNOWLEDGE_NODE-36", + "text": "https://api.devrev.ai/hidden/dev-orgs/DEV-123/event-source-webhooks/custom/d43fc297-03d7-4cbd-bdf9-044847788306 |\\n```\\n\\nTimer-based event sources\\n-------------------------\\n\\nTimer-based event sources can be created to send events based on intervals and cron schedules. In the following example, you have two event sources, one emits events daily at 12:00am, the other every hour (3600 seconds). In the event payload, you see the JSON field metadata you specified in the event source", + "title": "Event sources | 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-15430_KNOWLEDGE_NODE-4", + "text": "with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Evaluate Org Schedules | DevRev | Docs" + } + ] + }, + { + "query_id": "015c89d4-6aa6-41f4-b9a4-6da7550e85eb", + "query": "view all tickets raised to DevRev support team", + "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-1979_KNOWLEDGE_NODE-51", + "text": "proactively presents a curated selection of similar tickets and related knowledge articles.\\nAdditionally, this system includes a feedback mechanism. This allows users to contribute to the continual learning and enhancement of the AI, ensuring an increasingly effective and refined support experience over time.\\nThis advancement is a valuable tool in streamlining your support workflow and enhancing overall service quality.\\n\\nIn case you want it to learn and help you better in the future,", + "title": "Tickets | Computer for Support Teams | DevRev" + }, + { + "id": "ART-1979_KNOWLEDGE_NODE-31", + "text": "from an email thread containing multiple customer email IDs, multiple reporters may be added. If a DevRev user adds a new customer while responding from DevRev, or if a new customer responds to the email thread, these new customers are added to the **Reported by** field. In the case of the Portal, there is only one **Reported by**, representing the person who has logged in to the portal to report the issue. Additional reporters can be added from the DevRev app. To select a contact in the", + "title": "Tickets | Computer for Support Teams | DevRev" + }, + { + "id": "ART-1981_KNOWLEDGE_NODE-26", + "text": "a small number of tags to help categorize tickets. For example, at DevRev we have the following: bug, feature-request, other-request, question, and incident.\\n* Designate one or more customer experience engineers to be on call. Add them to the **Support** group inside **Settings > Groups** and as default owner in the **Support Routing** snap-in. Default owners are notified through email and the DevRev app as soon as a new conversation is started.\\n\\nMonitor the inbox\\n-----------------\\n\\n*", + "title": "Support best practices | 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-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-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", + "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-4172_KNOWLEDGE_NODE-13", + "text": "24 Business Hours |\\n\\n*Business Days: Monday - Friday (Saturday and Sunday coverage provided for incidents only)* \\n*Response commitments remain void for the region during the holidays mentioned below, except for incidents*\\n\\n*\\\\*No SLA promised on tickets other than BUGS*\\n\\n### 3. Support Channels\\n\\n* Chat ([www.DevRev.ai](http://www.devrev.ai/) | [https://app.DevRev.ai](https://app.devrev.ai/))\\n* Email ([support@DevRev.ai](mailto:support@DevRev.ai))\\n* Support Portal", + "title": "DevRev Service Level Agreement" + } + ] + }, + { + "query_id": "5e261249-25ac-4221-a487-20a1dfaecdee", + "query": "add banner message in portal not showing", + "retrievals": [ + { + "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-1874_KNOWLEDGE_NODE-1", + "text": "https://api.devrev.ai/content-template.create \\\\ |\\n| > | -H \"Authorization: Bearer \" \\\\ |\\n| > | -H \"Content-Type: application/json\" \\\\ |\\n| > | -d \\'{ |\\n| > | \"body_translations\": {}, |\\n| > | \"title_translations\": {} |\\n| > | }\\' |\\n```\\n\\n[Try it](/beta/api-reference/notifications/content-template-create?explorer=true)\\n\\n201Created\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | { |\\n| 2 | \"content_template\": { |\\n| 3 | \"created_by\": { |\\n| 4 | \"display_id\": \"string\", |\\n| 5 | \"id\":", + "title": "Create Content Template | DevRev | Docs" + }, + { + "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-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-1551_KNOWLEDGE_NODE-76", + "text": "Create.\\n\\nPOST https://api.devrev.ai / content-template.create\\n\\nCreate the content template.\\n\\nRequest.\\n\\nThis endpoint expects an object.\\nNotification Content Template Show 4 properties\\nResponse.\\n\\nThis endpoint returns an object.\\ncontent_template object\\nShow property\\nAPI Reference notifications Content Template Get.\\n\\nGET https://api.devrev.ai / content-template.get\\n\\nGet the content template.\\n\\nQuery parameters.\\n\\nid string Required\\n\\nThe content template\\xe2\\x80\\x99s", + "title": "Update (Beta) \u2014 DevRev | Docs" + }, + { + "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-1875_KNOWLEDGE_NODE-1", + "text": "https://api.devrev.ai/content-template.get \\\\ |\\n| > | -H \"Authorization: Bearer \" \\\\ |\\n| > | -H \"Content-Type: application/json\" \\\\ |\\n| > | -d \\'{ |\\n| > | \"id\": \"string\" |\\n| > | }\\' |\\n```\\n\\n[Try it](/beta/api-reference/notifications/content-template-get-post?explorer=true)\\n\\n200Successful\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | { |\\n| 2 | \"content_template\": { |\\n| 3 | \"created_by\": { |\\n| 4 | \"display_id\": \"string\", |\\n| 5 | \"id\": \"string\", |\\n| 6 | \"display_name\": \"string\", |\\n|", + "title": "Get Content Template (POST) | DevRev | Docs" + }, + { + "id": "ART-15510_KNOWLEDGE_NODE-27", + "text": "\"message\": { |\\n| 3 | \"title\": \"New Message\", |\\n| 4 | \"body\": \"You have received a new message.\", |\\n| 5 | \"data\": { |\\n| 6 | \"messageId\": \"12345\", |\\n| 7 | \"sender\": \"John Doe\" |\\n| 8 | } |\\n| 9 | } |\\n| 10 | }; |\\n| 11 | |\\n| 12 | const messageJson = notificationPayload[\"message\"]; |\\n| 13 | |\\n| 14 | DevRev.processPushNotification(messageJson, function() { |\\n| 15 | console.log(\"Push notification processed successfully.\"); |\\n| 16 | }, function(error) { |\\n| 17 | console.error(\"Failed to", + "title": "Features | DevRev | Docs" + }, + { + "id": "ART-1874_KNOWLEDGE_NODE-5", + "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/commands/update)[#### Get Content Template\\n\\nNext](/beta/api-reference/notifications/content-template-get)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Create Content Template | DevRev | Docs" + }, + { + "id": "ART-1545_KNOWLEDGE_NODE-76", + "text": "Create.\\n\\nPOST https://api.devrev.ai / content-template.create\\n\\nCreate the content template.\\n\\nRequest.\\n\\nThis endpoint expects an object.\\nNotification Content Template Show 4 properties\\nResponse.\\n\\nThis endpoint returns an object.\\ncontent_template object\\nShow property\\nAPI Reference notifications Content Template Get.\\n\\nGET https://api.devrev.ai / content-template.get\\n\\nGet the content template.\\n\\nQuery parameters.\\n\\nid string Required\\n\\nThe content template\\xe2\\x80\\x99s", + "title": "Create (Beta) \u2014 DevRev | Docs" + } + ] + }, + { + "query_id": "87a0c450-5958-433a-a7be-6909813e797b", + "query": "sync contacts and accounts from DevRev to Salesforce", + "retrievals": [ + { + "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-13117_KNOWLEDGE_NODE-4", + "text": "of domain, different websites can still match if their domains match, e.g., google.com/page1 and google.com/page2 are different websites, but have the same domain google.com) and thus accounts with those two websites would be merged\\n\\nBoth accounts have the same display name and at least one matching domain or websiteExamplesI have the same accounts in Salesforce and Zendesk and would like to import them into DevRev without duplicates. I want to sync updates from Salesforce to DevRev, but I", + "title": "Airdrop duplicates merging" + }, + { + "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-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-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-1458_KNOWLEDGE_NODE-8", + "text": "demo](https://devrev.ai/request-a-demo)\\n\\n'", + "title": "Accounts \u2014 DevRev | Docs" + }, + { + "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-2047_KNOWLEDGE_NODE-31", + "text": "prompted to manually map certain fields if needed. You can track the migration and perform any required mapping under **Settings** > **Integrations** > **AirSyncs**.\\n\\nThe duration of the import depends on the size of the Salesforce account and the data being imported. It can take seconds for an account with only a few dozen cases to a few hours for an account with tens of thousands of cases with many attachments. DevRev honors the Salesforce API rate limits and back-off and resumes", + "title": "Salesforce AirSync | AirSync | Snap-ins | DevRev" + }, + { + "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-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" + } + ] + }, + { + "query_id": "c6798ed1-757f-4810-8b8b-3cf7e78a732c", + "query": "best way to export accounts in bulk", + "retrievals": [ + { + "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-1462_KNOWLEDGE_NODE-6", + "text": "\"foo\", \\n 34| \"size\": 42 \\n 35| } \\n 36| }, \\n 37| \"email\": \"foo\", \\n 38| \"full_name\": \"foo\", \\n 39| \"state\": \"active\" \\n 40| }, \\n 41| \"created_date\": \"2023-01-01T12:00:00.000Z\", \\n 42| \"description\": \"foo\", \\n 43| \"display_id\": \"foo\", \\n 44| \"display_name\": \"foo\", \\n 45| \"domains\": [ \\n 46| \"foo\" \\n 47| ], \\n 48|", + "title": "Export Accounts (POST) \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-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-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-1462_KNOWLEDGE_NODE-8", + "text": "63| }, \\n 64| \"email\": \"foo\", \\n 65| \"full_name\": \"foo\", \\n 66| \"state\": \"active\" \\n 67| }, \\n 68| \"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|", + "title": "Export Accounts (POST) \u2014 DevRev | Docs" + }, + { + "id": "ART-1449_KNOWLEDGE_NODE-9", + "text": "\"foo\", \\n 54| \"display_name\": \"foo\", \\n 55| \"display_picture\": { \\n 56| \"display_id\": \"foo\", \\n 57| \"id\": \"foo\", \\n 58| \"file\": { \\n 59| \"type\": \"foo\", \\n 60| \"name\": \"foo\", \\n 61| \"size\": 42 \\n 62| } \\n 63| }, \\n 64| \"email\": \"foo\", \\n 65| \"full_name\": \"foo\", \\n 66| \"state\": \"active\" \\n 67| }, \\n 68|", + "title": "Export Accounts \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-1302_KNOWLEDGE_NODE-10", + "text": "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 object.\\naccounts list of objects\\nThe exported accounts.\\nShow 18 properties\\nGET /", + "title": "Export \u2014 DevRev | Docs" + }, + { + "id": "ART-1255_KNOWLEDGE_NODE-7", + "text": "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 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", + "title": "Export Accounts (POST) | DevRev | Docs" + } + ] + }, + { + "query_id": "1b7f0c03-5c55-403e-baf4-242b8d91bbe7", + "query": "copy schema subtype deal registration leaf type of account", + "retrievals": [ + { + "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-4116_KNOWLEDGE_NODE-12", + "text": "demo](https://devrev.ai/request-a-demo)\\n\\n'", + "title": "Prepare-Update Schemas Subtypes (Beta) \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-5010_KNOWLEDGE_NODE-24", + "text": "[Snap-ins](/docs/snapins)\\n[Automate](/docs/automate)\\n[Subtype Migration](/docs/automations/subtype-migration)\\n\\nSubtype Migration\\n=================\\n\\nThe [Subtype Migration snap-in](https://marketplace.devrev.ai/marketplace/subtype-migration) is designed to facilitate the seamless transition of work items (tickets and issues) from one custom schema subtype to another. It efficiently handles large volumes of work items by processing them in batches, transferring custom field values between", + "title": "Subtype Migration | Automate | Snap-ins | DevRev" + }, + { + "id": "ART-15342_KNOWLEDGE_NODE-6", + "text": "with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Prepare-Update Schemas Subtypes | DevRev | Docs" + }, + { + "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-1614_KNOWLEDGE_NODE-1", + "text": "https://api.devrev.ai/schemas.subtypes.list \\\\ |\\n| > | -H \"Authorization: Bearer \" \\\\ |\\n| > | -H \"Content-Type: application/json\" \\\\ |\\n| > | -d \\'{}\\' |\\n```\\n\\n[Try it](/beta/api-reference/customization/subtypes-list-post?explorer=true)\\n\\n200Successful\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | { |\\n| 2 | \"subtypes\": [ |\\n| 3 | { |\\n| 4 | \"fragment_id\": \"string\", |\\n| 5 | \"leaf_type\": \"string\", |\\n| 6 | \"value\": \"string\", |\\n| 7 | \"display_name\": \"string\" |\\n| 8 | } |\\n| 9 | ] |\\n| 10 |", + "title": "List Schemas Subtypes (POST) | DevRev | Docs" + }, + { + "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-15342_KNOWLEDGE_NODE-1", + "text": "https://api.devrev.ai/schemas.subtypes.prepare-update \\\\ |\\n| > | -H \"Authorization: Bearer \" \\\\ |\\n| > | -H \"Content-Type: application/json\" \\\\ |\\n| > | -d \\'{ |\\n| > | \"leaf_type\": \"string\" |\\n| > | }\\' |\\n```\\n\\n[Try it](/api-reference/customization/schemas-subtype-prepare-update-get?explorer=true)\\n\\n200Successful\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | { |\\n| 2 | \"added_fields\": [ |\\n| 3 | { |\\n| 4 | \"name\": \"string\", |\\n| 5 | \"default_value\": null |\\n| 6 | } |\\n| 7 | ], |\\n| 8 |", + "title": "Prepare-Update Schemas Subtypes | 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" + } + ] + }, + { + "query_id": "41213d8b-9a95-4d61-acbf-5c4df3f80b30", + "query": "Automatic case classification by product, severity, and category", + "retrievals": [ + { + "id": "ART-4130_KNOWLEDGE_NODE-18", + "text": "PIAs.\\n\\nplaybookslist of stringsOptional\\n\\nFilters for incidents with any of the provided playbooks.\\n\\nrelated\\\\_docslist of stringsOptional\\n\\nFilters for incidents with any of the provided related docs.\\n\\nreported\\\\_bylist of longsOptional\\n\\nFilters for incidents with any of the provided reporters.\\n\\nseveritylist of longsOptional\\n\\nFilters for incidents containing any of the provided severities.\\n\\nsort\\\\_bylist of stringsOptional\\n\\nComma-separated fields to sort the incidents", + "title": "Group Incidents | DevRev | Docs" + }, + { + "id": "ART-4129_KNOWLEDGE_NODE-21", + "text": "related docs.\\n\\nreported\\\\_bylist of longsOptional\\n\\nFilters for incidents with any of the provided reporters.\\n\\nseveritylist of longsOptional\\n\\nFilters for incidents containing any of the provided severities.\\n\\nsort\\\\_bylist of stringsOptional\\n\\nComma-separated fields to sort the incidents by.\\n\\nstagelist of stringsOptional\\n\\nFilters for incidents in any of the provided stages.\\n\\nstaged\\\\_infoobjectOptional\\n\\nShow 1 properties\\n\\nsubtypelist of stringsOptional\\n\\nFilters for", + "title": "Group Incidents (POST) | DevRev | Docs" + }, + { + "id": "ART-2886_KNOWLEDGE_NODE-8", + "text": "intelligence](/case-study/bajaj-finserv)[![]()\\n\\n3 min readShipsy elevates logistics support with AI-powered automation and cross team collaboration](/case-study/shipsy)[![]()\\n\\n4 min readAR Digital Wealth cuts support TAT by 60% with faster issue solving](/case-study/anand-rathi-case-study)[![]()\\n\\n4 min readHow Orum built a collaborative, AI-ready support engine](/case-study/orum)[![]()\\n\\n4 min readFOSSA\\xe2\\x80\\x99s unified support strategy for elevated customer", + "title": "Case Study Library | DevRev" + }, + { + "id": "ART-4132_KNOWLEDGE_NODE-17", + "text": "of stringsOptional\\n\\nFilters for incidents with any of the provided PIAs.\\n\\nplaybookslist of stringsOptional\\n\\nFilters for incidents with any of the provided playbooks.\\n\\nrelated\\\\_docslist of stringsOptional\\n\\nFilters for incidents with any of the provided related docs.\\n\\nreported\\\\_bylist of longsOptional\\n\\nFilters for incidents with any of the provided reporters.\\n\\nseveritylist of longsOptional\\n\\nFilters for incidents containing any of the provided severities.\\n\\nsort\\\\_bylist of", + "title": "List Incidents | DevRev | Docs" + }, + { + "id": "ART-4131_KNOWLEDGE_NODE-20", + "text": "reporters.\\n\\nseveritylist of longsOptional\\n\\nFilters for incidents containing any of the provided severities.\\n\\nsort\\\\_bylist of stringsOptional\\n\\nThe list of fields to sort the items by and how to sort them.\\n\\nstagelist of stringsOptional\\n\\nFilters for incidents in any of the provided stages.\\n\\nstaged\\\\_infoobjectOptional\\n\\nShow 1 properties\\n\\nsubtypelist of stringsOptional\\n\\nFilters for incidents with any of the provided subtypes.\\n\\nsync\\\\_metadataobjectOptional\\n\\nShow 4", + "title": "List Incidents (POST) | DevRev | Docs" + }, + { + "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-2886_KNOWLEDGE_NODE-4", + "text": "DevRev\\xe2\\x80\\x99s conversational platform and intelligent knowledge automation](/case-study/deepdub)[![]()\\n\\n4 min readL&T financial services advances digital banking with enhanced observability](/case-study/lt-financial-services-advances-digital-banking-with-enhanced-observability)[![]()\\n\\n6 min readUniphore builds a proactive support culture with DevRev](/case-study/uniphore)[![]()\\n\\n4 min readScaling support with AI: How ToughTrucksForKids boosted efficiency & customer", + "title": "Case Study Library | DevRev" + }, + { + "id": "ART-2886_KNOWLEDGE_NODE-7", + "text": "channel](/case-study/100ms)[![]()\\n\\n4 min readPhenom transforms talent experience with streamlined support and development workflows](/case-study/phenom)[![]()\\n\\n4 min readRocketium brings agility to product development through a unified platform](/case-study/rocketium)[![]()\\n\\n4 min readRexera transforms real estate operations with knowledge-driven automation](/case-study/rexera)[![]()\\n\\n6 min readBajaj Finserv transforms customer experiences through session", + "title": "Case Study Library | DevRev" + }, + { + "id": "ART-2886_KNOWLEDGE_NODE-5", + "text": "satisfaction](/case-study/tough-trucks)[![]()\\n\\n4 min readDescope streamlines support at scale with automation, AI, and unified collaboration](/case-study/descope)[![]()\\n\\n3 min readAtomicwork enables cross-functional customer support with DevRev](/case-study/atomicwork)[![]()\\n\\n5 min readLuxCreo boosts efficiency and agility with DevRev\\xe2\\x80\\x99s intelligent automation](/case-study/luxcreo)[![]()\\n\\n3 min readGoodmeetings uses DevRev to reduce ticket resolution", + "title": "Case Study Library | DevRev" + }, + { + "id": "ART-4129_KNOWLEDGE_NODE-22", + "text": "incidents with any of the provided subtypes.\\n\\nsync\\\\_metadataobjectOptional\\n\\nShow 4 properties\\n\\ntarget\\\\_close\\\\_dateobjectOptional\\n\\nProvides ways to specify date ranges on objects.\\n\\nShow 2 variants\\n\\ntitlelist of stringsOptional\\n\\nFilters for incidents by the provided titles.\\n\\nsourcelist of longsOptionalDeprecated\\n\\nFilters for incidents with any of the provided sources.\\n\\n### Response\\n\\nSuccess.\\n\\ngroupslist of objects\\n\\nThe list of groups.\\n\\nShow 5", + "title": "Group Incidents (POST) | DevRev | Docs" + } + ] + }, + { + "query_id": "0f16d2d9-ca4c-4091-bc94-1be50e2f7a90", + "query": "enable Generative AI for Knowledge Base creation", + "retrievals": [ + { + "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-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-738_KNOWLEDGE_NODE-12", + "text": "that may be relevant\\n \\n \\n We used a flexible document DB instead of traditional relational systems\\n \\n Using this structure, we have a ton of flexibility in the document structure, the ability to annotate and extend\\n Relational systems can be very rigid and can quickly get messy with a ton of constraints, especially if you haven\\xe2\\x80\\x99t built a ton of abstractions into the data model\\n This was key enabler for the next point (customization)\\n \\n \\n We built", + "title": "DevRev | Built for AI (not by AI... yet)" + }, + { + "id": "ART-1980_KNOWLEDGE_NODE-27", + "text": "information in the knowledge base at any time and find solutions to issues whenever they need it.\\n\\nDevRev offers a knowledge base feature that allows companies to centralize all their product, service, and process-related information. This information is organized into articles, which can be further categorized into collections. These collections enable the grouping of articles under common themes, issues, or topics. This categorization enhances customers' browsing efficiency, as they can", + "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-1985_KNOWLEDGE_NODE-43", + "text": "templates\\n-----------------\\n\\nArticle templates help maintain consistency and save time during article creation.\\n\\n### Create a template\\n\\n1. Go to [**Settings** > **Customization** > **Templates**](https://app.devrev.ai/?setting=record-template) and click **+ Create**.\\n2. Enter a name and description, then select **Article** as the object type.\\n3. Click **Next** and set up the template structure.\\n\\n### Use a template\\n\\n1. Go to **[**Settings** > **Support** > **Knowledge", + "title": "Articles | Knowledge Base | Computer for Support Teams | DevRev" + }, + { + "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-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-738_KNOWLEDGE_NODE-3", + "text": "graph\\n\\nAt its core, DevRev was built to converge the events, products and people (customers, partners and employees) focused around building, operating, supporting, and growing of products. Through the linkage between these objects, we were able to build a powerful knowledge graph that is used to drive every piece of the system.\\n\\nWith the ability to triangulate across these vertices, we can do some really amazing things and provide much more understanding and insight. This is applicable to", + "title": "DevRev | Built for AI (not by AI... yet)" + }, + { + "id": "ART-16570_KNOWLEDGE_NODE-10", + "text": "I need to know?\" The conversational AI interface became the single point of access for collective knowledge, fundamentally changing how employees approach problem-solving and decision-making.\\n\\nSupport agents, developers, and product managers now operate with complete contextual awareness. Instead of working with partial information or outdated data, they engage with the company\\'s full knowledge base through natural language queries that understand intent and deliver precise, actionable", + "title": "FAME transforms information access with AI-powered enterprise search" + } + ] + }, + { + "query_id": "6eb4477e-391c-4600-ac4a-d1809f32a801", + "query": "Resource Center downloads tutorials API documentation", + "retrievals": [ + { + "id": "ART-17213_KNOWLEDGE_NODE-4", + "text": "tokens, or other security mechanisms.\\n* **Endpoints and resources**: Identify the required API endpoints and resources. Understand\\n their functions, input parameters, expected outputs, and usage limitations.\\n* **Data format**: Determine the data format used by the API, such as JSON or XML. This helps\\n in parsing responses and formatting requests appropriately.\\n* **Rate limits and quotas**: Be aware of any rate limits or usage quotas. This information is\\n crucial to ensure that the", + "title": "Getting started | DevRev | Docs" + }, + { + "id": "ART-1176_KNOWLEDGE_NODE-1", + "text": "helpful?\\n\\nYesNo\\n\\n[Previous](/api-reference/getting-started)[#### Get Artifact\\n\\nNext](/api-reference/artifacts/get)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Attachments | DevRev | Docs" + }, + { + "id": "ART-1371_KNOWLEDGE_NODE-0", + "text": "b'[](/public/api-reference/getting-started)\\n\\nPublic\\n\\nOn this page\\n\\n * [Prerequisites](/public/api-reference/getting-started#prerequisites)\\n * [Send your first API request](/public/api-reference/getting-started#send-your-first-api-request)\\n * [Making a GET request](/public/api-reference/getting-started#making-a-get-request)\\n * [Next steps](/public/api-reference/getting-started#next-steps)\\n\\n[API Reference](/public/api-reference/getting-started)\\n\\n#\\n\\nGetting started\\n\\nThe DevRev", + "title": "Getting started \u2014 DevRev | Docs" + }, + { + "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-4064_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)[Articles](/public/api-reference/articles/create-article)\\n\\n# Create Article\\n\\nPOST\\n\\nhttps://api.devrev.ai/articles.create\\n\\nTry it\\n\\nArticle is an object which can contain a URL or artifacts in the resource. It also contains the data regarding the owner, author, status and published date of the object.", + "title": "Create Article \u2014 DevRev | Docs" + }, + { + "id": "ART-15432_KNOWLEDGE_NODE-0", + "text": "b'List Org Schedules | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nPublic\\n\\nPublic\\n\\nSearch\\n\\n`/`\\n\\n[API Reference](/api-reference/getting-started)[schedules](/api-reference/schedules/org-schedule-fragments-create)\\n\\nList Org Schedules\\n==================\\n\\nCopy page\\n\\nGET\\n\\nhttps://api.devrev.ai/org-schedules.list\\n\\nGET\\n\\n/org-schedules.list\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl https://api.devrev.ai/org-schedules.list \\\\ |\\n| > | -H \"Authorization: Bearer", + "title": "List Org Schedules | DevRev | Docs" + }, + { + "id": "ART-15476_KNOWLEDGE_NODE-5", + "text": "[`/works.list`](/public/api-reference/works/list-post)\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/changelog/2025/6/2)[#### April 24, 2025\\n\\nNext](/changelog/2025/4/24)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "May 19, 2025 | DevRev | Docs" + }, + { + "id": "ART-1308_KNOWLEDGE_NODE-30", + "text": "Reference articles Create Article.\\n\\nPOST https:// api.devrev.ai / articles.create\\nArticle is an object which can contain a URL or artifacts in the resource. It also contains the data regarding the owner, author, status and published date of the object. This call creates an article.\\nRequest.\\n\\nThis endpoint expects an 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", + "title": "Update \u2014 DevRev | Docs" + }, + { + "id": "ART-1371_KNOWLEDGE_NODE-1", + "text": "API is organized around REST. Our API has predictable resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.\\n\\nIf you\\xe2\\x80\\x99re new to DevRev APIs, you\\xe2\\x80\\x99ve come to the right place. Our APIs serve as the foundation for integrating your apps, building automations, and creating custom snap-ins. You can also refer to our [Postman", + "title": "Getting started \u2014 DevRev | Docs" + }, + { + "id": "ART-15285_KNOWLEDGE_NODE-0", + "text": "b'Get SLA | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nPublic\\n\\nPublic\\n\\nSearch\\n\\n`/`\\n\\n[API Reference](/api-reference/getting-started)[slas](/api-reference/slas/service-level-agreement)\\n\\nGet SLA\\n=======\\n\\nCopy page\\n\\nGET\\n\\nhttps://api.devrev.ai/slas.get\\n\\nGET\\n\\n/slas.get\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl -G https://api.devrev.ai/slas.get \\\\ |\\n| > | -H \"Authorization: Bearer \" \\\\ |\\n| > | -d id=id |\\n```\\n\\n[Try", + "title": "Get SLA | DevRev | Docs" + } + ] + }, + { + "query_id": "bcc62ad8-6557-471a-b10c-65bcd71fd14c", + "query": "automations to fill repeated fields", + "retrievals": [ + { + "id": "ART-1649_KNOWLEDGE_NODE-345", + "text": "account.\\ncreated_by list of strings Optional\\nFilters by creator.\\ncreated_date object Optional\\nShow 2 properties\\ncursor string Optional\\nThe cursor to resume iteration from. If not provided, then iteration starts from the beginning.\\ncustom_field_filter list of strings Optional\\n\\nFilters on custom fields. Input will be of the format (custom_field_filter=field_name1:val1,val2,val3&custom_field_filter=field_name2:val1,val2).\\n\\ncustom_fields map from strings to any Optional\\nFilters for", + "title": "Create \u2014 DevRev | Docs" + }, + { + "id": "ART-1651_KNOWLEDGE_NODE-345", + "text": "account.\\ncreated_by list of strings Optional\\nFilters by creator.\\ncreated_date object Optional\\nShow 2 properties\\ncursor string Optional\\nThe cursor to resume iteration from. If not provided, then iteration starts from the beginning.\\ncustom_field_filter list of strings Optional\\n\\nFilters on custom fields. Input will be of the format (custom_field_filter=field_name1:val1,val2,val3&custom_field_filter=field_name2:val1,val2).\\n\\ncustom_fields map from strings to any Optional\\nFilters for", + "title": "Create \u2014 DevRev | Docs" + }, + { + "id": "ART-1822_KNOWLEDGE_NODE-345", + "text": "account.\\ncreated_by list of strings Optional\\nFilters by creator.\\ncreated_date object Optional\\nShow 2 properties\\ncursor string Optional\\nThe cursor to resume iteration from. If not provided, then iteration starts from the beginning.\\ncustom_field_filter list of strings Optional\\n\\nFilters on custom fields. Input will be of the format (custom_field_filter=field_name1:val1,val2,val3&custom_field_filter=field_name2:val1,val2).\\n\\ncustom_fields map from strings to any Optional\\nFilters for", + "title": "Create \u2014 DevRev | Docs" + }, + { + "id": "ART-1832_KNOWLEDGE_NODE-345", + "text": "account.\\ncreated_by list of strings Optional\\nFilters by creator.\\ncreated_date object Optional\\nShow 2 properties\\ncursor string Optional\\nThe cursor to resume iteration from. If not provided, then iteration starts from the beginning.\\ncustom_field_filter list of strings Optional\\n\\nFilters on custom fields. Input will be of the format (custom_field_filter=field_name1:val1,val2,val3&custom_field_filter=field_name2:val1,val2).\\n\\ncustom_fields map from strings to any Optional\\nFilters for", + "title": "Create \u2014 DevRev | Docs" + }, + { + "id": "ART-1300_KNOWLEDGE_NODE-345", + "text": "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_field_filter string Optional\\n\\nFilters on custom fields. Input will be of the format (custom_field_filter=field_name1:val1,val2,val3&custom_field_filter=field_name2:val1,val2).\\n\\ncustom_fields map from strings to any Optional\\nFilters for custom fields.\\ndisplay_name string", + "title": "Create \u2014 DevRev | Docs" + }, + { + "id": "ART-1591_KNOWLEDGE_NODE-347", + "text": "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_field_filter string Optional\\n\\nFilters on custom fields. Input will be of the format (custom_field_filter=field_name1:val1,val2,val3&custom_field_filter=field_name2:val1,val2).\\n\\ncustom_fields map from strings to any Optional\\nFilters for custom fields.\\ndisplay_name string", + "title": "Create \u2014 DevRev | Docs" + }, + { + "id": "ART-1509_KNOWLEDGE_NODE-347", + "text": "account.\\ncreated_by list of strings Optional\\nFilters by creator.\\ncreated_date object Optional\\nShow 2 properties\\ncursor string Optional\\nThe cursor to resume iteration from. If not provided, then iteration starts from the beginning.\\ncustom_field_filter list of strings Optional\\n\\nFilters on custom fields. Input will be of the format (custom_field_filter=field_name1:val1,val2,val3&custom_field_filter=field_name2:val1,val2).\\n\\ncustom_fields map from strings to any Optional\\nFilters for", + "title": "Prepare \u2014 DevRev | Docs" + }, + { + "id": "ART-1592_KNOWLEDGE_NODE-345", + "text": "account.\\ncreated_by list of strings Optional\\nFilters by creator.\\ncreated_date object Optional\\nShow 2 properties\\ncursor string Optional\\nThe cursor to resume iteration from. If not provided, then iteration starts from the beginning.\\ncustom_field_filter list of strings Optional\\n\\nFilters on custom fields. Input will be of the format (custom_field_filter=field_name1:val1,val2,val3&custom_field_filter=field_name2:val1,val2).\\n\\ncustom_fields map from strings to any Optional\\nFilters for", + "title": "Update \u2014 DevRev | Docs" + }, + { + "id": "ART-1636_KNOWLEDGE_NODE-345", + "text": "account.\\ncreated_by list of strings Optional\\nFilters by creator.\\ncreated_date object Optional\\nShow 2 properties\\ncursor string Optional\\nThe cursor to resume iteration from. If not provided, then iteration starts from the beginning.\\ncustom_field_filter list of strings Optional\\n\\nFilters on custom fields. Input will be of the format (custom_field_filter=field_name1:val1,val2,val3&custom_field_filter=field_name2:val1,val2).\\n\\ncustom_fields map from strings to any Optional\\nFilters for", + "title": "Update \u2014 DevRev | Docs" + }, + { + "id": "ART-1655_KNOWLEDGE_NODE-345", + "text": "account.\\ncreated_by list of strings Optional\\nFilters by creator.\\ncreated_date object Optional\\nShow 2 properties\\ncursor string Optional\\nThe cursor to resume iteration from. If not provided, then iteration starts from the beginning.\\ncustom_field_filter list of strings Optional\\n\\nFilters on custom fields. Input will be of the format (custom_field_filter=field_name1:val1,val2,val3&custom_field_filter=field_name2:val1,val2).\\n\\ncustom_fields map from strings to any Optional\\nFilters for", + "title": "Update \u2014 DevRev | Docs" + } + ] + }, + { + "query_id": "3a035e90-682d-4287-a6c9-4365d0755daf", + "query": "action to reopen ticket in workflow", + "retrievals": [ + { + "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-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-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-36", + "text": "enhancement object |\\n| UpdateIncident | Updates incident details. | * id: ID of the incident to update * Incident details to update * subtype: (Optional) Incident subtype * apps: (Optional) Related apps * app\\\\_custom\\\\_fields: (Optional) Custom fields * stage: (Optional) New stage | Updated incident object |\\n| UpdateIssue | Updates issue details. | * id: ID of the issue to update * Issue details to update * subtype: (Optional) Issue subtype * apps: (Optional) Related apps *", + "title": "Workflow action library | Workflows | Computer by DevRev | DevRev" + }, + { + "id": "ART-4185_KNOWLEDGE_NODE-29", + "text": "Status](/status)\\n\\n\\xc2\\xa9 2025 DevRev Inc.'", + "title": "Ticket approval workflow | Automate | Snap-ins | 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-4185_KNOWLEDGE_NODE-24", + "text": "[Snap-ins](/docs/snapins)\\n[Automate](/docs/automate)\\n[Ticket approval workflow](/docs/automations/ticket-approval-workflow)\\n\\nTicket approval workflow\\n========================\\n\\nThe Ticket approval workflow enables support agents to request approvals from stakeholders directly within support tickets.\\n\\n![]()\\n\\nFor more information, refer to the [Ticket approval workflow snap-in](https://marketplace.devrev.ai/ticket-approval-workflow) on the DevRev", + "title": "Ticket approval workflow | Automate | Snap-ins | 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-12394_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 management | Workflows | Computer by DevRev | DevRev" + }, + { + "id": "ART-12391_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": "Conversational workflows | Workflows | Computer by DevRev | DevRev" + } + ] + }, + { + "query_id": "200e0274-aa07-4b9a-9610-a3ac1a55899d", + "query": "assign issue owner to someone else using workflow", + "retrievals": [ + { + "id": "ART-12394_KNOWLEDGE_NODE-30", + "text": "privileges and assign this role to a group.\\n* If you grant Create, Read, Update, and Delete permissions, the role gains full access to perform all operations on the workflows.\\n* If you provide only Create and Read permissions, the role can create new workflows and view existing ones, but can only update those in draft status.\\n\\nError handling\\n--------------\\n\\nYou can enhance your workflows with robust error handling:\\n\\n* **Add an error path**: Click the three-dot menu on any step in your", + "title": "Workflow management | Workflows | Computer by DevRev | DevRev" + }, + { + "id": "ART-12394_KNOWLEDGE_NODE-29", + "text": "users have the ability to view them.\\n* There is a default group called **Agents and Automation Admins**. Members of this group have full access to manage workflows, including creating, updating, deploying, and deleting them. You can add people to this group to grant them these permissions.\\n* To create custom groups for workflow managers, go to [**Settings** > **User Management** > **Roles**](https://app.devrev.ai/devrev/settings/user-roles). Create a new role with the necessary workflow", + "title": "Workflow management | Workflows | Computer by DevRev | 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-16355_KNOWLEDGE_NODE-26", + "text": "**Reported\\\\_by,** and **Contact** columns, provide the email of the person to be assigned as the owner or reporter of the work item. If the CSV lists multiple owners, only the first will be set as the owner.\\n* For the **Applies to Part**, **Stage**, **Account**, **Developed with Parts**, and **Tags** columns, provide the part name, stage name, account name, part name, and tag name respectively as it is present in the UI, ensuring case sensitivity.\\n* For **Date** and **Timestamp** related", + "title": "CSV commands uploader | Automate | Snap-ins | 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-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-17231_KNOWLEDGE_NODE-118", + "text": "modified the object |\\n| `name` | text | \\xe2\\x9c\\x94\\xef\\xb8\\x8e | Name of the part |\\n| `owned_by_ids` | reference (collection)\\xe2\\x86\\x92[#record:devu] | \\xe2\\x9c\\x94\\xef\\xb8\\x8e | User IDs of the users that own the part |\\n| `parent_part` | reference\\xe2\\x86\\x92[#category:part] | | Parent of this part |\\n| `pm_owner_id` | reference\\xe2\\x86\\x92[#record:devu] | | User ID of the PM owner of the part |\\n| `qa_owner_id` | reference\\xe2\\x86\\x92[#record:devu] | | User ID of the QA owner of the", + "title": "Supported DevRev object types | DevRev | Docs" + }, + { + "id": "ART-1989_KNOWLEDGE_NODE-31", + "text": "*Current User* to assign the field to the user executing the command. For example, a support agent working on a ticket can use a command to set themselves as the owner if the action configured in the command specifies the owner field as *Current User*.\\n\\nManaging commands\\n-----------------\\n\\n* **View All Commands**: Access a centralized list of draft, active, and inactive commands. You can sort and filter these commands based on their properties or attributes.\\n* **Edit or clone commands**:", + "title": "Commands | Computer for Support Teams | DevRev" + }, + { + "id": "ART-3205_KNOWLEDGE_NODE-25", + "text": "status of users within a group to either active or away. This operation is available in the Workflow Builder after the snap-in is activated, allowing efficient management of user preferences.\\n\\nInstalling the Set user preference for group\\n--------------------------------------------\\n\\n1. Install the [Set user preference for group](https://marketplace.devrev.ai/marketplace/set-user-preference) from the DevRev marketplace.\\n2. Select the workspace to install the snap-in, confirm installation,", + "title": "Set user preference for group | Automate | Snap-ins | DevRev" + }, + { + "id": "ART-1645_KNOWLEDGE_NODE-5", + "text": "organization\\xe2\\x80\\x99s unique workflows and reporting needs. By using the customization framework, you can extend these objects with custom fields that reflect your processes.\\n\\nThis section provides an overview of the customization framework and walks you through the process of tracking bugs in your organization. By the end of this section, you\\xe2\\x80\\x99ll be able to:\\n\\n 1. Customize DevRev objects such as _issue_ and _ticket_ by adding custom fields.\\n 2. Override default field", + "title": "Object customization (Beta) \u2014 DevRev | Docs" + } + ] + }, + { + "query_id": "2c22e8f5-d293-4b2d-9aa4-2cf0c01e2cc2", + "query": "add multiple email addresses to one contact through Grow interface", + "retrievals": [ + { + "id": "ART-2045_KNOWLEDGE_NODE-51", + "text": "email: [a@example.com](mailto:a@example.com) account: **None** | email: [a@example.com](mailto:a@example.com) account: **None** | Existing contact used |\\n| email: [a@example.com](mailto:a@example.com) account: \"Example\" | email: [a@example.com](mailto:a@example.com) account: \"Example\" | Existing contact used |\\n| email: [a@example.com](mailto:a@example.com) account: \"Example\" | email: [a@example.com](mailto:a@example.com) account: **None** | New contact created |\\n| email:", + "title": "AirSync | Snap-ins | DevRev" + }, + { + "id": "ART-3207_KNOWLEDGE_NODE-57", + "text": "connection](#1-create-a-new-connection)\\n* [2. Configure email integration snap-in](#2-configure-email-integration-snapin)\\n* [Next steps for configuration of the snap-in](#next-steps-for-configuration-of-the-snapin)\\n* [Step 1: Add a Primary Email Address](#step-1-add-a-primary-email-address)\\n* [Step 2: Define the Primary Use Case](#step-2-define-the-primary-use-case)\\n* [Step 3: Add Additional Support Emails](#step-3-add-additional-support-emails)\\n* [Step 4: Set the Default Part and", + "title": "Email snap-in configuration | Email | 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-4020_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": "Send customized emails | Automate | Snap-ins | DevRev" + }, + { + "id": "ART-3207_KNOWLEDGE_NODE-38", + "text": "Step 2: Define the Primary Use Case\\n\\nChoose how DevRev should interpret emails sent to the primary address:\\n\\n* Choose between generating a **Ticket or a Conversation** from the incoming email.\\n\\nToggle on **Set email as the default channel for tickets** to ensure that:\\n\\n* Customer chat replies are sent via email as well as to the original source of the channel.\\n\\n### Step 3: Add Additional Support Emails\\n\\nYou can add more addresses to handle support requests.\\n\\n* **Tickets**: Emails", + "title": "Email snap-in configuration | Email | Integrate | Snap-ins | DevRev" + }, + { + "id": "ART-1953_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" + }, + { + "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-16082_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": "Gmail AirSync | AirSync | Snap-ins | DevRev" + }, + { + "id": "ART-2933_KNOWLEDGE_NODE-2", + "text": "[contacts](https://docs.devrev.ai/product/grow#-contact) which represents an individual user associated with the account of the organization. To create a contact, we also need to use the `rev-orgs.list` API with the `accounts` filter to get the default [workspace](https://docs.devrev.ai/product/grow#-workspace)(rev org) created with the account. We will be creating a contact under the workspace (`rev_org`) of the account as contacts (`rev_user`) cannot exist individually without being", + "title": "Account creation | DevRev | Docs" + }, + { + "id": "ART-3207_KNOWLEDGE_NODE-24", + "text": "[Product demos](/docs/DevRevU/demos)\\n\\nOn this page\\n\\n* [1. Create a new connection](#1-create-a-new-connection)\\n* [2. Configure email integration snap-in](#2-configure-email-integration-snapin)\\n* [Next steps for configuration of the snap-in](#next-steps-for-configuration-of-the-snapin)\\n* [Step 1: Add a Primary Email Address](#step-1-add-a-primary-email-address)\\n* [Step 2: Define the Primary Use Case](#step-2-define-the-primary-use-case)\\n* [Step 3: Add Additional Support", + "title": "Email snap-in configuration | Email | Integrate | Snap-ins | DevRev" + } + ] + }, + { + "query_id": "45a08470-c6f0-412a-9985-bbfd3f725b3c", + "query": "list agents API for account", + "retrievals": [ + { + "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-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-1258_KNOWLEDGE_NODE-0", + "text": "b'List 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\\nList Accounts\\n=============\\n\\nCopy page\\n\\nGET\\n\\nhttps://api.devrev.ai/accounts.list\\n\\nGET\\n\\n/accounts.list\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl https://api.devrev.ai/accounts.list \\\\ |\\n| > | -H \"Authorization: Bearer \" |\\n```\\n\\n[Try", + "title": "List Accounts | DevRev | Docs" + }, + { + "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-1564_KNOWLEDGE_NODE-10", + "text": "endpoint expects an object.\\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 List.\\n\\nGET https://api.devrev.ai / accounts.list\\n\\nGets a list of accounts.\\n\\nQuery parameters.\\n\\ncreated_by string Optional\\n\\nFilters for accounts created by the specified user(s).\\n\\ncreated_date.after datetime Optional\\n\\nFilters for objects created after the provided timestamp", + "title": "List (Beta) \u2014 DevRev | Docs" + }, + { + "id": "ART-2933_KNOWLEDGE_NODE-22", + "text": "created in **Accounts** and selecting the **Contacts** tab to view all the contacts created for the selected account.\\n\\n![]()\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/beta/changelog/2024/12/2)[#### Agents async API\\n\\nNext](/beta/guides/agents-async-api)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)\\n\\n![]()'", + "title": "Account creation | DevRev | Docs" + }, + { + "id": "ART-4206_KNOWLEDGE_NODE-7", + "text": "`webhook_target.webhook`: The webhook ID created earlier.\\n\\n**To execute an agent asynchronously:**\\n\\nBashJavaScript\\n\\n```\\n| | |\\n| --- | --- |\\n| $ | curl --location \\'https://api.devrev.ai/internal/ai-agents.events.execute-async\\' \\\\ |\\n| > | --header \\'Content-Type: application/json\\' \\\\ |\\n| > | --header \\'Accept: application/json\\' \\\\ |\\n| > | --header \\'Authorization: Bearer \\' \\\\ |\\n| > | --data \\'{ |\\n| > | \"agent\": \"don:core:dvrv-us-1:devo/0:ai_agent/1\", |\\n| > |", + "title": "Agents async API | DevRev | Docs" + }, + { + "id": "ART-1464_KNOWLEDGE_NODE-8", + "text": "\"tier\": \"foo\", \\n 74| \"websites\": [ \\n 75| \"foo\" \\n 76| ] \\n 77| } \\n 78| }\\n[/code] \\n \\n[List AccountsUp Next](/public/api-reference/accounts/list)\\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": "Get Account (POST) \u2014 DevRev | Docs" + }, + { + "id": "ART-4206_KNOWLEDGE_NODE-17", + "text": "|\\n| 3 | // Show loading indicator |\\n| 4 | displayLoadingIndicator(); |\\n| 5 | |\\n| 6 | // Make async API call |\\n| 7 | fetch(\"https://api.devrev.ai/internal/ai-agents.events.execute-async\", { |\\n| 8 | method: \"POST\", |\\n| 9 | headers: { |\\n| 10 | \"Content-Type\": \"application/json\", |\\n| 11 | Authorization: Bearer \"YOUR_API_KEY\", |\\n| 12 | }, |\\n| 13 | body: JSON.stringify({ |\\n| 14 | agent: \"your_agent_id\", |\\n| 15 | event: { |\\n| 16 | input_message: { |\\n| 17 | message: message, |\\n| 18 |", + "title": "Agents async API | 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" + } + ] + }, + { + "query_id": "f70a832e-15aa-4d51-bd81-81f1d51a3990", + "query": "SLA timer not running for newly created tickets with L1 SLA tag and Test SLA Pilot", + "retrievals": [ + { + "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-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-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-24", + "text": "[Product demos](/docs/DevRevU/demos)\\n\\nOn 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* [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", + "title": "Service-level agreement | Computer for Support Teams | DevRev" + }, + { + "id": "ART-1818_KNOWLEDGE_NODE-313", + "text": "object Optional\\nShow 2 properties\\nmin_valid_days long Optional\\nOrganization schedule must be valid for at least this many days in the future. Meaning organization schedule fragments must cover this period. 0 if omitted.\\nname string Optional\\nHuman-readable name.\\norg_schedule_fragments list of objects Optional\\nList of organization schedule fragments with no overlaps or gaps.\\nShow property\\ntimezone string Optional\\n\\nTimezone in which the organization schedule applies. Expected to be a", + "title": "Sla Trackers Get Post \u2014 DevRev | Docs" + }, + { + "id": "ART-2017_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": "SLA status change Slack notifier | Automate | Snap-ins | DevRev" + }, + { + "id": "ART-1819_KNOWLEDGE_NODE-297", + "text": "product ID for which the Unit of Measurement (UOM) is defined.\\nunit string Optional\\nUnit name of the Unit of Measurement (UOM).\\nResponse.\\n\\nThis endpoint returns an object.\\nuom object\\nShow 16 properties\\nAPI Reference schedules Org Schedule Fragments Create.\\n\\nPOST https:// api.devrev.ai / org-schedule-fragments.create\\nCreates an organization schedule fragment.\\nRequest.\\n\\nThis endpoint expects an object.\\nfrom datetime Required\\nDate (inclusive) on which the organization schedule", + "title": "Sla Trackers Get \u2014 DevRev | Docs" + }, + { + "id": "ART-1819_KNOWLEDGE_NODE-442", + "text": "\\'unverified\\' state and it won\\'t receive any object events until successfully verified.\\nResponse.\\n\\nThis endpoint returns an object.\\nwebhook object\\nShow 11 properties\\nAPI Reference works Create.\\n\\nPOST https:// api.devrev.ai / works.create\\n\\nCreates new work ( issue , ticket ) item. task and opportunity work types are supported in the beta version.\\n\\nRequest.\\n\\nThis endpoint expects an object.\\nIssue Show 19 properties\\nOR\\nOpportunity Show 21 properties\\nOR\\nTask Show 17", + "title": "Sla Trackers Get \u2014 DevRev | Docs" + }, + { + "id": "ART-1818_KNOWLEDGE_NODE-297", + "text": "Create.\\n\\nPOST https:// api.devrev.ai / org-schedule-fragments.create\\nCreates an organization schedule fragment.\\nRequest.\\n\\nThis endpoint expects an object.\\nfrom datetime Required\\nDate (inclusive) on which the organization schedule fragment begins.\\nintervals list of objects Required\\nThe intervals that comprise the schedule fragment.\\nShow 4 properties\\nname string Required\\nName of the organization schedule fragment.\\nto datetime Required\\nDate (exclusive) on which the organization", + "title": "Sla Trackers Get Post \u2014 DevRev | Docs" + }, + { + "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" + } + ] + }, + { + "query_id": "dc2b710b-25ce-4b9d-b85c-f556e8fd4a56", + "query": "how to find secondary ticket", + "retrievals": [ + { + "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-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-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-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-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-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", + "title": "Tickets | Computer for Support Teams | DevRev" + }, + { + "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-15687_KNOWLEDGE_NODE-14", + "text": "engineering](/docs/automations/ticket-age-in-engineering)\\n - [Ticket issue 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", + "title": "Dashboards | Computer by DevRev | DevRev" + }, + { + "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", + "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" + } + ] + }, + { + "query_id": "05e8a3ee-fe67-4ece-b8c8-5088330b0864", + "query": "converting conversations to tickets issue customer channel acme", + "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", + "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-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-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-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-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-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-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-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-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" + } + ] + }, + { + "query_id": "0e3d4f90-8b81-449e-85cb-cda6c356cf11", + "query": "add subtype in conversation in DevRev", + "retrievals": [ + { + "id": "ART-17231_KNOWLEDGE_NODE-61", + "text": "reference\\xe2\\x86\\x92[#record:comment] | | ID of the last message in external discussion. |\\n| `last_internal_message_date` | timestamp | | Timestamp of the last message in internal discussions. |\\n| `last_internal_message_id` | reference\\xe2\\x86\\x92[#record:comment] | | ID of the last message in internal discussion. |\\n| `last_message_id` | reference\\xe2\\x86\\x92[#record:comment] | | ID of the last message on the object. |\\n| `last_message_timestamp` | timestamp | | Timestamp of the last", + "title": "Supported DevRev object types | DevRev | Docs" + }, + { + "id": "ART-15342_KNOWLEDGE_NODE-6", + "text": "with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Prepare-Update Schemas Subtypes | DevRev | Docs" + }, + { + "id": "ART-1506_KNOWLEDGE_NODE-1", + "text": "custom schemas described abstractly. Every provided schema\\xe2\\x80\\x99s custom field must be specified, otherwise a bad request error is returned. If a new custom schema specifier is provided, then it will be added to the work, otherwise if a custom schema is omitted from the specifier, it remains unmodified.\\n\\nShow 4 properties\\n\\ndescriptionstringOptional\\n\\nDescription for the conversation.\\n\\ngroupstringOptional\\n\\nThe group that the conversation is associated", + "title": "Create Conversation (Beta) \u2014 DevRev | Docs" + }, + { + "id": "ART-1506_KNOWLEDGE_NODE-14", + "text": "with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)\\n\\n'", + "title": "Create Conversation (Beta) \u2014 DevRev | Docs" + }, + { + "id": "ART-17231_KNOWLEDGE_NODE-49", + "text": "| enum | | The access level for the channel. |\\n| `created_by_id` | reference\\xe2\\x86\\x92[#category:user] | | User ID of the user that created the object |\\n| `name` | text | | The name of the channel. If provided, this will be unique across all channels in the Dev org. It\\xe2\\x80\\x99s case insensitive and must contain the characters [A-Za-z0-9\\\\_-]. |\\n| `title` | text | | The title given to the chat. |\\n\\n#### Enum values\\n\\n**access\\\\_level**\\n\\n| Value | Name | Description |\\n| --- |", + "title": "Supported DevRev object types | DevRev | Docs" + }, + { + "id": "ART-1308_KNOWLEDGE_NODE-96", + "text": "api.devrev.ai / conversations.list\\nLists the available conversations.\\nQuery parameters.\\n\\napplies_to_parts string Optional\\nFilters for conversations belonging to any of the provided parts.\\ncursor string Optional\\nThe cursor to resume iteration from. If not provided, then iteration starts from the beginning.\\ngroup string Optional\\nFilters for conversation that belong to the given groups.\\nis_creator_verified boolean Optional\\nFilters for conversations that are created by verified", + "title": "Update \u2014 DevRev | Docs" + }, + { + "id": "ART-4075_KNOWLEDGE_NODE-33", + "text": "demo](https://devrev.ai/request-a-demo)\\n\\n'", + "title": "List Conversations \u2014 DevRev | Docs" + }, + { + "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-15323_KNOWLEDGE_NODE-19", + "text": "with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Get Conversation | 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" + } + ] + }, + { + "query_id": "c52998fe-3545-4109-b719-ee5a3b792209", + "query": "DevRev Platform Orientation & Navigation Guide video login options", + "retrievals": [ + { + "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-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", + "title": "October 5: Left navigation | Changelog | DevRev" + }, + { + "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-12474_KNOWLEDGE_NODE-0", + "text": "b'This document serves as a guide for pinning the relevant Session Analytics views to the left navigation panel in DevRev.\\n\\nTo begin, navigate to the left panel and select \"Explore.\"\\n\\nSearch for \"Session Replays\" and pin it to your preferred section of the left navigation. Repeat the same for \"Session Analytics: Web\" and \"Session Analytics: Mobile.\".\\n\\nAdditionally, feel free to unpin any views that you do not wish to display in your left navigation.'", + "title": "Pin Session Analytics views to the left navigation" + }, + { + "id": "ART-4177_KNOWLEDGE_NODE-8", + "text": "issues.](https://vimeo.com/1027657894)[![]()\\n\\nPrioritizing Backlog by Customer Impact\\n\\nLearn how to use the Now, Next, Later view, quickly sort backlog by customer impact, group by product area, and escalate into a sprint work item.](https://vimeo.com/850331179)[![]()\\n\\nSprint Board and Insights\\n\\nGet a guided tour on how to use DevRev\\xe2\\x80\\x99s Sprint Boards through this interactive walkthrough](https://walkthrough.devrev.ai/app/sprint)\\n\\nFeatured Customer", + "title": "DevRev University - DevRev for Startups" + }, + { + "id": "ART-1475_KNOWLEDGE_NODE-4", + "text": "* ``: The unique slug name of your DevOrg to which you want to log in.\\n\\n * ``: Your registered user email for profile.\\n\\nThe browser opens up and asks you to log in to DevRev. Once you log in, a local dev org profile is created and an access token is stored.\\n\\n###### Authenticate using dev token\\n\\nTo set up authentication using the DevRev token, run the following command:\\n\\n#####\\n\\nUsing DevRev\\xe2\\x80\\x99s interface, you can generate a DevRev", + "title": "DevRev CLI reference \u2014 DevRev | Docs" + }, + { + "id": "ART-15515_KNOWLEDGE_NODE-29", + "text": "the `shouldDismissModalsOnOpenLink` boolean flag. This flag controls whether the DevRev SDK should dismiss the top-most modal screen when a link is opened.\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | DevRev.shouldDismissModalsOnOpenLink: Bool |\\n```\\n\\nDynamic theme configuration\\n---------------------------\\n\\nThe DevRev SDK allows you to configure the theme dynamically based on the system appearance, or use the theme configured on the DevRev portal. By default, the theme is dynamic and follows the", + "title": "Features | DevRev | Docs" + }, + { + "id": "ART-15792_KNOWLEDGE_NODE-11", + "text": "to maintain visibility of resource allocation even as you scale\\n\\nProduct 360 Analytics: Enhance customer experience, product velocity, and developer productivity with robust Product 360 analytics\\n\\nCustomer-focused Development: Make development customer-focused with sprints that adapt to customer requirements\\n\\nSource: [DevRev Build](https://devrev.ai/build)User ObservabilityWhat is DevRev User Observability?\\n\\nDevRev User Observability helps you gain a clear window into your user journeys", + "title": "DevRev Products and Agents" + }, + { + "id": "ART-12447_KNOWLEDGE_NODE-15", + "text": "demo](https://devrev.ai/request-a-demo)\\n\\n'", + "title": "Quickstart guide \u2014 DevRev | Docs" + }, + { + "id": "ART-15206_KNOWLEDGE_NODE-6", + "text": "client.](/startups/apply?redirect_url=https%3A%2F%2Fcarta.com%2Fpartners%2F%5B%E2%80%A6%5Dtm_medium%3DChannelReferral%26utm_source%3Ddevrev%26PID%3Ddevrev)[![]()\\n\\nNVIDIA Inception Program for Startups\\n\\nGet free developer resources and training, preferred pricing on NVIDIA solutions, exclusive offers from partners, and exposure to VC firms.](/startups/apply?redirect_url=https%3A%2F%2Fwww.nvidia.com%2Fen-us%2Fstartups%2F)\\n\\nChoose another country or region to see content specific to your", + "title": "Startup Perks" + } + ] + }, + { + "query_id": "da7b37fd-25ab-4968-9f53-c311043f6306", + "query": "change subtype of ticket error something went wrong", + "retrievals": [ + { + "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-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-16806_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": "July 2025 | Changelog | DevRev" + }, + { + "id": "ART-16264_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": "June 2025 | Changelog | DevRev" + }, + { + "id": "ART-10697_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": "February 2025 | Changelog | DevRev" + }, + { + "id": "ART-2065_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": "August 2025 | Changelog | 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-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-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-13189_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": "March and April 2025 | Changelog | DevRev" + } + ] + }, + { + "query_id": "882cde96-7501-41c4-8767-0023a96e5fcc", + "query": "Why would I use DevRev?", + "retrievals": [ + { + "id": "ART-1944_KNOWLEDGE_NODE-5", + "text": "Jul 06 to Jul 19, 2023 Jun 20 to Jul 05, 2023 Jun 05 to Jun 19, 2023 May 22 to Jun 05, 2023 Apr 22 to May 22, 2023\\n\\nDeveloper DevRevU\\n\\nDevRev Documentation.\\n\\nExplore DevRev's features and usage.\\n\\nSearch for anything CTRL + K\\nAgentOS.\\n\\nLearn about DevRev to enable next-generation customer support and software development.\\n\\nSupport.\\n\\nCreate a culture of support: track work requested by customers and drive product decisions with development teams to delight them.\\n\\nBuild.\\n\\nPlan", + "title": "DevRev Documentation" + }, + { + "id": "ART-15792_KNOWLEDGE_NODE-7", + "text": "Import and interact with objects from connected applications, protected by SOC 2 Type 2 compliance and secured with detailed audit trails.\\n\\nSource: [DevRev Search](https://devrev.ai/search)DevRev Products\\n\\nDevRev sells the following products:SupportWhat is DevRev Support?\\n\\nDevRev Support is a full-featured support platform built for modern businesses and trusted by leading organizations\\n\\nKey Features:\\n\\nInstant answers: Provide instant, accurate answers to customer questions wherever", + "title": "DevRev Products and Agents" + }, + { + "id": "ART-17650_KNOWLEDGE_NODE-4", + "text": "levels, while also needing tools sophisticated enough to identify incident patterns tied to vulnerabilities or verification failures.\\n\\n#### We needed to unify our technical and customer-facing operations, especially for security-critical use cases. DevRev gave us the platform and flexibility to do that.\\xe2\\x80\\x9d\\n\\nThe solution: Implementing DevRev's unified platform for support\\n----------------------------------------------------------------\\n\\nThe company adopted DevRev's Support module", + "title": "American cybersecurity leader unifies security & support with DevRev" + }, + { + "id": "ART-4177_KNOWLEDGE_NODE-9", + "text": "Stories\\n-------------------------\\n\\nDiscover success stories and understand how DevRev is already empowering startups to achieve their goals.\\n\\n[![]()\\n\\nUniphore builds a proactive support culture with DevRev\\n\\nUniphore uses DevRev to get to the root of customer's problems and prevent them from recurring](/case-study/uniphore)[![]()\\n\\nGoodmeetings uses PLuG to reduce ticket resolution time\\n\\nGoodmeetings uses DevRev\\xe2\\x80\\x99s PLuG widget to improve ticket resolution time and increase", + "title": "DevRev University - DevRev for Startups" + }, + { + "id": "ART-15202_KNOWLEDGE_NODE-7", + "text": "implementation plan, developing product adoption strategies,and providing technical subject matter expertise and guidance.\\n* Develop new ways of helping customers increase the usage of our products.\\n* Enable integration of DevRev with customers\\xe2\\x80\\x99 existing tool stack by utilizing available DevRev snap-ins and identifying specific needs for customizations.\\n* Enable customers in their journeys by identifying and sharing relevant content, enabling them with best practices, making", + "title": "DevRev Careers | Senior Customer Success Manager" + }, + { + "id": "ART-1997_KNOWLEDGE_NODE-26", + "text": "it holds information about the company, including its name, address, industry, domain, and website address.\\n\\nDevRev leverages convergence to link DevRev accounts with other DevRev entities, including tickets, conversations, opportunities, workspaces, and engagements. This linking offers a 360-degree view of an account across sales, customer success, and support. To enable real-time collaboration among employees from different departments on an account, it provides a discussion", + "title": "Computer for Growth Teams | DevRev" + }, + { + "id": "ART-12594_KNOWLEDGE_NODE-2", + "text": "companies to increase product velocity and reduce customer churn. DevRev is used by thousands of companies in search of low latency analytics and customizable LLMs to thrive in this era of GenAI. \\n \\nHeadquartered in Palo Alto, California, DevRev has offices in seven global locations. We have raised $100 million in funding from investors like Khosla Ventures and Mayfield at a $1.1 billion valuation. We are also honored to be named on the Forbes 2024 list of America\\xe2\\x80\\x99s Best Startup", + "title": "DevRev Careers | Software Developer: JavaScript Full Stack Development" + }, + { + "id": "ART-15201_KNOWLEDGE_NODE-7", + "text": "adoption strategies,and providing technical subject matter expertise and guidance.\\n * Develop new ways of helping customers increase the usage of our products.\\n * Enable integration of DevRev with customers\\xe2\\x80\\x99 existing tool stack by utilizing available DevRev snap-ins and identifying specific needs for customizations.\\n * Enable customers in their journeys by identifying and sharing relevant content, enabling them with best practices, making proactive nudges to increase product", + "title": "DevRev Careers | Senior Customer Success Manager" + }, + { + "id": "ART-15203_KNOWLEDGE_NODE-7", + "text": "through onboarding; owning the implementation plan, developing product adoption strategies,and providing technical subject matter expertise and guidance.\\n* Develop new ways of helping customers increase the usage of our products.\\n* Enable integration of DevRev with customers\\xe2\\x80\\x99 existing tool stack by utilizing available DevRev snap-ins and identifying specific needs for customizations.\\n* Enable customers in their journeys by identifying and sharing relevant content, enabling them", + "title": "DevRev Careers | Senior Customer Success Manager" + }, + { + "id": "ART-16607_KNOWLEDGE_NODE-4", + "text": "platform purpose-built for companies, combining support, product, and growth apps to unify end users, sellers, support engineers, product teams, and developers. By reducing dependency on nine disconnected business tools and converging six operational teams, DevRev accelerates product velocity and customer satisfaction.\\n\\nDevRev offers a blank-canvas approach to collaboration, analytics, and AI. Our platform empowers companies to ship faster, resolve smarter, and retain better leveraging", + "title": "DevRev Careers | Partner Solutions Engineer" + } + ] + }, + { + "query_id": "a01c7c2b-0eda-489a-a3f7-e2fadaf9f999", + "query": "apply repeated multiple fields on tickets with one click", + "retrievals": [ + { + "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-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-1979_KNOWLEDGE_NODE-53", + "text": "the support workflow. This not only wastes time on redundant issues but also slows response times and skews data analysis.\\n\\nMerging duplicate tickets establishes uniform communication between customers and agents, providing an effective solution to this problem.\\n\\n**Duplicate ticket**\\n\\nA duplicate ticket is any ticket identified as a repetition of another existing ticket. These tickets are considered unnecessary for further communication or action, as they pertain to the same problem", + "title": "Tickets | Computer for Support Teams | DevRev" + }, + { + "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-1964_KNOWLEDGE_NODE-26", + "text": "Preset fields based on the selected template type are displayed. You can customize these by adding additional attributes if necessary.\\n\\nEditing templates\\n-----------------\\n\\nTo edit or delete a template, navigate to [**Settings** > **Templates**](https://app.devrev.ai/devrev/settings/record-template). Under the **Action** column, select **Edit** or **Delete**.\\n\\nUsing templates for tickets and issues\\n--------------------------------------\\n\\n1. Click **+** in the record creation panel at", + "title": "Templates | Computer by DevRev | 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-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-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-1846_KNOWLEDGE_NODE-10", + "text": "|\\n| 42 | ], |\\n| 43 | \"submit_action\": { |\\n| 44 | \"action_id\": \"next\", |\\n| 45 | \"style\": \"primary\", |\\n| 46 | \"text\": { |\\n| 47 | \"text\": \"Next\", |\\n| 48 | \"type\": \"plain_text\" |\\n| 49 | }, |\\n| 50 | \"type\": \"button\", |\\n| 51 | \"value\": \"next\" |\\n| 52 | }, |\\n| 53 | \"type\": \"form\" |\\n| 54 | } |\\n| 55 | ], |\\n| 56 | \"type\": \"card\" |\\n| 57 | } |\\n| 58 | ] |\\n| 59 | } |\\n| 60 | } |\\n| 61 | } |\\n```\\n\\nIn this example, the snap-kit renders a dropdown select for choosing between `Ticket` and", + "title": "Customizing snap-in configuration | DevRev | Docs" + }, + { + "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" + } + ] + }, + { + "query_id": "bd3a18be-1f76-4d1d-b813-c54880d2b2b7", + "query": "configure contact to open ticket in different workspace", + "retrievals": [ + { + "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-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-2042_KNOWLEDGE_NODE-26", + "text": "**Integrations** > **AirSyncs** and select **AirSync** (or **Start AirSync** if it's your first).\\n2. Create a new connection to your Rocketlane account, or use an existing connection if you already have one.\\n3. Once the connection is established, select the Rocketlane workspace you want to import and specify the DevRev part where the imported tickets should be created. This initiates a bulk import of the selected workspace.\\n4. DevRev makes an effort to automatically map the fields from", + "title": "Rocketlane AirSync | AirSync | Snap-ins | DevRev" + }, + { + "id": "ART-3107_KNOWLEDGE_NODE-25", + "text": "specific users (customer users).\\n* Ignores tickets created by other user types.\\n* Allows multiple tags to be assigned based on predefined rules.\\n* Can be triggered via commands or automatically when tickets are created.\\n\\nConfiguration\\n-------------\\n\\nFollow these steps to set up the Ticket Tagger:\\n\\n1. Go to **Snap-ins** > **Ticket Tagger** > **Configure**.\\n2. Fill in the configuration settings.\\n\\n * **Search for Tags**: Select the tags to check for on the contact or\\n account.", + "title": "Ticket Tagger | Automate | Snap-ins | DevRev" + }, + { + "id": "ART-15506_KNOWLEDGE_NODE-19", + "text": "\\xe2\\x9c\\x85 | If neither exists: System creates the account first, then creates the workspace. User is linked to both. If account exists but workspace doesn\\xe2\\x80\\x99t: System creates the workspace under the existing account. User is linked to both. If workspace exists under different account: System returns an error, as workspaces cannot be a part of 2 accounts. |\\n| \\xe2\\x9c\\x85 | \\xe2\\x9d\\x8c | If workspace doesn\\xe2\\x80\\x99t exist: System creates a new account and workspace (if needed).", + "title": "Identify your users with Plug | DevRev | Docs" + }, + { + "id": "ART-4965_KNOWLEDGE_NODE-26", + "text": "snap-in.\\n\\nConfiguration\\n-------------\\n\\nIn the **Configuration Settings**, select the number of days (0 < x < 365) after which a closed ticket becomes immutable.\\n\\n[PreviousTicket issue field migrator](/docs/automations/ticket-issue-field-migrator)[NextTicket email notifier](/docs/automations/ticket-email-notifier)\\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": "Ticket Immutability | Automate | Snap-ins | DevRev" + }, + { + "id": "ART-3109_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": "Plug widget customization | Computer for Your Customers | 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-12398_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": "Cross-domain session tracking | Session analytics | Computer for Your Customers | DevRev" + }, + { + "id": "ART-1483_KNOWLEDGE_NODE-21", + "text": "devrevSDK.worksCreate({ \\n 17| title: ticketName, \\n 18| body: ticketBody, \\n 19| // The ticket is created in the PROD-1 part. Rename this to match your part. \\n 20| applies_to_part: \"PROD-1\", \\n 21| // The ticket is owned by the DEVU-1 user. Rename this to match the required user. \\n 22| owned_by: [\"DEVU-1\"], \\n 23| type: publicSDK.WorkType.Ticket, \\n 24| }); \\n 25| \\n 26| console.log(response); \\n", + "title": "Using a snap-in to perform a DevRev action \u2014 DevRev | Docs" + } + ] + }, + { + "query_id": "35acf2f7-9d3f-47ad-89d8-49474855dbad", + "query": "link an agent with the search agent so that the search agent can ask the other agent", + "retrievals": [ + { + "id": "ART-2894_KNOWLEDGE_NODE-13", + "text": "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": "Install PLuG search \u2014 DevRev | Docs" + }, + { + "id": "ART-13045_KNOWLEDGE_NODE-12", + "text": "[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": "Get Web Crawler Job \u2014 DevRev | Docs" + }, + { + "id": "ART-2893_KNOWLEDGE_NODE-11", + "text": "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": "Install the Web SDK \u2014 DevRev | Docs" + }, + { + "id": "ART-13006_KNOWLEDGE_NODE-14", + "text": "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 Meeting \u2014 DevRev | Docs" + }, + { + "id": "ART-1442_KNOWLEDGE_NODE-23", + "text": "[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": "Get Work \u2014 DevRev | Docs" + }, + { + "id": "ART-1443_KNOWLEDGE_NODE-10", + "text": "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": "Get Webhook (POST) \u2014 DevRev | Docs" + }, + { + "id": "ART-13003_KNOWLEDGE_NODE-13", + "text": "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": "Get Directory (POST) \u2014 DevRev | Docs" + }, + { + "id": "ART-1403_KNOWLEDGE_NODE-13", + "text": "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": "Self Dev User \u2014 DevRev | Docs" + }, + { + "id": "ART-4066_KNOWLEDGE_NODE-16", + "text": "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": "Get Article \u2014 DevRev | Docs" + }, + { + "id": "ART-12985_KNOWLEDGE_NODE-13", + "text": "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": "Get Command (POST) \u2014 DevRev | Docs" + } + ] + }, + { + "query_id": "1477f1ba-efec-4c13-8c57-86e33ae542a1", + "query": "devrev platform orientation and navigation guide", + "retrievals": [ + { + "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", + "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-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-12447_KNOWLEDGE_NODE-15", + "text": "demo](https://devrev.ai/request-a-demo)\\n\\n'", + "title": "Quickstart guide \u2014 DevRev | Docs" + }, + { + "id": "ART-15592_KNOWLEDGE_NODE-5", + "text": "DevRev solutions.\\n\\n**Key Responsibilities**\\n------------------------\\n\\n### **Partner Enablement & Technical Leadership**\\n\\n* Articulate the features, benefits, and business value of the DevRev platform.\\n* Translate partner business models and objectives into DevRev-aligned solutions.\\n* Drive solution discovery, architecture, and proposal creation during the sales cycle.\\n* Deliver technical enablement programs including:\\n\\n+ Tailored product and solution updates\\n+ Hands-on bootcamps,", + "title": "DevRev Careers | Partner Solutions Engineer" + }, + { + "id": "ART-16607_KNOWLEDGE_NODE-7", + "text": "across the full partner lifecycle. You\\xe2\\x80\\x99ll collaborate closely with DevRev\\xe2\\x80\\x99s Sales, Product, and GTM teams, empowering partners to independently position, implement, and scale DevRev solutions.\\n\\n### **Key Responsibilities**\\n\\n**Partner Enablement & Technical Leadership**\\n\\n* Articulate the features, benefits, and business value of the DevRev platform.\\n* Translate partner business models and objectives into DevRev-aligned solutions.\\n* Drive solution discovery,", + "title": "DevRev Careers | Partner Solutions Engineer" + }, + { + "id": "ART-15203_KNOWLEDGE_NODE-7", + "text": "through onboarding; owning the implementation plan, developing product adoption strategies,and providing technical subject matter expertise and guidance.\\n* Develop new ways of helping customers increase the usage of our products.\\n* Enable integration of DevRev with customers\\xe2\\x80\\x99 existing tool stack by utilizing available DevRev snap-ins and identifying specific needs for customizations.\\n* Enable customers in their journeys by identifying and sharing relevant content, enabling them", + "title": "DevRev Careers | Senior Customer Success Manager" + }, + { + "id": "ART-1944_KNOWLEDGE_NODE-5", + "text": "Jul 06 to Jul 19, 2023 Jun 20 to Jul 05, 2023 Jun 05 to Jun 19, 2023 May 22 to Jun 05, 2023 Apr 22 to May 22, 2023\\n\\nDeveloper DevRevU\\n\\nDevRev Documentation.\\n\\nExplore DevRev's features and usage.\\n\\nSearch for anything CTRL + K\\nAgentOS.\\n\\nLearn about DevRev to enable next-generation customer support and software development.\\n\\nSupport.\\n\\nCreate a culture of support: track work requested by customers and drive product decisions with development teams to delight them.\\n\\nBuild.\\n\\nPlan", + "title": "DevRev Documentation" + }, + { + "id": "ART-12449_KNOWLEDGE_NODE-52", + "text": "Status](https://devrev.ai/status)\\n\\n\\xc2\\xa9 2025 DevRev Inc.\\n\\n'", + "title": "Features \u2014 DevRev | Docs" + }, + { + "id": "ART-12589_KNOWLEDGE_NODE-13", + "text": "extensibility and multi-tenant design principles.\\n* **Education**: Bachelor's degree in Computer Science, Engineering, or related discipline. Advanced degrees or certifications in AI/architecture frameworks (e.g., TOGAF, SAFe) are a plus.\\n\\n**Culture**\\n\\nThe foundation of DevRev is its culture -- our commitment to those who are hungry, humble, honest, and who act with heart. Our vision is to help build the earth\\xe2\\x80\\x99s most customer-centric companies. Our mission is to leverage design,", + "title": "DevRev Careers | Forward Deployed Architect" + } + ] + }, + { + "query_id": "d1c10c3c-ce66-42b1-afd0-3de10ded4f08", + "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-12455_KNOWLEDGE_NODE-9", + "text": "demo](https://devrev.ai/request-a-demo)\\n\\n'", + "title": "Troubleshooting \u2014 DevRev | Docs" + }, + { + "id": "ART-1174_KNOWLEDGE_NODE-3", + "text": "to perform the requested action. |\\n| `404` | `Not Found` | The requested endpoint doesn\\xe2\\x80\\x99t exist. |\\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", + "title": "Errors | DevRev | Docs" + }, + { + "id": "ART-1853_KNOWLEDGE_NODE-12", + "text": "with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Handling errors and retrying | DevRev | Docs" + }, + { + "id": "ART-1174_KNOWLEDGE_NODE-6", + "text": "with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Errors | DevRev | Docs" + }, + { + "id": "ART-12583_KNOWLEDGE_NODE-0", + "text": "b'## Application error: a client-side exception has occurred while loading devrev.ai (see the browser console for more information).\\n\\n'", + "title": "https://devrev.ai/job/5539575004" + }, + { + "id": "ART-15514_KNOWLEDGE_NODE-4", + "text": "with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Troubleshooting | DevRev | Docs" + }, + { + "id": "ART-12571_KNOWLEDGE_NODE-0", + "text": "b'## Application error: a client-side exception has occurred while loading devrev.ai (see the browser console for more information).\\n\\n'", + "title": "https://devrev.ai/job/5427283004" + }, + { + "id": "ART-12598_KNOWLEDGE_NODE-0", + "text": "b'## Application error: a client-side exception has occurred while loading devrev.ai (see the browser console for more information).\\n\\n'", + "title": "https://devrev.ai/job/5504524004" + }, + { + "id": "ART-12578_KNOWLEDGE_NODE-0", + "text": "b'## Application error: a client-side exception has occurred while loading devrev.ai (see the browser console for more information).\\n\\n'", + "title": "https://devrev.ai/job/5548590004" + } + ] + }, + { + "query_id": "d87ed963-92e7-4659-82b5-ef0566b2eb48", + "query": "associate multiple workspaces to a contact", + "retrievals": [ + { + "id": "ART-15506_KNOWLEDGE_NODE-19", + "text": "\\xe2\\x9c\\x85 | If neither exists: System creates the account first, then creates the workspace. User is linked to both. If account exists but workspace doesn\\xe2\\x80\\x99t: System creates the workspace under the existing account. User is linked to both. If workspace exists under different account: System returns an error, as workspaces cannot be a part of 2 accounts. |\\n| \\xe2\\x9c\\x85 | \\xe2\\x9d\\x8c | If workspace doesn\\xe2\\x80\\x99t exist: System creates a new account and workspace (if needed).", + "title": "Identify your users with Plug | DevRev | Docs" + }, + { + "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-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-2895_KNOWLEDGE_NODE-10", + "text": "The mobile number of the customer.| array \\n \\n**Attributes for workspaces**\\n\\nAttributes| Description| Type \\n---|---|--- \\n`workspace_ref`| A unique reference for the user\\xe2\\x80\\x99s workspace. If not provided, and an account reference is passed, the user is directly attached to the account.| string \\n`display_name`| The name of the workspace that\\xe2\\x80\\x99s shown on the widget.| string \\n \\n**Attributes for accounts**\\n\\nAttributes| Description| Type \\n---|---|---", + "title": "Identify your users with PLuG \u2014 DevRev | Docs" + }, + { + "id": "ART-2045_KNOWLEDGE_NODE-51", + "text": "email: [a@example.com](mailto:a@example.com) account: **None** | email: [a@example.com](mailto:a@example.com) account: **None** | Existing contact used |\\n| email: [a@example.com](mailto:a@example.com) account: \"Example\" | email: [a@example.com](mailto:a@example.com) account: \"Example\" | Existing contact used |\\n| email: [a@example.com](mailto:a@example.com) account: \"Example\" | email: [a@example.com](mailto:a@example.com) account: **None** | New contact created |\\n| email:", + "title": "AirSync | Snap-ins | 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-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-2933_KNOWLEDGE_NODE-2", + "text": "[contacts](https://docs.devrev.ai/product/grow#-contact) which represents an individual user associated with the account of the organization. To create a contact, we also need to use the `rev-orgs.list` API with the `accounts` filter to get the default [workspace](https://docs.devrev.ai/product/grow#-workspace)(rev org) created with the account. We will be creating a contact under the workspace (`rev_org`) of the account as contacts (`rev_user`) cannot exist individually without being", + "title": "Account creation | DevRev | Docs" + }, + { + "id": "ART-15506_KNOWLEDGE_NODE-10", + "text": "preferences, it is not recommended to mark emails as non-unique.\\n\\n**Attributes for [workspaces](https://developer.devrev.ai/public/api-reference/rev-orgs/workspaces)**\\n\\n| Attributes | Description | Type | Required | Unique |\\n| --- | --- | --- | --- | --- |\\n| `workspace_ref` | A unique reference for the user\\xe2\\x80\\x99s workspace. If not provided, and an account reference is passed, the user is directly attached to the account. | string | \\xe2\\x9d\\x8c | \\xe2\\x9c\\x85 |\\n| `display_name` |", + "title": "Identify your users with Plug | DevRev | Docs" + }, + { + "id": "ART-1947_KNOWLEDGE_NODE-24", + "text": "relationships](#workstate-relationships)\\n* [Work item linkage](#work-item-linkage)\\n\\n1. [Documentation](/docs)\\n3. [Computer by DevRev](/docs/intro)\\n[Apps](/docs/product/apps)\\n\\nApps\\n====\\n\\nComputer for Support Teams and Computer for Builders enable [customers](./customers) to coordinate with the product or service builders (workspace) and with the different parts of the workspace to coordinate with each other. Between every integration hop and side conversation in traditional fragmented", + "title": "Apps | Computer by DevRev | DevRev" + } + ] + }, + { + "query_id": "6dbad6ea-8ad4-41c5-8cf0-ed39a644fb26", + "query": "Slack notifications org name unknown organisation", + "retrievals": [ + { + "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-968_KNOWLEDGE_NODE-3", + "text": "Slack user group as shown.\\n\\n\\xe2\\x97\\x8b Prerequisites:\\n1. A custom application has to be created in Slack by enabling read and write\\npermission to user groups and chat(to post messages to Slack) respectively.\\n> Steps to create and install the app at https://api.slack.com/apps are shown in the\\nvideo attached here. Ensure to copy the Bot Oauth token generated at the time of\\ninstalling the app to the Slack marketplace.\\n2. Please ensure to invite the created app/bot to the channel where", + "title": "Rocketium: On call Tagging - Slack" + }, + { + "id": "ART-2017_KNOWLEDGE_NODE-27", + "text": "Connection**.\\n * Select **Slack** from the dowpdown list.\\n * Give it a name and sign in with Slack. Ensure to toggle on **Make public** to make the connection public for your organization.\\n\\nConfigure the snap-in\\n---------------------\\n\\n1. In the **Configuration** tab, the first input field to set is *filters*. Here you can declare for which tickets to track the SLA status and to which channels to send notifications.\\n\\n Set the ticket subtype, severity, and part; the support heads", + "title": "SLA status change Slack notifier | Automate | Snap-ins | DevRev" + }, + { + "id": "ART-12395_KNOWLEDGE_NODE-36", + "text": "[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": "Slack Broadcaster | 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-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-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-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-2035_KNOWLEDGE_NODE-29", + "text": "Marketplace.\\n2. Click **Add** in the top-right corner.\\n3. In the snap-in settings, connect your Slack workspace to DevRev by clicking **Sign in with Slack**. This redirects you to Slack's OAuth page.\\n4. Select the appropriate Slack workspace from the top-right corner and click **Allow** to complete the connection setup.\\n5. Add configurations in the snap-in and click **Save** at the bottom of the configuration page.\\n6. Click **Install** to activate the Slack snap-in in your DevRev", + "title": "Slack | Integrate | Snap-ins | DevRev" + }, + { + "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" + } + ] + }, + { + "query_id": "5008d8ba-33fe-4763-b515-5934672610d1", + "query": "how to create tickets in DevRev MVP org", + "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-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-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-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-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-16806_KNOWLEDGE_NODE-26", + "text": "Internal Tickets to manage customer-related tickets without exposing them to the customer. This allows your team to collaborate privately before choosing to share the ticket externally.\\n\\n**Key Capabilities:**\\n\\n* **Private by Default:** Internal tickets remain hidden from customers, even if customer fields are included.\\n* **Controlled Visibility:** Convert to an external ticket when you\\xe2\\x80\\x99re ready to share. This action is permanent.\\n* **Simplified Creation:** Select **Create", + "title": "July 2025 | Changelog | 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", + "title": "Tickets | Computer for Support Teams | DevRev" + }, + { + "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-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-31", + "text": "from an email thread containing multiple customer email IDs, multiple reporters may be added. If a DevRev user adds a new customer while responding from DevRev, or if a new customer responds to the email thread, these new customers are added to the **Reported by** field. In the case of the Portal, there is only one **Reported by**, representing the person who has logged in to the portal to report the issue. Additional reporters can be added from the DevRev app. To select a contact in the", + "title": "Tickets | Computer for Support Teams | DevRev" + } + ] + }, + { + "query_id": "399ad65e-5dd6-473b-9482-ae5444682ad4", + "query": "manage multiple email addresses for one account", + "retrievals": [ + { + "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-3207_KNOWLEDGE_NODE-57", + "text": "connection](#1-create-a-new-connection)\\n* [2. Configure email integration snap-in](#2-configure-email-integration-snapin)\\n* [Next steps for configuration of the snap-in](#next-steps-for-configuration-of-the-snapin)\\n* [Step 1: Add a Primary Email Address](#step-1-add-a-primary-email-address)\\n* [Step 2: Define the Primary Use Case](#step-2-define-the-primary-use-case)\\n* [Step 3: Add Additional Support Emails](#step-3-add-additional-support-emails)\\n* [Step 4: Set the Default Part and", + "title": "Email snap-in configuration | Email | Integrate | Snap-ins | DevRev" + }, + { + "id": "ART-16790_KNOWLEDGE_NODE-1", + "text": "Computer.\\n\\nCan I change my email address?\\n\\nYour email address appears to be managed at the organization level and may not be directly editable from the profile page. Contact your organization administrator if you need to update your email address.\\n\\nHow do I leave an organization?\\n\\nIn the Profile settings, you\\'ll find a \"Leave organization\" button. Clicking this will remove your access to the current organization, but you\\'ll retain access to any other organizations you belong", + "title": "Computer Settings and Preferences FAQs" + }, + { + "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-3207_KNOWLEDGE_NODE-58", + "text": "Owner](#step-4-set-the-default-part-and-owner)\\n* [Step 5: Personalization settings](#step-5-personalization-settings)\\n* [Step 6: Auto-Reply & Threading Features](#step-6-autoreply-threading-features)\\n* [Step 7: Notifications and Anti-Spam Settings](#step-7-notifications-and-antispam-settings)\\n* [Step 8: Set Up Personalized Preferences (Optional)](#step-8-set-up-personalized-preferences-optional)\\n* [3. Configure email forwarding for your email", + "title": "Email snap-in configuration | Email | Integrate | Snap-ins | DevRev" + }, + { + "id": "ART-3207_KNOWLEDGE_NODE-45", + "text": "snap-in. These only appear once the email snap-in is successfully installed and verified.\\n\\nSet-up the provided forwarding address to the account you want to forward from. For example support@example.com.\\n\\nIn the DevRev app, under the **Instructions** tab you can see a forwarding email address displayed as v\\\\_\\\\_\\\\_\\\\_\\\\_\\\\_\\\\_\\\\_\\\\_\\\\_\\\\_@hooks.devrev.ai. This is the address where you can forward your support emails.\\n\\nGoogle Workspace/Groups\\n\\n1. If you are using Google Groups, add your", + "title": "Email snap-in configuration | Email | Integrate | Snap-ins | DevRev" + }, + { + "id": "ART-3207_KNOWLEDGE_NODE-38", + "text": "Step 2: Define the Primary Use Case\\n\\nChoose how DevRev should interpret emails sent to the primary address:\\n\\n* Choose between generating a **Ticket or a Conversation** from the incoming email.\\n\\nToggle on **Set email as the default channel for tickets** to ensure that:\\n\\n* Customer chat replies are sent via email as well as to the original source of the channel.\\n\\n### Step 3: Add Additional Support Emails\\n\\nYou can add more addresses to handle support requests.\\n\\n* **Tickets**: Emails", + "title": "Email snap-in configuration | Email | Integrate | Snap-ins | DevRev" + }, + { + "id": "ART-2045_KNOWLEDGE_NODE-52", + "text": "[a@example.com](mailto:a@example.com) account: **None** | email: [a@example.com](mailto:a@example.com) account: \"Example\" | New contact created |\\n\\n### Work deduplication\\n\\nAirSync doesn\\'t deduplicate work objects (issues, tickets, opportunities). Unlike identity objects (users, accounts), these objects do not typically have duplicates in other systems.\\n\\nAirSync scope and limitations\\n-----------------------------\\n\\nAirSync does its best to bring over as much data as possible as", + "title": "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", + "title": "Email snap-in configuration | Email | Integrate | Snap-ins | DevRev" + }, + { + "id": "ART-2045_KNOWLEDGE_NODE-51", + "text": "email: [a@example.com](mailto:a@example.com) account: **None** | email: [a@example.com](mailto:a@example.com) account: **None** | Existing contact used |\\n| email: [a@example.com](mailto:a@example.com) account: \"Example\" | email: [a@example.com](mailto:a@example.com) account: \"Example\" | Existing contact used |\\n| email: [a@example.com](mailto:a@example.com) account: \"Example\" | email: [a@example.com](mailto:a@example.com) account: **None** | New contact created |\\n| email:", + "title": "AirSync | Snap-ins | DevRev" + } + ] + }, + { + "query_id": "5fba19b8-8d24-4148-afb1-27629d9080be", + "query": "how to install PLuG website installation PLuG ID setup guide", + "retrievals": [ + { + "id": "ART-15504_KNOWLEDGE_NODE-7", + "text": "helpful?\\n\\nYesNo\\n\\n[Previous](/sdks)[#### Install Plug search\\n\\nNext](/sdks/web/install-search)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Install the Web SDK | DevRev | Docs" + }, + { + "id": "ART-15490_KNOWLEDGE_NODE-7", + "text": "keys, or key combinations, or use any other user events based on your application\\xe2\\x80\\x99s needs.\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/sdks/web/installation)[#### Identify your users with Plug\\n\\nNext](/sdks/web/user-identity)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Install Plug search | DevRev | Docs" + }, + { + "id": "ART-15504_KNOWLEDGE_NODE-0", + "text": "b'Install the Web SDK | DevRev | Docs\\n\\n[![]()![]()](https://developer.devrev.ai/)\\n\\nPublic\\n\\nPublic\\n\\nSearch\\n\\n`/`\\n\\nOn this page\\n\\n* [Getting your unique app ID](/sdks/web/installation#getting-your-unique-app-id)\\n\\n[SDKs](/sdks)[Plug Web SDK](/sdks/web/installation)\\n\\nInstall the Web SDK\\n===================\\n\\nCopy page\\n\\nTo install the Plug SDK on your website or web application, insert the code snippet provided below on every page where you want the SDK to be active. Once the SDK", + "title": "Install the Web SDK | DevRev | Docs" + }, + { + "id": "ART-2893_KNOWLEDGE_NODE-6", + "text": "organizations in the EU Central region.\\n * [https://ingestion-apsouth1.devrev.ai](https://ingestion-apsouth1.devrev.ai/) \\\\- For organizations in the AP South region.\\n\\nWas this page helpful?YesNo\\n\\n[Install PLuG searchUp Next](/public/sdks/web/install-search)\\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", + "title": "Install the Web SDK \u2014 DevRev | Docs" + }, + { + "id": "ART-2893_KNOWLEDGE_NODE-7", + "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": "Install the Web SDK \u2014 DevRev | Docs" + }, + { + "id": "ART-3960_KNOWLEDGE_NODE-27", + "text": "login.\\n\\nInstallation\\n------------\\n\\n### Prerequisites\\n\\n* Obtain the necessary CSV file containing user details.\\n\\n### Input requirements\\n\\nThe input CSV file should include the following columns. These are case-sensitive, but the order in which they appear is flexible:\\n\\n| Column name | Type | Description |\\n| --- | --- | --- |\\n| login | string | GitHub account identifier |\\n| saml\\\\_name\\\\_id | string | DevRev account email identifier |\\n\\n### Steps to Install and Configure\\n\\n1.", + "title": "Auto-link DevRev GitHub accounts | Automate | Snap-ins | DevRev" + }, + { + "id": "ART-12450_KNOWLEDGE_NODE-3", + "text": "1.0.0\\' \\n ---|---\\n[/code] \\n \\n 2. Run `pod install` in your project directory.\\n\\nThis will install the DevRev SDK in your project, making it ready for use.\\n\\n## Set up the DevRev SDK\\n\\n 1. Open the DevRev web app at [https://app.devrev.ai](https://app.devrev.ai/) and go to the **Settings** page.\\n 2. Under **PLuG settings** copy the value under **Your unique App ID**.\\n 3. After obtaining the credentials, you can configure the DevRev SDK in your app.\\n\\n#####\\n\\nThe DevRev", + "title": "Quickstart guide \u2014 DevRev | Docs" + }, + { + "id": "ART-15501_KNOWLEDGE_NODE-5", + "text": "your project, making it ready for use.\\n\\nSet up the DevRev SDK\\n---------------------\\n\\n1. Open the DevRev web app at [https://app.devrev.ai](https://app.devrev.ai/) and go to the **Settings** page.\\n2. Under **Plug settings** copy the value under **Your unique App ID**.\\n3. Configure the DevRev SDK in your app using the obtained credentials.\\n\\n##### \\n\\nThe DevRev SDK must be configured before you can use any of its features.\\n\\nThe SDK becomes ready for use once the following configuration", + "title": "Quickstart guide | DevRev | Docs" + }, + { + "id": "ART-12447_KNOWLEDGE_NODE-3", + "text": "$| -keep class ai.devrev.** { *; } \\n ---|--- \\n >| -keep class com.userexperior.* { *; }\\n[/code] \\n \\n## Set up the DevRev SDK\\n\\n 1. Open the DevRev web app at [https://app.devrev.ai](https://app.devrev.ai/) and go to the **Settings** page.\\n 2. Under **PLuG settings** copy the value under **Your unique App ID**.\\n 3. After obtaining the credentials, you can configure the DevRev SDK in your app.\\n\\nThe SDK will be ready for use once you execute the following configuration", + "title": "Quickstart guide \u2014 DevRev | Docs" + }, + { + "id": "ART-2894_KNOWLEDGE_NODE-9", + "text": "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 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 *", + "title": "Install PLuG search \u2014 DevRev | Docs" + } + ] + }, + { + "query_id": "80fd3cb8-b4ff-4ca4-8d4b-2b0ac1fdab5b", + "query": "send notification to slack when a ticket is manually assigned", + "retrievals": [ + { + "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-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-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-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-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-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" + }, + { + "id": "ART-2035_KNOWLEDGE_NODE-25", + "text": "Tickets](#followup-and-merged-tickets)\\n* [New ticket notifications](#new-ticket-notifications)\\n* [Notifications for ticket state update](#notifications-for-ticket-state-update)\\n* [Ticket digest](#ticket-digest)\\n* [DevRev Issues and Slack](#devrev-issues-and-slack)\\n* [DevRev Incidents and Slack](#devrev-incidents-and-slack)\\n* [Sync options](#sync-options)\\n* [Share and view record details](#share-and-view-record-details)\\n* [Creating custom workflows](#creating-custom-workflows)\\n*", + "title": "Slack | Integrate | Snap-ins | DevRev" + }, + { + "id": "ART-2035_KNOWLEDGE_NODE-63", + "text": "merged Tickets](#followup-and-merged-tickets)\\n* [New ticket notifications](#new-ticket-notifications)\\n* [Notifications for ticket state update](#notifications-for-ticket-state-update)\\n* [Ticket digest](#ticket-digest)\\n* [DevRev Issues and Slack](#devrev-issues-and-slack)\\n* [DevRev Incidents and Slack](#devrev-incidents-and-slack)\\n* [Sync options](#sync-options)\\n* [Share and view record details](#share-and-view-record-details)\\n* [Creating custom workflows](#creating-custom-workflows)\\n*", + "title": "Slack | Integrate | Snap-ins | DevRev" + }, + { + "id": "ART-2017_KNOWLEDGE_NODE-27", + "text": "Connection**.\\n * Select **Slack** from the dowpdown list.\\n * Give it a name and sign in with Slack. Ensure to toggle on **Make public** to make the connection public for your organization.\\n\\nConfigure the snap-in\\n---------------------\\n\\n1. In the **Configuration** tab, the first input field to set is *filters*. Here you can declare for which tickets to track the SLA status and to which channels to send notifications.\\n\\n Set the ticket subtype, severity, and part; the support heads", + "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" + } + ] + }, + { + "query_id": "3b420be6-ebc2-458e-a551-3a6038309339", + "query": "export all accounts without 500 limit", + "retrievals": [ + { + "id": "ART-1255_KNOWLEDGE_NODE-7", + "text": "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 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", + "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-1302_KNOWLEDGE_NODE-19", + "text": "maximum number of accounts to return per page. The default is \\'50\\'.\\nmode \"after\" or \"before\" Optional\\nThe iteration mode to use, otherwise if not set, then \"after\" is used.\\nAllowed values: after before\\nmodified_date.after datetime Optional\\nFilters for 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", + "title": "Export \u2014 DevRev | Docs" + }, + { + "id": "ART-1462_KNOWLEDGE_NODE-6", + "text": "\"foo\", \\n 34| \"size\": 42 \\n 35| } \\n 36| }, \\n 37| \"email\": \"foo\", \\n 38| \"full_name\": \"foo\", \\n 39| \"state\": \"active\" \\n 40| }, \\n 41| \"created_date\": \"2023-01-01T12:00:00.000Z\", \\n 42| \"description\": \"foo\", \\n 43| \"display_id\": \"foo\", \\n 44| \"display_name\": \"foo\", \\n 45| \"domains\": [ \\n 46| \"foo\" \\n 47| ], \\n 48|", + "title": "Export Accounts (POST) \u2014 DevRev | Docs" + }, + { + "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-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-1652_KNOWLEDGE_NODE-15", + "text": "of strings Optional\\nDomains for accounts to be filtered.\\nexternal_refs list of strings Optional\\nArray of references of accounts to be filtered.\\nlimit integer Optional\\nThe maximum number of accounts to return per page. The default is \\'50\\'.\\nmode \"after\" or \"before\" Optional\\nAllowed values: after before\\nThe iteration mode to use. If \"after\", then entries after the provided cursor will be returned, or if no cursor is provided, then from the beginning. If \"before\", then entries before the", + "title": "Export \u2014 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-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-1303_KNOWLEDGE_NODE-458", + "text": "provided subtypes.\\nlimit integer Optional\\nThe maximum number of works to return. The default is \\'50\\'.\\nmode \"after\" or \"before\" Optional\\nThe iteration mode to use, otherwise if not set, then \"after\" is used.\\nAllowed values: after before\\nopportunity.account string Optional\\nFilters for opportunities belonging to any of the provided accounts.\\nopportunity.contacts string Optional\\nFilters for opportunities with any of the provided contacts.\\nopportunity.subtype string Optional\\nFilters for", + "title": "Export Post \u2014 DevRev | Docs" + } + ] + }, + { + "query_id": "97d4b5c0-67a8-42ad-a2ef-4a23c4985d29", + "query": "export report CSV download location", + "retrievals": [ + { + "id": "ART-1452_KNOWLEDGE_NODE-18", + "text": "\"name\": \"foo\", \\n 161| \"status\": \"archived\", \\n 162| \"timezone\": \"foo\", \\n 163| \"valid_until\": \"2023-01-01T12:00:00.000Z\" \\n 164| }, \\n 165| \"remaining_time\": 42, \\n 166| \"stage\": \"foo\", \\n 167| \"status\": \"foo\", \\n 168| \"target_time\": \"2023-01-01T12:00:00.000Z\", \\n 169| \"warning_target_time\": \"2023-01-01T12:00:00.000Z\" \\n", + "title": "Export Works (POST) \u2014 DevRev | Docs" + }, + { + "id": "ART-1440_KNOWLEDGE_NODE-18", + "text": "42, \\n 104| \"label\": \"foo\", \\n 105| \"ordinal\": 42, \\n 106| \"value\": null \\n 107| }, \\n 108| \"sla_summary\": { \\n 109| \"closest_to_breach_metric\": \"foo\", \\n 110| \"org_schedule\": { \\n 111| \"display_id\": \"foo\", \\n 112| \"id\": \"foo\", \\n 113| \"name\": \"foo\", \\n 114| \"status\": \"archived\", \\n 115| \"timezone\": \"foo\", \\n 116| \"valid_until\":", + "title": "Export Works \u2014 DevRev | Docs" + }, + { + "id": "ART-1440_KNOWLEDGE_NODE-23", + "text": "\"foo\", \\n 161| \"status\": \"archived\", \\n 162| \"timezone\": \"foo\", \\n 163| \"valid_until\": \"2023-01-01T12:00:00.000Z\" \\n 164| }, \\n 165| \"remaining_time\": 42, \\n 166| \"stage\": \"foo\", \\n 167| \"status\": \"foo\", \\n 168| \"target_time\": \"2023-01-01T12:00:00.000Z\", \\n 169| \"warning_target_time\": \"2023-01-01T12:00:00.000Z\" \\n 170|", + "title": "Export Works \u2014 DevRev | Docs" + }, + { + "id": "ART-1452_KNOWLEDGE_NODE-13", + "text": "\"id\": 42, \\n 104| \"label\": \"foo\", \\n 105| \"ordinal\": 42, \\n 106| \"value\": null \\n 107| }, \\n 108| \"sla_summary\": { \\n 109| \"closest_to_breach_metric\": \"foo\", \\n 110| \"org_schedule\": { \\n 111| \"display_id\": \"foo\", \\n 112| \"id\": \"foo\", \\n 113| \"name\": \"foo\", \\n 114| \"status\": \"archived\", \\n 115| \"timezone\": \"foo\", \\n 116|", + "title": "Export Works (POST) \u2014 DevRev | Docs" + }, + { + "id": "ART-1440_KNOWLEDGE_NODE-25", + "text": "184| \"status\": \"foo\" \\n 185| }, \\n 186| \"stage\": \"breached\", \\n 187| \"target_time\": \"2023-01-01T12:00:00.000Z\" \\n 188| }, \\n 189| \"sla_tracker\": { \\n 190| \"display_id\": \"foo\", \\n 191| \"id\": \"foo\", \\n 192| \"applies_to_type\": \"conversation\" \\n 193| }, \\n 194| \"sprint\": { \\n 195| \"type\": \"curated\", \\n 196| \"end_date\": \"2023-01-01T12:00:00.000Z\", \\n", + "title": "Export Works \u2014 DevRev | Docs" + }, + { + "id": "ART-1440_KNOWLEDGE_NODE-20", + "text": "129| \"created_date\": \"2023-01-01T12:00:00.000Z\", \\n 130| \"display_id\": \"foo\", \\n 131| \"id\": \"foo\", \\n 132| \"modified_by\": { \\n 133| \"display_id\": \"foo\", \\n 134| \"id\": \"foo\", \\n 135| \"display_name\": \"foo\", \\n 136| \"display_picture\": {}, \\n 137| \"email\": \"foo\", \\n 138| \"full_name\": \"foo\", \\n 139| \"state\": \"active\" \\n 140|", + "title": "Export Works \u2014 DevRev | Docs" + }, + { + "id": "ART-1244_KNOWLEDGE_NODE-5", + "text": "\"string\", |\\n| 77 | \"id\": \"string\", |\\n| 78 | \"file\": { |\\n| 79 | \"type\": \"string\", |\\n| 80 | \"name\": \"string\", |\\n| 81 | \"size\": 1 |\\n| 82 | } |\\n| 83 | }, |\\n| 84 | \"email\": \"string\", |\\n| 85 | \"full_name\": \"string\", |\\n| 86 | \"state\": \"active\" |\\n| 87 | } |\\n| 88 | ], |\\n| 89 | \"reported_by\": [ |\\n| 90 | { |\\n| 91 | \"display_id\": \"string\", |\\n| 92 | \"id\": \"string\", |\\n| 93 | \"display_name\": \"string\", |\\n| 94 | \"display_picture\": { |\\n| 95 | \"display_id\": \"string\", |\\n| 96 | \"id\": \"string\",", + "title": "Export Works | DevRev | Docs" + }, + { + "id": "ART-15716_KNOWLEDGE_NODE-18", + "text": "external knowledge bases via a\\xc2\\xa0URL or sitemap, and offers\\xc2\\xa0migration tools\\xc2\\xa0for certain platforms.\\n\\nIf you have a\\xc2\\xa0CSV file:\\n\\nIf the CSV contains\\xc2\\xa0URLs\\xc2\\xa0pointing to existing articles (from which content can be extracted), it may be usable.\\n\\nHowever, if the CSV contains the\\xc2\\xa0actual article content directly, DevRev currently\\xc2\\xa0does not support\\xc2\\xa0importing knowledge base articles from CSV files.\\n\\nFor the latest capabilities, check the", + "title": "Support queries related playbook" + }, + { + "id": "ART-1245_KNOWLEDGE_NODE-5", + "text": "\"display_name\": \"string\", |\\n| 75 | \"display_picture\": { |\\n| 76 | \"display_id\": \"string\", |\\n| 77 | \"id\": \"string\", |\\n| 78 | \"file\": { |\\n| 79 | \"type\": \"string\", |\\n| 80 | \"name\": \"string\", |\\n| 81 | \"size\": 1 |\\n| 82 | } |\\n| 83 | }, |\\n| 84 | \"email\": \"string\", |\\n| 85 | \"full_name\": \"string\", |\\n| 86 | \"state\": \"active\" |\\n| 87 | } |\\n| 88 | ], |\\n| 89 | \"reported_by\": [ |\\n| 90 | { |\\n| 91 | \"display_id\": \"string\", |\\n| 92 | \"id\": \"string\", |\\n| 93 | \"display_name\": \"string\", |\\n| 94 |", + "title": "Export Works (POST) | DevRev | Docs" + }, + { + "id": "ART-1440_KNOWLEDGE_NODE-26", + "text": "197| \"id\": \"foo\", \\n 198| \"name\": \"foo\", \\n 199| \"start_date\": \"2023-01-01T12:00:00.000Z\", \\n 200| \"state\": \"active\" \\n 201| }, \\n 202| \"target_start_date\": \"2023-01-01T12:00:00.000Z\" \\n 203| } \\n 204| ] \\n 205| }\\n[/code] \\n \\n[Export Works (POST)Up Next](/public/api-reference/works/export-post)\\n\\n[Built", + "title": "Export Works \u2014 DevRev | Docs" + } + ] + }, + { + "query_id": "897e0598-fd78-4dec-ae18-80721cfe2e1d", + "query": "ticket calls show playback access issue", + "retrievals": [ + { + "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-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-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-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-1981_KNOWLEDGE_NODE-31", + "text": "hold if there are tickets linked. This means that support is asking for help from engineering.\\n\\nConduct daily health checks\\n---------------------------\\n\\n* On a daily basis all ticket owners should triage tickets to make sure they're well-maintained and that appropriate actions are taken.\\n* Move new tickets from *queued* to the *awaiting product assist*.\\n* Track the default **Team Activity** vista for tickets owned by everyone and navigate to your tickets. Ensure the correct owners are", + "title": "Support best practices | Computer for Support Teams | 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-15701_KNOWLEDGE_NODE-9", + "text": "information.\\n\\nDevRev recommends to switch on both agent and customer recording and realtime and post call analytics.\\n\\nCapturing user input in IVR: If you are taking inputs from user in the IVR and you want that information to be visible to the agent/ captured in the call, use set contact attributes block. Store the keys in the User Defined Namespace and add the key which needs to be displayed/ captured. For eg: previous_ticket_id is being captured by the user input.\\n\\nAdd users: Navigate", + "title": "Amazon Connect Telephony Integration Guide" + }, + { + "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-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-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" + } + ] + }, + { + "query_id": "71551d19-f254-4aee-945e-c45a0a18f8c5", + "query": "OAuth error troubleshooting for Salesforce integration in DevRev", + "retrievals": [ + { + "id": "ART-4059_KNOWLEDGE_NODE-11", + "text": "demo](https://devrev.ai/request-a-demo)\\n\\n'", + "title": "Update Dev Orgs Auth Connection \u2014 DevRev | Docs" + }, + { + "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-1792_KNOWLEDGE_NODE-112", + "text": "expects an object.\\nid string Required\\nID of the authentication connection.\\nResponse.\\n\\nThis endpoint returns an object.\\nauth_connection object\\nConnection object that specifies the configuration for an authentication connection that is set up for a Dev organization.\\nShow 5 variants\\nAPI Reference auth-connection Dev Org Auth Connections List.\\n\\nGET https:// api.devrev.ai / dev-orgs.auth-connections.list\\nLists all the authentication connections available for a Dev organization. This list", + "title": "Update \u2014 DevRev | Docs" + }, + { + "id": "ART-1308_KNOWLEDGE_NODE-111", + "text": "expects an object.\\nid string Required\\nID of the authentication connection.\\nResponse.\\n\\nThis endpoint returns an object.\\nauth_connection object\\nConnection object that specifies the configuration for an authentication connection that is set up for a Dev organization.\\nShow 5 variants\\nAPI Reference auth-connection Dev Org Auth Connections List.\\n\\nGET https:// api.devrev.ai / dev-orgs.auth-connections.list\\nLists all the authentication connections available for a Dev organization. This list", + "title": "Update \u2014 DevRev | Docs" + }, + { + "id": "ART-1283_KNOWLEDGE_NODE-18", + "text": "is_optional : true 14 scope_delimiter : \" , \" # Delimiter used to separate scopes in the authorization request 15 oauth_secret : custom-oauth-credentials # Developer keyring that contains OAuth2 client ID and client secret. Shall be of keyring type `oauth-secret`. 16 authorize : # Configuration for the authorization request 17 type : \" config \" 18 grant_type : \" authorization_code \" 19 auth_url : \" https://example.com/oauth/authorize \" 20 token_url : \" https://example.com/oauth/token \" 21", + "title": "Keyrings \u2014 DevRev | Docs" + }, + { + "id": "ART-1491_KNOWLEDGE_NODE-18", + "text": "is_optional : true 14 scope_delimiter : \" , \" # Delimiter used to separate scopes in the authorization request 15 oauth_secret : custom-oauth-credentials # Developer keyring that contains OAuth2 client ID and client secret. Shall be of keyring type `oauth-secret`. 16 authorize : # Configuration for the authorization request 17 type : \" config \" 18 grant_type : \" authorization_code \" 19 auth_url : \" https://example.com/oauth/authorize \" 20 token_url : \" https://example.com/oauth/token \" 21", + "title": "Keyrings \u2014 DevRev | Docs" + }, + { + "id": "ART-1398_KNOWLEDGE_NODE-13", + "text": "Status](https://devrev.ai/status)\\n\\n\\xc2\\xa9 2025 DevRev Inc.\\n\\n'", + "title": "Update Auth Token \u2014 DevRev | Docs" + }, + { + "id": "ART-12455_KNOWLEDGE_NODE-9", + "text": "demo](https://devrev.ai/request-a-demo)\\n\\n'", + "title": "Troubleshooting \u2014 DevRev | Docs" + }, + { + "id": "ART-1784_KNOWLEDGE_NODE-111", + "text": "Dev organization.\\nShow 5 variants\\nAPI Reference auth-connection Dev Org Auth Connections Toggle.\\n\\nPOST https:// api.devrev.ai / dev-orgs.auth-connections.toggle\\nEnable or disable an authentication connection for a Dev organization. Currently, only 1 authentication connection can be enabled at a time. When a new authentication connection is enabled, the connection which is currently enabled for the Dev organization is automatically disabled.\\nRequest.\\n\\nThis endpoint expects an object.\\nid", + "title": "Locate Post \u2014 DevRev | Docs" + }, + { + "id": "ART-1784_KNOWLEDGE_NODE-108", + "text": "dev-orgs.auth-connections.get\\nRetrieves the details for an authentication connection.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nID of the authentication connection.\\nResponse.\\n\\nThis endpoint returns an object.\\nauth_connection object\\nConnection object that specifies the configuration for an authentication connection that is set up for a Dev organization.\\nShow 5 variants\\nAPI Reference auth-connection Dev Org Auth Connections List.\\n\\nGET https:// api.devrev.ai /", + "title": "Locate Post \u2014 DevRev | Docs" + } + ] + }, + { + "query_id": "b0868a8c-db97-4032-a697-5e8eb9c4be3d", + "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-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-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-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-1035_KNOWLEDGE_NODE-7", + "text": "and now with DevRev, we are more efficient.\\n\\nTop Features\\n------------\\n\\n* Computer for Customers (in-app customer center / live help chat)\\n* Team inbox for customer conversations\\n* Ticket triage and management\\n* Ticket clustering and attribution to product\\n* Automatic updates\\n* Convergence automation\\n* Customized automatic responses\\n* Snap-ins via DevRev Marketplace\\n* Slack integration\\n* Metrics, insights, reporting through Computer for user analytics\\n\\nThe", + "title": "Goodmeetings uses PLuG to reduce ticket resolution time" + }, + { + "id": "ART-4177_KNOWLEDGE_NODE-6", + "text": "through tickets](https://vimeo.com/1027660342)[![]()\\n\\nUnderstanding Support Analytics and SLAs\\n\\nExplore actionable insights and trends in customer experience metrics with our support analytics dashboard](https://vimeo.com/1027659562)[![]()\\n\\nInteractive walkthrough of SLA tracking\\n\\nLearn how to use DevRev track SLAs of tickets, to ensure that your customer's requests are always responded to in time.](https://devrev.navattic.com/bv10lxn)\\n\\nBuild Products, Not", + "title": "DevRev University - DevRev for Startups" + }, + { + "id": "ART-1979_KNOWLEDGE_NODE-31", + "text": "from an email thread containing multiple customer email IDs, multiple reporters may be added. If a DevRev user adds a new customer while responding from DevRev, or if a new customer responds to the email thread, these new customers are added to the **Reported by** field. In the case of the Portal, there is only one **Reported by**, representing the person who has logged in to the portal to report the issue. Additional reporters can be added from the DevRev app. To select a contact in the", + "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", + "title": "Tickets | 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-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" + } + ] + }, + { + "query_id": "485f47bb-d3e6-4ad5-b1e9-ec374b31a860", + "query": "who can provide access to a dashboard or board", + "retrievals": [ + { + "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", + "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-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-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-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-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" + }, + { + "id": "ART-1955_KNOWLEDGE_NODE-38", + "text": "allows a user to create a dashboard\\n\\n Privileges: dashboard object ['CREATE']\\n* *Dashboard Owner:* A role that allows the creator to view, edit and delete a dashboard\\n\\n Privileges: dashboard object ['READ', 'UPDATE', 'DELETE']\\n* *Question Answer Interactor:* Contains privileges on question answers for members of the default group 'Members'.\\n\\n Privileges: question\\\\_answer object ['CREATE', 'READ', 'UPDATE']\\n* *Dataset Creator:* A role that allows a user to create a dataset\\n\\n", + "title": "Default privileges by group | Roles | Computer by DevRev | DevRev" + }, + { + "id": "ART-1955_KNOWLEDGE_NODE-76", + "text": "Privileges: issue object None\\n* *Dashboard Admin:* A role that allows CRUDL operations to admins\\n\\n Privileges: dashboard object ['CREATE', 'READ', 'UPDATE', 'DELETE']\\n* *Timeline Comment Admins/System User Interactor:* Contains privileges on timeline comment for admins and system users\\n\\n Privileges: comment object ['CREATE', 'READ', 'UPDATE', 'DELETE']\\n* *DevOrg Commerce Admin License Assignment Manager:* Contains workspace commerce admin privileges for license assignment object.\\n\\n", + "title": "Default privileges by group | Roles | Computer by DevRev | DevRev" + }, + { + "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-1948_KNOWLEDGE_NODE-27", + "text": "default.\\n\\nAdmins have the authority to configure access for different user groups by assigning or revoking roles. These roles determine the level of permissions and privileges granted to a group, allowing them to perform particular tasks or access specific features.\\n\\nOnly an admin can grant admin privileges to another user.\\n\\nCreating a new group\\n--------------------\\n\\nYou need to be an admin to create a group.\\n\\n1. Go to [**Settings > User Management >", + "title": "Groups | Computer by DevRev | DevRev" + } + ] + }, + { + "query_id": "f064d59a-04e0-41e7-8b84-d4b7119aa8ee", + "query": "Escalation triggers for complex queries requiring human intervention, including probing questions and answer capturing", + "retrievals": [ + { + "id": "ART-1983_KNOWLEDGE_NODE-31", + "text": "similar questions in the future. Each conversation can generate unique Q&As, increasing Computer's knowledge base with every interaction.\\n\\nEvery Q&A is intricately linked to its originating conversation, preserving the context of its creation. Even if initially overlooked, support team members can revisit pending Q&As by filtering **Settings** > **Turing** > **Q&As** for those in the *Review Needed* state.\\n\\n![]()\\n\\nSearching for Q&As\\n------------------\\n\\nSearch for a previously created", + "title": "Questions & answers | Computer for Support Teams | DevRev" + }, + { + "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-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-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-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-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-1974_KNOWLEDGE_NODE-27", + "text": "towards addressing the user's concern.\\n* *Suspended*\\n\\n The initial stage for all invalid conversations, which may include spam or otherwise suspicious inquiries. This stage is used to minimize noise in the support inbox. If, upon review, the *suspended* item is deemed valid, it's transitioned to the *new* stage.\\n\\n**In-progress**\\n\\n* *Waiting on user* (WOU)\\n\\n Someone from the support team has responded and is waiting on a response from the user. For the initial response, the stage", + "title": "Conversations | Computer for Support Teams | DevRev" + }, + { + "id": "ART-1974_KNOWLEDGE_NODE-32", + "text": "have been completed the stage transitions to *needs response* to bring to the customer experience engineer's attention. Upon review they may put the conversation back on *hold* to re-escalate the item. If the dependencies seem to be resolved the customer experience engineer responds to the customer and the stage transitions to *waiting on user*.\\n\\n**Closed**\\n\\n* *Resolved* (R)\\n\\n The final target stage for conversations. It means that the customer's concerns which led to the conversation", + "title": "Conversations | Computer for Support Teams | DevRev" + }, + { + "id": "ART-1983_KNOWLEDGE_NODE-29", + "text": "on\\xe2\\x80\\x94it learns. It autonomously generates new Q&As based on the resolved conversation, marking them for review under the *Review Needed* status.\\n\\nA Q&A isn't created if it is similar to the existing Q&A to avoid duplication.\\n\\n```\\nSatisfactory answer\\n\\n\\n\\nSimilar Q&A found\\n\\n\\n\\nNo answer or \\ntalk to engineer\\n\\n\\n\\nImproves Turing\\n\\n\\n\\nCustomer query\\n\\n\\n\\nTuring\\n\\n\\n\\nConversation \\nresolved\\n\\n\\n\\nNo new Q&As \\ncreated\\n\\n\\n\\nQ&As created\\n```\\n\\nTo enable automatic", + "title": "Questions & answers | 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" + } + ] + }, + { + "query_id": "52d66b53-0b96-45ff-be31-3cc1304ad3c8", + "query": "API token vs Auth token for API calling DevRev", + "retrievals": [ + { + "id": "ART-1170_KNOWLEDGE_NODE-5", + "text": "DevRev APIs on behalf of the corresponding dev user. The lifetime of a PAT is usually in days. The subject of the PAT is set to the corresponding dev users DON (for example, `don:identity:dvrv-us-1:devo/0:devu/30`).\\n\\nPersonal access token usage\\n---------------------------\\n\\nAuthentication to DevRev APIs requires a personal access token (PAT). A PAT is used to uniquely identify a dev user in context of a dev org and can be used by external third-party applications to access DevRev APIs on", + "title": "Authentication | DevRev | Docs" + }, + { + "id": "ART-1389_KNOWLEDGE_NODE-0", + "text": "b'[](/public/api-reference/auth-tokens/security-tokens)\\n\\nPublic\\n\\n[API Reference](/public/api-reference/getting-started)[auth-tokens](/public/api-reference/auth-tokens/security-tokens)\\n\\n#\\n\\nSecurity tokens\\n\\n`auth-tokens` endpoint\\n\\n\\xe2\\x84\\xb9\\xef\\xb8\\x8f Security tokens are required for accessing DevRev. There are four types of security tokens:\\n\\n * **Application Access Token (AAT)** : Uniquely identifies an application belonging to a dev org.\\n * **System User Token (SUT)** :", + "title": "Security tokens \u2014 DevRev | Docs" + }, + { + "id": "ART-1193_KNOWLEDGE_NODE-2", + "text": "helpful?\\n\\nYesNo\\n\\n[Previous](/api-reference/auth-connections/dev-org-auth-connections-update)[#### Create Auth Token\\n\\nNext](/api-reference/auth-tokens/create)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Security tokens | DevRev | Docs" + }, + { + "id": "ART-1193_KNOWLEDGE_NODE-0", + "text": "b'Security tokens | 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\\nSecurity tokens\\n===============\\n\\nCopy page\\n\\n`auth-tokens` endpoint\\n\\n\\xe2\\x84\\xb9\\xef\\xb8\\x8f Security tokens are required for accessing DevRev. There are four types of security tokens:\\n\\n* **Application Access Token (AAT)**: Uniquely identifies an application", + "title": "Security tokens | DevRev | Docs" + }, + { + "id": "ART-1362_KNOWLEDGE_NODE-5", + "text": "APIs on behalf of the corresponding dev user. The lifetime of a PAT is usually in days. The subject of the PAT is set to the corresponding dev users DON (for example, `don:identity:dvrv-us-1:devo/0:devu/30`).\\n\\n## Personal access token usage\\n\\nAuthentication to DevRev APIs requires a personal access token (PAT). A PAT is used to uniquely identify a dev user in context of a dev org and can be used by external third-party applications to access DevRev APIs on behalf of the corresponding dev", + "title": "Authentication \u2014 DevRev | Docs" + }, + { + "id": "ART-1509_KNOWLEDGE_NODE-57", + "text": "is requesting the 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", + "title": "Prepare \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-1305_KNOWLEDGE_NODE-62", + "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": "Get Post \u2014 DevRev | Docs" + }, + { + "id": "ART-1308_KNOWLEDGE_NODE-65", + "text": "application access tokens.\\nrequested_token_type enum Optional\\nThe type of the requested token.\\nShow 17 enum values\\nsubject string Optional\\nThe subject associated with the token. In the absence of this parameter, the ID of the authenticated entity is treated as the subject.\\nResponse.\\n\\nThis endpoint returns an object.\\ntokens list of objects\\nThe list of token metadata.\\nShow 14 properties\\nAPI Reference auth-tokens Self Delete.\\n\\nPOST https:// api.devrev.ai /", + "title": "Update \u2014 DevRev | Docs" + }, + { + "id": "ART-1362_KNOWLEDGE_NODE-6", + "text": "user. A PAT has the same set of privileges that the owner of the PAT has on the DevRev platform. You can set the validity duration of a PAT. You can\\xe2\\x80\\x99t renew a PAT; you can only create a new PAT and update your code to use it. For example, a VS Code plugin that pulls issues from the DevRev platform pertaining to a particular dev user needs to rely on that user\\xe2\\x80\\x99s PAT to authenticate the DevRev APIs. If you are receiving an `invalid token` error, you can check whether the", + "title": "Authentication \u2014 DevRev | Docs" + } + ] + }, + { + "query_id": "dddb78ca-5a57-40e5-ac8f-0655ab359628", + "query": "SLA metrics dashboard filter not retaining selected data point showing all tickets instead of filtered tickets", + "retrievals": [ + { + "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-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-1819_KNOWLEDGE_NODE-259", + "text": "display_id \" : \" display_id \" , 5 \" id \" : \" id \" , 6 \" modified_date \" : \" 2023-01-01T12:00:00Z \" , 7 \" applies_to_id \" : \" applies_to_id \" , 8 \" metric_target_summaries \" : [ 9 { 10 \" breached_at \" : \" 2023-01-01T12:00:00Z \" , 11 \" metric_definition \" : { 12 \" id \" : \" id \" 13 } , 14 \" next_schedule_transition \" : \" 2023-01-01T12:00:00Z \" , 15 \" stage \" : \" stage \" , 16 \" target_time \" : \" 2023-01-01T12:00:00Z \" , 17 \" warning_target_time \" : \" 2023-01-01T12:00:00Z \" 18 } 19 ] , 20 \"", + "title": "Sla Trackers Get \u2014 DevRev | Docs" + }, + { + "id": "ART-1819_KNOWLEDGE_NODE-256", + "text": "2023-01-01T12:00:00Z \" , 4 \" display_id \" : \" display_id \" , 5 \" id \" : \" id \" , 6 \" modified_date \" : \" 2023-01-01T12:00:00Z \" , 7 \" applies_to_id \" : \" applies_to_id \" , 8 \" metric_target_summaries \" : [ 9 { 10 \" breached_at \" : \" 2023-01-01T12:00:00Z \" , 11 \" metric_definition \" : { 12 \" id \" : \" id \" 13 } , 14 \" next_schedule_transition \" : \" 2023-01-01T12:00:00Z \" , 15 \" stage \" : \" stage \" , 16 \" target_time \" : \" 2023-01-01T12:00:00Z \" , 17 \" warning_target_time \" : \"", + "title": "Sla Trackers Get \u2014 DevRev | Docs" + }, + { + "id": "ART-1819_KNOWLEDGE_NODE-250", + "text": "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 sort order. If not set, then no prior elements exist.\\nAPI Reference slas Metric Definitions List Post.\\n\\nPOST https:// api.devrev.ai / metric-definitions.list\\nLists metric definitions matching a filter.\\nRequest.\\n\\nThis endpoint expects an object.\\ntype list of \"time\" or \"value\" Optional\\nAllowed values: time value\\nThe type of metric", + "title": "Sla Trackers Get \u2014 DevRev | Docs" + }, + { + "id": "ART-1818_KNOWLEDGE_NODE-250", + "text": "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 sort order. If not set, then no prior elements exist.\\nAPI Reference slas Metric Definitions List Post.\\n\\nPOST https:// api.devrev.ai / metric-definitions.list\\nLists metric definitions matching a filter.\\nRequest.\\n\\nThis endpoint expects an object.\\ntype list of \"time\" or \"value\" Optional\\nAllowed values: time value\\nThe type of metric", + "title": "Sla Trackers Get Post \u2014 DevRev | Docs" + }, + { + "id": "ART-1818_KNOWLEDGE_NODE-258", + "text": "2023-01-01T12:00:00Z \" , 7 \" applies_to_id \" : \" applies_to_id \" , 8 \" metric_target_summaries \" : [ 9 { 10 \" breached_at \" : \" 2023-01-01T12:00:00Z \" , 11 \" metric_definition \" : { 12 \" id \" : \" id \" 13 } , 14 \" next_schedule_transition \" : \" 2023-01-01T12:00:00Z \" , 15 \" stage \" : \" stage \" , 16 \" target_time \" : \" 2023-01-01T12:00:00Z \" , 17 \" warning_target_time \" : \" 2023-01-01T12:00:00Z \" 18 } 19 ] , 20 \" removed_sla_metric_history \" : [ 21 { 22 \" key \" : \" value \" 23 } 24 ] , 25 \" sla \"", + "title": "Sla Trackers Get Post \u2014 DevRev | Docs" + }, + { + "id": "ART-1818_KNOWLEDGE_NODE-255", + "text": "id \" : \" id \" , 6 \" modified_date \" : \" 2023-01-01T12:00:00Z \" , 7 \" applies_to_id \" : \" applies_to_id \" , 8 \" metric_target_summaries \" : [ 9 { 10 \" breached_at \" : \" 2023-01-01T12:00:00Z \" , 11 \" metric_definition \" : { 12 \" id \" : \" id \" 13 } , 14 \" next_schedule_transition \" : \" 2023-01-01T12:00:00Z \" , 15 \" stage \" : \" stage \" , 16 \" target_time \" : \" 2023-01-01T12:00:00Z \" , 17 \" warning_target_time \" : \" 2023-01-01T12:00:00Z \" 18 } 19 ] , 20 \" removed_sla_metric_history \" : [ 21 { 22 \"", + "title": "Sla Trackers Get Post \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-4233_KNOWLEDGE_NODE-10", + "text": "with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Remove SLA Tracker Metric | DevRev | Docs" + } + ] + }, + { + "query_id": "bebe20f1-dbce-4aaf-8ca4-28bfc94500c3", + "query": "automatically change ticket stage when customer responds", + "retrievals": [ + { + "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-2016_KNOWLEDGE_NODE-24", + "text": "[Snap-ins](/docs/snapins)\\n[Automate](/docs/automate)\\n[StageFlow automator](/docs/automations/stageflow-automator)\\n\\nStageFlow Automator\\n===================\\n\\nThe StageFlow Automator is a custom snap-in that allows you to configure custom stages between tickets and issues/enhancements. You can also configure the stage transition whenever a message is given by a customer or a support team member.\\nIt also sends notifications to the ticket owner based on its stage changes.\\n\\n![]()\\n\\nFor", + "title": "StageFlow automator | Automate | Snap-ins | 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-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-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", + "title": "Tickets | 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-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-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-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-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" + } + ] + }, + { + "query_id": "eeedb1ab-bd3a-420d-b9a0-ecb2ce0e8835", + "query": "Article 471 not viewable from internal and external links", + "retrievals": [ + { + "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-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-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-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-15726_KNOWLEDGE_NODE-0", + "text": "b\"If you just imported a bunch of articles from your favorite external system, but can't see them in DevRev, the most important question to ask yourself is whether that article was shared with you in the external system. Airdrop is permission-aware for articles, so if an article (or document, or page, whatever gets imported as an Airdrop article) was not shared with you in the external system, then you won't have access to it in DevRev (even if you're an admin), assuming the default visibility", + "title": "Visibility of Airdrop-imported articles" + }, + { + "id": "ART-2143_KNOWLEDGE_NODE-10", + "text": "Error\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/beta/api-reference/customization/custom-link-type-get-post)[#### List Link Types Custom (POST)\\n\\nNext](/beta/api-reference/customization/custom-link-type-list-post)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "List Link Types Custom | DevRev | Docs" + }, + { + "id": "ART-2140_KNOWLEDGE_NODE-6", + "text": "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](/beta/api-reference/customization/custom-link-type-get)[#### List Link Types Custom\\n\\nNext](/beta/api-reference/customization/custom-link-type-list)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Get Link Types Custom (POST) | DevRev | Docs" + }, + { + "id": "ART-1500_KNOWLEDGE_NODE-3", + "text": "article.\\n\\npublished_versionstringOptional\\n\\nUpdates the the latest published version.\\n\\nreorderobjectOptional\\n\\nShow 2 properties\\n\\nshared_withobjectOptional\\n\\nShow property\\n\\nstatusenumOptional\\n\\nAllowed values: archiveddraftpublishedreview_needed\\n\\nStatus of the article.\\n\\ntagsobjectOptional\\n\\nShow property\\n\\ntitlestringOptional\\n\\nUpdated title of the article object, or unchanged if not provided.\\n\\nurlstringOptional\\n\\nUpdates the URL of the external article.\\n\\n###", + "title": "Update Article (Beta) \u2014 DevRev | Docs" + }, + { + "id": "ART-2144_KNOWLEDGE_NODE-7", + "text": "of the custom link type.\\n\\ndeprecatedbooleanOptionalDeprecated\\n\\nWhether the link type is deprecated.\\n\\n### Response\\n\\nSuccess.\\n\\ncustom\\\\_link\\\\_typeobject\\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", + "title": "Update Link Types Custom | DevRev | Docs" + }, + { + "id": "ART-17230_KNOWLEDGE_NODE-14", + "text": "\\xe2\\x80\\x9cdocuments\\xe2\\x80\\x9d).\\nThe platform replaces the mention with the corresponding DevRev article ID and adds the appropriate href attribute.\\n\\nWas this page helpful?\\n\\nYesNo\\n\\n[Previous](/airsync/supported-object-types)[#### Permissions\\n\\nNext](/airsync/data-model/permissions)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Rich text fields | DevRev | Docs" + } + ] + }, + { + "query_id": "5ba078dd-a7f8-4793-a41d-5ed9db2f8f22", + "query": "change Stage state in stage library", + "retrievals": [ + { + "id": "ART-15347_KNOWLEDGE_NODE-7", + "text": "with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Update Stage Diagram | DevRev | Docs" + }, + { + "id": "ART-15356_KNOWLEDGE_NODE-6", + "text": "helpful?\\n\\nYesNo\\n\\n[Previous](/api-reference/customization/stage-diagrams-update)[#### Get Stages Custom\\n\\nNext](/api-reference/customization/custom-stages-get)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Create Stages Custom | DevRev | Docs" + }, + { + "id": "ART-15487_KNOWLEDGE_NODE-46", + "text": "\"don:core:dvrv-us-1:devo/test:stage/3\", |\\n| > | \"transitions\": [ |\\n| > | { |\\n| > | \"target_stage_id\": \"don:core:dvrv-us-1:devo/test:stage/4\" |\\n| > | } |\\n| > | ] |\\n| > | }, |\\n| > | { |\\n| > | \"stage_id\": \"don:core:dvrv-us-1:devo/test:stage/4\", |\\n| > | } |\\n| > | ] |\\n| > | }\\' |\\n```\\n\\n##### \\n\\nIt is important to specify the start stage for the diagram. This is the default stage that gets assigned to the newly created objects.\\n\\n### Apply stage diagrams\\n\\nThe stage diagram created", + "title": "Object customization | DevRev | Docs" + }, + { + "id": "ART-3896_KNOWLEDGE_NODE-2", + "text": "diagram applies to.\\n\\nnamestringRequired`format: \"text\"`\\n\\nThe name of the stage diagram. Stage diagram is used for defining stage transitions.\\n\\nstageslist of objectsRequired\\n\\nList of stages in the diagram.\\n\\nShow 4 properties\\n\\nis_custom_leaf_typebooleanOptional\\n\\nWhether the leaf type corresponds to a custom object.\\n\\nis_defaultbooleanOptional\\n\\nWhether this is a default stage diagram.\\n\\n### Response\\n\\nSuccess.\\n\\nstage_diagramobject\\n\\nShow 11 properties\\n\\n###", + "title": "Create Stage Diagram (Beta) \u2014 DevRev | Docs" + }, + { + "id": "ART-15344_KNOWLEDGE_NODE-7", + "text": "with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Get Stage Diagram | DevRev | Docs" + }, + { + "id": "ART-1566_KNOWLEDGE_NODE-154", + "text": "stages.custom.create\\n\\nCreates a custom stage.\\n\\nRequest.\\n\\nThis endpoint expects an object.\\nname string Required\\n\\nThe name of the custom stage.\\n\\nordinal integer Required\\n\\nThe ordinal of the custom stage used for ordering.\\n\\nstate string Required\\n\\nThe state ID.\\n\\nmarketplace_ref string Optional\\n\\nA reference to the marketplace item from which this stage was imported.\\n\\nResponse.\\n\\nThis endpoint returns an object.\\ncustom_stage object\\nShow 9 properties\\nAPI Reference", + "title": "Transition (Beta) \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-15352_KNOWLEDGE_NODE-7", + "text": "Diagrams\\n\\nNext](/api-reference/customization/stage-diagrams-list)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Get Stage Diagram (POST) | DevRev | Docs" + }, + { + "id": "ART-15344_KNOWLEDGE_NODE-5", + "text": "parameters\\n\\nidstringOptional`format: \"id\"`\\n\\nThe ID of the stage diagram to get.\\n\\nis\\\\_custom\\\\_leaf\\\\_typebooleanOptional\\n\\nWhether the leaf type corresponds to a custom object. Specify this\\nalong with leaf\\\\_type to get the default custom object stage diagram.\\n\\nleaf\\\\_typestringOptional`format: \"text\"`\\n\\nThe leaf type. Should be specified to retrieve the default stage\\ndiagram for the leaf type. If not provided, then id is used.\\n\\n###", + "title": "Get Stage Diagram | DevRev | Docs" + }, + { + "id": "ART-1566_KNOWLEDGE_NODE-155", + "text": "customization Custom Stages Get.\\n\\nGET https://api.devrev.ai / stages.custom.get\\n\\nGets a custom stage.\\n\\nQuery parameters.\\n\\nid string Required\\n\\nThe ID of the custom stage to get.\\n\\nResponse.\\n\\nThis endpoint returns an object.\\ncustom_stage object\\nShow 9 properties\\nAPI Reference customization Custom Stages Get Post.\\n\\nPOST https://api.devrev.ai / stages.custom.get\\n\\nGets a custom stage.\\n\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\n\\nThe ID of the custom", + "title": "Transition (Beta) \u2014 DevRev | Docs" + } + ] + }, + { + "query_id": "d19ed0b4-ecf0-4ac7-b4d3-23c16b1a1d34", + "query": "Google Calendar Snap-in connection setup authentication issue", + "retrievals": [ + { + "id": "ART-16804_KNOWLEDGE_NODE-27", + "text": "already exists, you can reuse it; otherwise, click **Add\\n Connection**. \\n In the connection modal, click **Sign in with snap-in** (with the Google\\n Calendar icon), enter a connection name, and proceed to **authorize via your\\n Google account using OAuth**. \\n Provide the necessary permissions and click **Continue** to complete the\\n setup.\\n5. Once the connection is established, select the calendars you want to import\\n and specify the DevRev part that should be used for any", + "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-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-29", + "text": "the\\nimported account:\\n\\n* **Sync to DevRev**\\n\\n This option synchronizes new or updated calendar events into DevRev since the\\n last import.\\n* **View Report**\\n\\n Access detailed information about the initial import and subsequent syncs.\\n* **Delete Import**\\n\\n Remove the import and all associated calendar data from DevRev.\\n* **Edit Connection**\\n\\n Update the connection credentials for subsequent syncs.\\n\\n### Sync to DevRev\\n\\nAfter a successful import from Google Calendar, you can", + "title": "Google Calendar AirSync | 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-25", + "text": "DevRev ecosystem.\\n\\n![]()\\n\\nTo install, visit [Google Calendar snap-in](https://marketplace.devrev.ai/google-calendar) on the DevRev marketplace.\\n\\nLet's set up Google Calendar for you\\n------------------------------------\\n\\n### Installation\\n\\nWe support two types of Google Calendar configuration:\\n\\n* **Organization calendar sync**: Sync your organization's Google Calendar with DevRev.\\n* **User calendar sync**: Sync your personal Google Calendar with DevRev.\\n\\n1. Go to the **Snap-ins**", + "title": "Google Calendar | 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-30", + "text": "sync\\n\\n1. Update the snap-in configurations as needed.\\n\\n * **Calendar ID**: ID of Google calendar to be synced with 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 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", + "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-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" + } + ] + }, + { + "query_id": "b12c9aeb-8e20-445c-86d6-81a2106f5625", + "query": "create custom link type using API between custom object Messaging and ticket", + "retrievals": [ + { + "id": "ART-15664_KNOWLEDGE_NODE-6", + "text": "you want to establish a parent-child relationship between tickets and a custom object\\ntype called \\xe2\\x80\\x9cCampaign\\xe2\\x80\\x9d. This relationship helps track which tickets are assigned to which campaigns.\\n\\nTo create this relationship, make an API call to create a link type:\\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 \\'", + "title": "Links | 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-2140_KNOWLEDGE_NODE-1", + "text": "https://api.devrev.ai/link-types.custom.get \\\\ |\\n| > | -H \"Authorization: Bearer \" \\\\ |\\n| > | -H \"Content-Type: application/json\" \\\\ |\\n| > | -d \\'{ |\\n| > | \"id\": \"string\" |\\n| > | }\\' |\\n```\\n\\n[Try it](/beta/api-reference/customization/custom-link-type-get-post?explorer=true)\\n\\n200Successful\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | { |\\n| 2 | \"custom_link_type\": { |\\n| 3 | \"id\": \"string\", |\\n| 4 | \"source_types\": [ |\\n| 5 | { |\\n| 6 | \"is_custom_leaf_type\": true, |\\n| 7 | \"leaf_only\":", + "title": "Get Link Types Custom (POST) | DevRev | Docs" + }, + { + "id": "ART-1591_KNOWLEDGE_NODE-196", + "text": "an object.\\ncustom_link_type object\\nShow 6 properties\\nAPI Reference customization Custom Link Type Get Post.\\n\\nPOST https:// api.devrev.ai / link-types.custom.get\\nGets a custom link type.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the custom link type to get.\\nResponse.\\n\\nThis endpoint returns an object.\\ncustom_link_type object\\nShow 6 properties\\nAPI Reference customization Custom Link Type List.\\n\\nGET https:// api.devrev.ai /", + "title": "Create \u2014 DevRev | Docs" + }, + { + "id": "ART-1605_KNOWLEDGE_NODE-196", + "text": "an object.\\ncustom_link_type object\\nShow 6 properties\\nAPI Reference customization Custom Link Type Get Post.\\n\\nPOST https:// api.devrev.ai / link-types.custom.get\\nGets a custom link type.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the custom link type to get.\\nResponse.\\n\\nThis endpoint returns an object.\\ncustom_link_type object\\nShow 6 properties\\nAPI Reference customization Custom Link Type List.\\n\\nGET https:// api.devrev.ai /", + "title": "Create \u2014 DevRev | Docs" + }, + { + "id": "ART-1649_KNOWLEDGE_NODE-196", + "text": "an object.\\ncustom_link_type object\\nShow 6 properties\\nAPI Reference customization Custom Link Type Get Post.\\n\\nPOST https:// api.devrev.ai / link-types.custom.get\\nGets a custom link type.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the custom link type to get.\\nResponse.\\n\\nThis endpoint returns an object.\\ncustom_link_type object\\nShow 6 properties\\nAPI Reference customization Custom Link Type List.\\n\\nGET https:// api.devrev.ai /", + "title": "Create \u2014 DevRev | Docs" + }, + { + "id": "ART-1651_KNOWLEDGE_NODE-196", + "text": "an object.\\ncustom_link_type object\\nShow 6 properties\\nAPI Reference customization Custom Link Type Get Post.\\n\\nPOST https:// api.devrev.ai / link-types.custom.get\\nGets a custom link type.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the custom link type to get.\\nResponse.\\n\\nThis endpoint returns an object.\\ncustom_link_type object\\nShow 6 properties\\nAPI Reference customization Custom Link Type List.\\n\\nGET https:// api.devrev.ai /", + "title": "Create \u2014 DevRev | Docs" + }, + { + "id": "ART-1822_KNOWLEDGE_NODE-196", + "text": "an object.\\ncustom_link_type object\\nShow 6 properties\\nAPI Reference customization Custom Link Type Get Post.\\n\\nPOST https:// api.devrev.ai / link-types.custom.get\\nGets a custom link type.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the custom link type to get.\\nResponse.\\n\\nThis endpoint returns an object.\\ncustom_link_type object\\nShow 6 properties\\nAPI Reference customization Custom Link Type List.\\n\\nGET https:// api.devrev.ai /", + "title": "Create \u2014 DevRev | Docs" + }, + { + "id": "ART-1832_KNOWLEDGE_NODE-196", + "text": "an object.\\ncustom_link_type object\\nShow 6 properties\\nAPI Reference customization Custom Link Type Get Post.\\n\\nPOST https:// api.devrev.ai / link-types.custom.get\\nGets a custom link type.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the custom link type to get.\\nResponse.\\n\\nThis endpoint returns an object.\\ncustom_link_type object\\nShow 6 properties\\nAPI Reference customization Custom Link Type List.\\n\\nGET https:// api.devrev.ai /", + "title": "Create \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" + } + ] + }, + { + "query_id": "20faf5a6-ef05-4cbd-9521-445da7a7fb32", + "query": "where can I view my articles in DevRev", + "retrievals": [ + { + "id": "ART-15291_KNOWLEDGE_NODE-10", + "text": "with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Get Article (POST) | DevRev | Docs" + }, + { + "id": "ART-1499_KNOWLEDGE_NODE-9", + "text": "with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)\\n\\n'", + "title": "List Articles (Beta) \u2014 DevRev | Docs" + }, + { + "id": "ART-1507_KNOWLEDGE_NODE-10", + "text": "with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)\\n\\n'", + "title": "List Articles (POST) (Beta) \u2014 DevRev | Docs" + }, + { + "id": "ART-4065_KNOWLEDGE_NODE-9", + "text": "demo](https://devrev.ai/request-a-demo)\\n\\n'", + "title": "Delete Article \u2014 DevRev | Docs" + }, + { + "id": "ART-15295_KNOWLEDGE_NODE-14", + "text": "List Articles (POST)\\n\\nNext](/api-reference/articles/list-articles-post)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "List Articles | DevRev | Docs" + }, + { + "id": "ART-1504_KNOWLEDGE_NODE-8", + "text": "Next](/beta/api-reference/articles/list-articles)\\n\\n[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)\\n\\n'", + "title": "Get Article (POST) (Beta) \u2014 DevRev | Docs" + }, + { + "id": "ART-15289_KNOWLEDGE_NODE-3", + "text": "with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Delete Article | DevRev | Docs" + }, + { + "id": "ART-1272_KNOWLEDGE_NODE-18", + "text": "with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Concepts | DevRev | Docs" + }, + { + "id": "ART-15375_KNOWLEDGE_NODE-5", + "text": "with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Get Dev Org | DevRev | Docs" + }, + { + "id": "ART-1315_KNOWLEDGE_NODE-2", + "text": "with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)\\n\\n'", + "title": "Delete Article (Beta) \u2014 DevRev | Docs" + } + ] + }, + { + "query_id": "1c5b7688-c7be-4bd9-a540-4eaf83e80670", + "query": "Next Best Action recommendations based on case context and history", + "retrievals": [ + { + "id": "ART-1437_KNOWLEDGE_NODE-13", + "text": "[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 * [Careers](https://devrev.ai/careers)\\n *", + "title": "List Timeline Entries (POST) \u2014 DevRev | Docs" + }, + { + "id": "ART-17515_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": "AI use cases in DevRev | Computer by DevRev | DevRev" + }, + { + "id": "ART-1672_KNOWLEDGE_NODE-7", + "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 States Custom (POST) (Beta) \u2014 DevRev | Docs" + }, + { + "id": "ART-1426_KNOWLEDGE_NODE-12", + "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": "List Timeline Entries \u2014 DevRev | Docs" + }, + { + "id": "ART-1428_KNOWLEDGE_NODE-10", + "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": "Update Timeline Entry \u2014 DevRev | Docs" + }, + { + "id": "ART-1425_KNOWLEDGE_NODE-9", + "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": "Get Timeline Entry \u2014 DevRev | Docs" + }, + { + "id": "ART-1678_KNOWLEDGE_NODE-7", + "text": "[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 * [Careers](https://devrev.ai/careers)\\n *", + "title": "Get States Custom (Beta) \u2014 DevRev | Docs" + }, + { + "id": "ART-1423_KNOWLEDGE_NODE-9", + "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": "Create Timeline Entry \u2014 DevRev | Docs" + }, + { + "id": "ART-1435_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 Timeline Entry (POST) \u2014 DevRev | Docs" + }, + { + "id": "ART-17515_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": "AI use cases in DevRev | Computer by DevRev | DevRev" + } + ] + }, + { + "query_id": "f7f17717-1b4b-40c4-be08-730ba25da4c8", + "query": "Pro license pricing cost subscription plan", + "retrievals": [ + { + "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" + }, + { + "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-15627_KNOWLEDGE_NODE-12", + "text": "startups? Yes, DevRev has a \"DevRev for Startups\" program. Contact sales for more information about startup-specific pricing and discounts. Can I switch between plans? Yes, you can upgrade or modify your plan as your business needs change. The tiered structure is designed to scale with your organization. What happens if I exceed my usage limits? For consumption-based services, you\\'ll be charged according to the add-on pricing structure. For other limits, you may need to upgrade to a higher", + "title": "DevRev Pricing - for the PLuG on the website" + }, + { + "id": "ART-15627_KNOWLEDGE_NODE-5", + "text": "included in Build Pro ($24.99/month)?\\n\\nEverything in Starter\\n\\nCustomizable issue management\\n\\nAdvanced reporting & analytics\\n\\n45-day free trial\\n\\nWhat\\'s included in Build Ultimate?\\n\\nEverything in Pro\\n\\nFull object model customization and unlimited integrations\\n\\nEnterprise-grade security, compliance, controls, and policies\\n\\nDevRev PLuG Pricing For detailed pricing and to get started: \\xc2\\xa0 https://devrev.ai/pricing/plug What are the PLuG pricing options?\\n\\nFree : AI-powered", + "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:", + "title": "DevRev Pricing" + }, + { + "id": "ART-962_KNOWLEDGE_NODE-4", + "text": "Limited functionality for individual users and small teams.\\n\\n4. Summary:\\n\\nDevRev offers flexible pricing to cater to diverse needs.\\n\\nSmall teams can start with the Starter plan and scale up as needed.\\n\\nLarger organizations may benefit from Pro or Ultimate plans.\\n\\nUsage-based costs add transparency and control over spending.\\n\\nCarefully assess your team size, usage patterns, and desired features before choosing a plan.'", + "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-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.'", + "title": "DevRev Pricing - for the PLuG on the website" + }, + { + "id": "ART-15627_KNOWLEDGE_NODE-11", + "text": "monthly active conversation (Anonymous User): $0.01\\n\\nPer monthly active conversation (Verified User): $0.45\\n\\nStorage:\\n\\nAdditional File storage (per extra GB): $2.00\\n\\nAdditional Base storage (per extra GB): $25.00\\n\\nOptional Add-ons:\\n\\nAuthorization roles and profiles (per MAU): $10.00\\n\\nAre there any limits to API usage? Based on the pricing tier you choose, rate and quantity limits may apply to certain API calls. Specific limits vary by plan tier. Does DevRev offer discounts for", + "title": "DevRev Pricing - for the PLuG on the website" + }, + { + "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" + } + ] + }, + { + "query_id": "4097c810-fcbe-42a6-93bb-79a94adf0faa", + "query": "count tickets with customer CSAT review", + "retrievals": [ + { + "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-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-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-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-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-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-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-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-1003_KNOWLEDGE_NODE-23", + "text": "CURRENT_DATE);\\n-- NOTE: Replace @period with 'DAY', 'WEEK', 'MONTH', or 'QUARTER'.\\n\\n\\nTicket Backlog\\n\\n\\n Definition\\n \\n The number of unresolved support tickets at any given time, which can indicate workload and efficiency issues.\\n \\n \\n Calculation\\n \\n (Total number of open tickets) - (Total number of tickets closed during a specific period)\\n \\n \\n\\n\\nSELECT (COUNT(*) - (SELECT COUNT(*) FROM tickets WHERE status = 'closed' AND EXTRACT(@period FROM created_at)", + "title": "Understanding a Support Lead's Pain Points and KPIs" + }, + { + "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" + } + ] + }, + { + "query_id": "490c9edc-3bd6-40c6-9fc1-381ffa7f0dc0", + "query": "save filters in support portal", + "retrievals": [ + { + "id": "ART-3195_KNOWLEDGE_NODE-3", + "text": "query parameter `state` for filtering works\\n* This affects the following endpoints:\\n + [`/works.export`](/beta/api-reference/works/export-post)\\n + [`/works.list`](/beta/api-reference/works/list-post)\\n\\nThe changes are primarily focused on:\\n\\n1. Adding support for meetings in link objects\\n2. Enhancing SLA tracking capabilities with new properties\\n3. Adding account filtering to SLAs\\n4. Adding state filtering capability for works endpoints\\n\\nAll modified endpoints continue to maintain", + "title": "January 17, 2025 | DevRev | Docs" + }, + { + "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-15487_KNOWLEDGE_NODE-10", + "text": "\"bug\", |\\n| > | \"subtype_display_name\": \"Bug\", |\\n| > | \"fields\": [ |\\n| > | { |\\n| > | \"name\": \"impacted_environments\", |\\n| > | \"field_type\": \"array\", |\\n| > | \"base_type\": \"enum\", |\\n| > | \"allowed_values\": [ \"Dev\", \"QA\", \"Prod\" ], |\\n| > | \"is_filterable\": true, |\\n| > | \"ui\": { |\\n| > | \"display_name\": \"Impacted Environments\", |\\n| > | } |\\n| > | }, |\\n| > | { |\\n| > | \"name\": \"regression\", |\\n| > | \"field_type\": \"bool\", |\\n| > | \"ui\": { |\\n| > | \"display_name\": \"Regression\", |\\n| > | }", + "title": "Object customization | 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-3193_KNOWLEDGE_NODE-3", + "text": "[`/slas.update`](/public/api-reference/slas/update)\\n\\nChanges:\\n\\n * Added `account_filter` property to SLA schema\\n\\n## Works\\n\\nThe following endpoints have been updated:\\n\\n * [`/works.export`](/public/api-reference/works/export-post)\\n * [`/works.list`](/public/api-reference/works/list-post)\\n\\nChanges:\\n\\n * Added new query parameter `state` to filter works\\n\\nAll work-related endpoints have also been updated to include the new SLA tracker schema changes mentioned above in their", + "title": "API Changes \u2014 DevRev | Docs" + }, + { + "id": "ART-15476_KNOWLEDGE_NODE-3", + "text": "[`/conversations.update`](/public/api-reference/conversations/update) - Made empty owner sets allowed (removed min items constraint)\\n\\n### Groups\\n\\nAdded new filters to [`/groups.list`](/public/api-reference/groups/list-post):\\n\\n* `created_by`\\n* `name`\\n* `sync_metadata` related filters\\n\\n### SLAs\\n\\nAdded `tier` support to account selector in:\\n\\n* [`/slas.create`](/public/api-reference/slas/create)\\n* [`/slas.update`](/public/api-reference/slas/update)\\n\\n### Webhooks\\n\\nAdded new event", + "title": "May 19, 2025 | 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-1818_KNOWLEDGE_NODE-11", + "text": "string Optional\\nArray of display names of accounts to be filtered.\\ndomains string Optional\\nDomains for accounts to be filtered.\\nexternal_refs string Optional\\nArray of references of accounts to be filtered.\\nlimit integer Optional\\nThe maximum number of accounts to return per page. The default is \\'50\\'.\\nmode \"after\" or \"before\" Optional\\nThe iteration mode to use, otherwise if not set, then \"after\" is used.\\nAllowed values: after before\\nmodified_date.after datetime Optional\\nFilters for", + "title": "Sla Trackers Get Post \u2014 DevRev | Docs" + }, + { + "id": "ART-12392_KNOWLEDGE_NODE-25", + "text": "| --- | --- |\\n| Account created | Filter conditions | Account object |\\n| Account updated | Filter conditions | Account object |\\n| Contact created | Filter conditions | Customer User object |\\n| Contact updated | Filter conditions | User object |\\n| Enhancement updated | Filter conditions | Enhancement object |\\n| Incident updated | Filter conditions | Incident object |\\n| Issue created | Filter conditions | Issue object |\\n| Issue linked With object | Filter conditions | Issue and linked", + "title": "Triggers | Workflows | Computer by DevRev | DevRev" + }, + { + "id": "ART-15422_KNOWLEDGE_NODE-7", + "text": "stringsOptional\\n\\nSubtypes of meeting to be filtered.\\n\\nsync\\\\_metadata.external\\\\_referencelist of stringsOptional\\n\\nFilters for issues with this specific external reference.\\n\\nsync\\\\_metadata.last\\\\_sync\\\\_in.statuslist of enumsOptional\\n\\nFilters for works with selected sync statuses.\\n\\nAllowed values:failedmodifiedstagedsucceeded\\n\\nsync\\\\_metadata.last\\\\_sync\\\\_in.sync\\\\_historylist of stringsOptional\\n\\nFilters for works modified with selected sync", + "title": "List Meetings | DevRev | Docs" + } + ] + }, + { + "query_id": "69e781a5-eec6-40f6-8525-607c3ce2fd31", + "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", + "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-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-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-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-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-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-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" + } + ] + }, + { + "query_id": "36a2db4e-e3e0-449e-bbad-a5de52e5141c", + "query": "control email notifications for new conversation", + "retrievals": [ + { + "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" + }, + { + "id": "ART-1953_KNOWLEDGE_NODE-25", + "text": "[Computer by DevRev](/docs/intro)\\n[Customer email notifications](/docs/product/customer-emails)\\n\\nCustomer email notifications\\n============================\\n\\nAt DevRev, our commitment is to streamline collaboration and ensure that the teams and their customers are always in the loop. To help achieve this, we\\'ve established specific email notification rules. This section describes when and how email notifications are triggered within the DevRev platform.\\n\\n![]()\\n\\nThe email senders and", + "title": "Customer email notifications | Computer by DevRev | 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-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-3207_KNOWLEDGE_NODE-25", + "text": "Emails](#step-3-add-additional-support-emails)\\n* [Step 4: Set the Default Part and Owner](#step-4-set-the-default-part-and-owner)\\n* [Step 5: Personalization settings](#step-5-personalization-settings)\\n* [Step 6: Auto-Reply & Threading Features](#step-6-autoreply-threading-features)\\n* [Step 7: Notifications and Anti-Spam Settings](#step-7-notifications-and-antispam-settings)\\n* [Step 8: Set Up Personalized Preferences (Optional)](#step-8-set-up-personalized-preferences-optional)\\n* [3.", + "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-3207_KNOWLEDGE_NODE-58", + "text": "Owner](#step-4-set-the-default-part-and-owner)\\n* [Step 5: Personalization settings](#step-5-personalization-settings)\\n* [Step 6: Auto-Reply & Threading Features](#step-6-autoreply-threading-features)\\n* [Step 7: Notifications and Anti-Spam Settings](#step-7-notifications-and-antispam-settings)\\n* [Step 8: Set Up Personalized Preferences (Optional)](#step-8-set-up-personalized-preferences-optional)\\n* [3. Configure email forwarding for your email", + "title": "Email snap-in configuration | Email | Integrate | Snap-ins | DevRev" + }, + { + "id": "ART-3068_KNOWLEDGE_NODE-24", + "text": "[Documentation](/docs)\\n3. [Snap-ins](/docs/snapins)\\n[Automate](/docs/automate)\\n[Conversation reminder](/docs/automations/conversation-reminder)\\n\\nConversation reminder\\n=====================\\n\\nThe Conversation Reminder Snap-in is designed to automatically send a\\nnotification to the customer who initiated the conversation if it remains in\\n\"Waiting on User\" stage for an extended period, as defined in the configured\\ntime settings. The notification message sent to the customer can be", + "title": "Conversation reminder | Automate | Snap-ins | 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", + "title": "Customer email notifications | Computer by DevRev | DevRev" + }, + { + "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" + } + ] + }, + { + "query_id": "0356839f-87ec-43ff-9844-4c0e5e5ba032", + "query": "create mandatory field time log spent on a ticket", + "retrievals": [ + { + "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-15688_KNOWLEDGE_NODE-26", + "text": "set, the default is 365 days.\\n\\n![]()\\n\\nConfigure the appropriate roles and permissions to access and modify the custom effort log objects based on your organization's requirements.\\n\\nFeatures\\n--------\\n\\n* **Effort logging**: Log hours and minutes worked against objects\\n* **Date validation**: Automatic date format validation with MM/DD/YYYY support\\n* **Custom schema management**: Automatic creation and validation of custom schema fragments\\n* **Timeline integration**: Create timeline", + "title": "Effort logger | Automate | Snap-ins | DevRev" + }, + { + "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,", + "title": "Effort logger | Automate | Snap-ins | DevRev" + }, + { + "id": "ART-15688_KNOWLEDGE_NODE-27", + "text": "entries for effort logs and error messages\\n* **Data validation**: Comprehensive validation of required fields and data types\\n* **Error handling**: Robust error handling with detailed error messages\\n* **Zero effort prevention**: Prevents logging when both hours and minutes are zero\\n* **Date range validation**: Ensures dates are within acceptable range (last 10 days to next 10 days)\\n* **Automatic cleanup**: Removes timeline entries when logging effort\\n* **Custom object storage**: Stores", + "title": "Effort logger | Automate | Snap-ins | DevRev" + }, + { + "id": "ART-1957_KNOWLEDGE_NODE-30", + "text": "+ **Number**: You can add numbers in this field.\\n + **Double**: You can add decimal numbers in this field.\\n + **Boolean**: You can add input which is either 0 or 1. When you add this input field the user can toggle on or off this option.\\n + **Dropdown**: You can select the options from the dropdown. Add options using **Dropdown options** > \\\\**+ Add* in the value definitions section.\\n + **Timestamp**: You can add the date and exact time in this field.\\n + **Date**: You", + "title": "Object customization | Computer by DevRev | 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-1003_KNOWLEDGE_NODE-23", + "text": "CURRENT_DATE);\\n-- NOTE: Replace @period with 'DAY', 'WEEK', 'MONTH', or 'QUARTER'.\\n\\n\\nTicket Backlog\\n\\n\\n Definition\\n \\n The number of unresolved support tickets at any given time, which can indicate workload and efficiency issues.\\n \\n \\n Calculation\\n \\n (Total number of open tickets) - (Total number of tickets closed during a specific period)\\n \\n \\n\\n\\nSELECT (COUNT(*) - (SELECT COUNT(*) FROM tickets WHERE status = 'closed' AND EXTRACT(@period FROM created_at)", + "title": "Understanding a Support Lead's Pain Points and KPIs" + }, + { + "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-15691_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": "May 2025 | Changelog | DevRev" + }, + { + "id": "ART-4233_KNOWLEDGE_NODE-3", + "text": "\"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\": \"2023-01-01T12:00:00.000Z\", |\\n| 29 | \"warning_target_time\": \"2023-01-01T12:00:00.000Z\" |\\n| 30 | } |\\n| 31 | ], |\\n| 32 | \"applies_to_id\": \"string\", |\\n| 33 | \"applies_to_type\": \"conversation\", |\\n| 34 | \"created_by\": { |\\n| 35 |", + "title": "Remove SLA Tracker Metric | DevRev | Docs" + } + ] + }, + { + "query_id": "688b4c65-6882-4450-9a0a-ab28df4fd6e7", + "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", + "title": "Customer portal | Computer for Support Teams | DevRev" + }, + { + "id": "ART-2053_KNOWLEDGE_NODE-53", + "text": "to successfully map issues to their respective subtypes in DevRev. It is advisable to check beforehand if the user can create issues in the project they wish to import to DevRev.\\n* **read OAuth scope (Jira Cloud only)**: Similarly, this scope is required for issue type and issue link type extraction.\\n\\n### Recommended permissions and scopes for successfully importing a Jira project\\n\\nThe following permissions and scopes are recommended as they allow for a full import, making the most out of", + "title": "Jira Software AirSync | AirSync | Snap-ins | DevRev" + }, + { + "id": "ART-2053_KNOWLEDGE_NODE-54", + "text": "the AirSync functionality.\\n\\nAdminister Jira global permission is required for:\\n\\n* Custom field extraction - without extracting custom fields AirSync is unable to load them into DevRev, which might become problematic especially on reverse syncs if some of these fields are deemed required by Jira on issue creation.\\n* User extraction (Jira Data Center only) - admin permissions are required to access the application roles, which contain the users that have access to the Jira application.", + "title": "Jira Software AirSync | AirSync | Snap-ins | DevRev" + }, + { + "id": "ART-2053_KNOWLEDGE_NODE-35", + "text": "[DevRev's Convergence snap-in](/marketplace/devrev-converge) to automatically update tickets and conversations based on issue updates happening in Jira.\\n\\nTo continue using Jira for development:\\n\\n![]()\\n\\n**DevRev highly recommends creating a new dedicated Jira account when setting up Jira for development or ongoing 2-way sync.**\\n\\nUse a dedicated Jira administrator account to create the Jira connection and set up the import. This prevents any individual Jira user from receiving too many", + "title": "Jira Software AirSync | AirSync | Snap-ins | DevRev" + }, + { + "id": "ART-2053_KNOWLEDGE_NODE-55", + "text": "Without this permission, no users are extracted.\\n* Permissions AirSync (Jira Cloud only) - without admin permissions, extraction of all the relevant Jira objects referenced by the project permission scheme is not possible.\\n\\nAdminister Jira global permission (for both Jira Cloud and Data Center) and manage OAuth scope (for Jira Cloud only) are required for:\\n\\n* Workflow and workflow scheme extraction - without extracted workflows, AirSync is unable to create the custom stages in DevRev, and", + "title": "Jira Software AirSync | AirSync | Snap-ins | DevRev" + }, + { + "id": "ART-2053_KNOWLEDGE_NODE-62", + "text": "organization admin for AirSync to be able to collect the email addresses of users. Otherwise, Jira users are collected but they are created with generated email addresses. The DevRev admin can [merge the user accounts manually](/docs/import).\\n* The Jira Data Center user who authorizes the connection to Jira be a site admin or the organization admin to be able to access application roles, through which the application users are collected.\\n* For Jira Data Center, the only supported connection", + "title": "Jira Software AirSync | AirSync | Snap-ins | DevRev" + }, + { + "id": "ART-2053_KNOWLEDGE_NODE-51", + "text": "> **Integrations** > **AirSyncs**, find the previously imported project, and select **\\xe2\\x8b\\xae** > **Delete Import**.\\n\\nJira permissions\\n----------------\\n\\nThe permissions available to DevRev's Jira AirSync are based on the user who authorizes the connection. While DevRev requests comprehensive OAuth (Jira Cloud only) scopes for seamless integration, your actual access is limited by what the authorizing user can do in Jira for the specific project(s) being imported.\\n\\n### Required Jira", + "title": "Jira Software AirSync | AirSync | Snap-ins | DevRev" + }, + { + "id": "ART-2053_KNOWLEDGE_NODE-60", + "text": "the mapping phase in the initial import, one can opt out of the permission AirSync by deselecting **Authorization Policy** option, additionally groups and group members can also be deselected. As project roles are mapped to DevRev groups, deselecting groups and group members also prevents project roles from being imported.\\n\\n![]()\\n\\nFor Jira Data Center, the permissions AirSync is not yet supported.\\n\\nAirSync Jira scope and limitations\\n----------------------------------\\n\\nThe following is", + "title": "Jira Software AirSync | AirSync | Snap-ins | DevRev" + }, + { + "id": "ART-2053_KNOWLEDGE_NODE-63", + "text": "type is PAT based. When creating a PAT, the user can specify the expiration date. For long running migrations, it is recommended to set the PAT to never expire, as on expiration, the PAT must be recreated manually in Jira.\\n\\n### Updates\\n\\n* If a Jira field is not writable in the creation or edit screen, AirSync may fail to create or update that issue in Jira with the corresponding change in DevRev.\\n* If there is no direct transition from the current issue state to the next state in Jira, the", + "title": "Jira Software AirSync | AirSync | Snap-ins | DevRev" + }, + { + "id": "ART-2053_KNOWLEDGE_NODE-52", + "text": "permissions for successfully importing a Jira project\\n\\nThese permissions are required for a successful import:\\n\\n* **Browse projects**: The user making the connection needs this permission for the projects they want to sync. It is advisable to check beforehand if they can browse the issues in the project they wish to bring into DevRev.\\n* **Create issues**: Jira not only requires this project scoped permission to create issues, but also to extract issue types. This is a must-have permission", + "title": "Jira Software AirSync | AirSync | Snap-ins | DevRev" + } + ] + }, + { + "query_id": "c39f3527-19c2-4a64-be83-43b0e6a2ef0b", + "query": "Audit logging for all customer portal activities", + "retrievals": [ + { + "id": "ART-2718_KNOWLEDGE_NODE-4", + "text": "Users\\n\\nNext](/beta/api-reference/compliance/delete-rev-users-personal-data)[Built with](https://buildwithfern.com/?utm_campaign=buildWith&utm_medium=docs&utm_source=developer.devrev.ai)'", + "title": "Fetch Audit Logs | DevRev | Docs" + }, + { + "id": "ART-2664_KNOWLEDGE_NODE-29", + "text": "detailed information about event tracking, refer to\\n[Track events](https://developer.devrev.ai/sdks/web/track-events).\\n\\n[PreviousPlug widget customization](/docs/plug/customize)[NextComputer for User Insights](/docs/plug/observability)\\n\\n#### On this page\\n\\n* [Enable session analytics](#enable-session-analytics)\\n* [Track events](#track-events)\\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": "Session analytics | Computer for Your Customers | DevRev" + }, + { + "id": "ART-2664_KNOWLEDGE_NODE-25", + "text": "user behavior and usability\\nchallenges.\\n\\nIn addition to session replays, session analytics offers network and console log\\ntracking, delivering detailed information on failed API calls, performance\\nbottlenecks, and error messages. This detailed logging streamlines debugging and\\naccelerates issue resolution.\\n\\nSession recordings and analytics are viewable in the\\n[Session analytics and session replays dashboards](/docs/plug/observability). A key feature is funnel analysis,\\nwhich enables", + "title": "Session analytics | Computer for Your Customers | 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-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-4955_KNOWLEDGE_NODE-2", + "text": "what our enhanced session analytics offers: Sessions List and Replay\\n\\nWith the new session list, you can access a comprehensive log of all recorded user sessions in your application. A rich set of filters allows you to quickly narrow down sessions based on date, exception, page name, and more\\xe2\\x80\\x94helping you find the most relevant recordings with ease.\\n\\nThe session replay feature provides an in-depth view of each session, including:\\n\\nSession recording \\xe2\\x80\\x93 A replay of the", + "title": "Transitioning to the New PLuG Sessions Experience" + }, + { + "id": "ART-2718_KNOWLEDGE_NODE-2", + "text": "token.\\n\\n### Request\\n\\nThis endpoint expects an object.\\n\\nfromstringRequired`format: \"date-time\"`\\n\\nTime from which logs are to be retrieved.\\n\\ntostringRequired`format: \"date-time\"`\\n\\nTime till which logs are to be retrieved.\\n\\ncategorieslist of stringsOptional\\n\\nCategories of the logs to filter by.\\n\\noperation\\\\_typeslist of enumsOptional\\n\\nOperation type to filter the logs by.\\n\\nAllowed values:createdeleteotherreadupdate\\n\\n### Response\\n\\nResponse for the audit logs export", + "title": "Fetch Audit Logs | DevRev | Docs" + }, + { + "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-12398_KNOWLEDGE_NODE-26", + "text": "tracking by using the following method.\\n\\nGet session and tab IDs\\n-----------------------\\n\\nA session ID identifies a user\\'s entire visit to a website or app, while a tab ID distinguishes activity within individual browser tabs. This separation allows precise tracking of interactions across multiple tabs in a single session.\\n\\nThe Plug SDK exposes the session ID and tab ID of an ongoing session by the\\ngetSessionDetails() method. When navigating from one domain to another you can hit this", + "title": "Cross-domain session tracking | Session analytics | Computer for Your Customers | DevRev" + }, + { + "id": "ART-4186_KNOWLEDGE_NODE-26", + "text": "then tracks and captures all screens, events, API service calls, exceptions (such as crashes and ANRs), errors, and gestures (including scrolls, taps, and rage taps).\\n\\nSession Replays\\n---------------\\n\\n![]()\\n\\nYou can search for **Session Replays** in **Explore** page where you can see the sessions for your Web app and sessions for Android and iOS on mobile.\\n\\n* View sessions by platform and time.\\n* Apply simple filters such as **Platform**, **Session duration**, **Date range**, etc.\\n*", + "title": "Computer for User Insights | Session analytics | Computer for Your Customers | DevRev" + } + ] + }, + { + "query_id": "56a2eb49-bc95-4eee-be74-926f25a99200", + "query": "endpoint to update description of card in Plug", + "retrievals": [ + { + "id": "ART-3109_KNOWLEDGE_NODE-29", + "text": "go to **Settings > Support > Plug Chat > Layout** through the settings icon on the top-left corner.\\n2. Select **Add a Card** and enter a title, description, image, and redirect URL.\\n3. Click **Save and Publish** in the top-right corner. The new card is visible in your Plug widget.\\n\\nWant to add more personalization to your Plug widget? Create your own. Visit [SDK Methods and Customization](https://developer.devrev.ai/sdks/web/customize) to create your own Plug from the ground", + "title": "Plug widget customization | Computer for Your Customers | DevRev" + }, + { + "id": "ART-2035_KNOWLEDGE_NODE-59", + "text": "customization will be shown.\\n* Summary cards are static Slack messages and may not reflect real-time data.\\n + Use the **Refresh** button at the bottom of the card to update.\\n + A timestamp indicates the last update time.\\n* To view all fields or update the object, click the **View/Update** button.\\n\\nThe information shown in the summary card differs by channel:\\n\\n* In **Internal channels**, all summary fields are shown.\\n* In an **External channels**, summary fields are", + "title": "Slack | Integrate | Snap-ins | DevRev" + }, + { + "id": "ART-1308_KNOWLEDGE_NODE-470", + "text": "properties\\nOR\\nTask Show 19 properties\\nOR\\nTicket Show 25 properties\\nResponse.\\n\\nThis endpoint returns an object.\\nwork object\\nShow 4 variants\\nBuilt with'", + "title": "Update \u2014 DevRev | Docs" + }, + { + "id": "ART-1592_KNOWLEDGE_NODE-470", + "text": "properties\\nOR\\nTask Show 19 properties\\nOR\\nTicket Show 25 properties\\nResponse.\\n\\nThis endpoint returns an object.\\nwork object\\nShow 4 variants\\nBuilt with'", + "title": "Update \u2014 DevRev | Docs" + }, + { + "id": "ART-1792_KNOWLEDGE_NODE-471", + "text": "properties\\nOR\\nTask Show 19 properties\\nOR\\nTicket Show 25 properties\\nResponse.\\n\\nThis endpoint returns an object.\\nwork object\\nShow 4 variants\\nBuilt with'", + "title": "Update \u2014 DevRev | Docs" + }, + { + "id": "ART-1823_KNOWLEDGE_NODE-421", + "text": "Update.\\n\\nPOST https:// api.devrev.ai / tags.update\\nUpdates a tag\\'s information.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the tag to update.\\nallowed_values object Optional\\nSpecifies an update to a tag\\'s allowed values.\\nShow property\\ndescription string Optional\\nThe updated description of the tag.\\nname string Optional\\nThe updated name of the tag. The name must be unique across all tags.\\nResponse.\\n\\nThis endpoint returns an object.\\ntag object\\nShow", + "title": "Get \u2014 DevRev | Docs" + }, + { + "id": "ART-1819_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": "Sla Trackers Get \u2014 DevRev | Docs" + }, + { + "id": "ART-1588_KNOWLEDGE_NODE-425", + "text": "api.devrev.ai / tags.update\\nUpdates a tag\\'s information.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID of the tag to update.\\nallowed_values object Optional\\nSpecifies an update to a tag\\'s allowed values.\\nShow property\\ndescription string Optional\\nThe updated description of the tag.\\nname string Optional\\nThe updated name of the tag. The name must be unique across all tags.\\nResponse.\\n\\nThis endpoint returns an object.\\ntag object\\nShow 9 properties\\nAPI", + "title": "Get \u2014 DevRev | Docs" + }, + { + "id": "ART-1308_KNOWLEDGE_NODE-67", + "text": "that identifies the token.\\ntoken_id string Required\\nThe unique identifier of the token under a given Dev organization.\\nResponse.\\n\\nThis endpoint returns an object.\\ntoken object\\nShow 14 properties\\nAPI Reference code-changes Create.\\n\\nPOST https:// api.devrev.ai / code-changes.create\\nCreates a code change object.\\nRequest.\\n\\nThis endpoint expects an object.\\ncustom_fields map from strings to any Optional\\nApplication-defined custom fields.\\ncustom_schema_spec object Optional\\nRequested", + "title": "Update \u2014 DevRev | Docs" + }, + { + "id": "ART-1308_KNOWLEDGE_NODE-129", + "text": "User.\\nShow 12 enum values\\nResponse.\\n\\nThis endpoint returns an object.\\ndev_user object\\nShow 20 properties\\nAPI Reference dev-users Update.\\n\\nPOST https:// api.devrev.ai / dev-users.update\\nUpdates the user corresponding to the input Id.\\nRequest.\\n\\nThis endpoint expects an object.\\nid string Required\\nThe ID for the Dev user to be updated.\\ncustom_fields map from strings to any Optional\\nApplication-defined custom fields.\\ncustom_schema_spec object Optional\\nRequested custom schemas", + "title": "Update \u2014 DevRev | Docs" + } + ] + }, + { + "query_id": "d6d34473-26e0-4c4b-90c4-e3e3d8ac6892", + "query": "ticket resolution time close to breach after ticket resolved", + "retrievals": [ + { + "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-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-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-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-985_KNOWLEDGE_NODE-11", + "text": "problem and creates another ticket worked on by another SRE 2\\n SRE 2 may escalate ticket 2 to engineering as a completely separate on-call\\n Engineer 2 has to review ticket 2 and may ask for more detail, again\\n Engineers 1 and 2 may see them as two different problems as each may have different detail/context\\n At this point the sales rep for the customer may not even know their customer has filed a ticket\\n The support agent may also not know if there are some large pending deals with", + "title": "Why Silos Must be Busted" + }, + { + "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-1003_KNOWLEDGE_NODE-23", + "text": "CURRENT_DATE);\\n-- NOTE: Replace @period with 'DAY', 'WEEK', 'MONTH', or 'QUARTER'.\\n\\n\\nTicket Backlog\\n\\n\\n Definition\\n \\n The number of unresolved support tickets at any given time, which can indicate workload and efficiency issues.\\n \\n \\n Calculation\\n \\n (Total number of open tickets) - (Total number of tickets closed during a specific period)\\n \\n \\n\\n\\nSELECT (COUNT(*) - (SELECT COUNT(*) FROM tickets WHERE status = 'closed' AND EXTRACT(@period FROM created_at)", + "title": "Understanding a Support Lead's Pain Points and KPIs" + }, + { + "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-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" + } + ] + }, + { + "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-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", + "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 |", + "title": "Account and contact import | Computer for Growth Teams | 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-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", + "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-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-27", + "text": "initiate the process. Notifications about successful imports and any errors will appear in the form of toasts at the bottom left.\\n\\nCSV file requirements\\n---------------------\\n\\n### Mandatory fields\\n\\nTo ensure a successful import, certain fields are required.\\n\\n**Accounts**:\\n\\n* display\\\\_name\\n* external\\\\_refs (a unique identifier for the account, such as the company\\'s website domain.)\\n\\n**Contacts:**\\n\\n* display\\\\_name\\n* external\\\\_ref (a unique identifier for the contact, such as", + "title": "Account and contact import | Computer for Growth Teams | 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" + } + ] + }, + { + "query_id": "7d261079-de51-43c9-a138-dd4d688efa84", + "query": "how to build an agent", + "retrievals": [ + { + "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-13178_KNOWLEDGE_NODE-71", + "text": "real-world setting**\\n * **Train your own AI Agent using DevRev**\\n * **Connect the tools you already use**\\n * **Go from demo to deployment in days**\\n\\n _Just reach out. Let\\xe2\\x80\\x99s make Agentic AI work for you._ [**Book a demo.**](/request-a-demo)\\n\\n### Frequently Asked Questions\\n\\n###\\n\\nWhat are the main components of Agentic AI systems?\\n\\n__\\n\\n###\\n\\nCan small businesses benefit from Agentic AI platforms?\\n\\n__\\n\\n###\\n\\nWhat makes Agentic AI different from chatbots and", + "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + }, + { + "id": "ART-13178_KNOWLEDGE_NODE-7", + "text": "up with customers at appropriate intervals, and escalate issues only when resolution criteria aren\\xe2\\x80\\x99t met.\\n * **Tool-proficient:** Leverages various digital tools and systems to accomplish tasks. For instance, AI agents can access inventory databases, shipping systems, and customer records to resolve queries about complex order fulfillments.\\n * **Continuously learning:** Improves performance through feedback loops and experience accumulation. For example, an agentic artificial", + "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + }, + { + "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-13178_KNOWLEDGE_NODE-11", + "text": "human direction | Limited \\xe2\\x80\\x93 Follows strict programmed instructions \\nLearning mechanism | Experience-based improvement via outcomes | Pattern recognition from training datasets | Static algorithms with manual updates \\nCommercial value | Revolutionizes end-to-end business operations | Accelerates creative production workflows | Improves efficiency for defined functions \\nJudgment capability | Independent reasoning based on business goals | Responsive creation based on input", + "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + }, + { + "id": "ART-13178_KNOWLEDGE_NODE-46", + "text": "deployment, training programs, governance frameworks, and continuous improvement processes. This systematic methodology maximizes benefits while minimizing disruption and risk.\\n\\nYou need a methodical implementation strategy to capture agentic AI\\xe2\\x80\\x99s full value. Companies with structured adoption approaches achieve substantially [higher ROI on AI investments](/about) than those pursuing ad hoc implementation.\\n\\n### 1\\\\. Conduct needs assessment\\n\\nStart with a comprehensive needs", + "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + }, + { + "id": "ART-13178_KNOWLEDGE_NODE-45", + "text": "reach, cost, conversion potential, and brand alignment when making recommendations.\\n * **Learning agents** continuously improve through feedback and experience, adapting to new situations. Customer service AI powered agents that refine their responses based on resolution success rates demonstrate learning capabilities.\\n\\n## Implementation & adoption of agentic AI\\n\\nSuccessful agentic AI implementation follows a structured approach including needs assessment, platform selection, phased", + "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + }, + { + "id": "ART-13178_KNOWLEDGE_NODE-48", + "text": "industry.\\n\\n### 3\\\\. Develop phased implementation\\n\\nDevelop a phased implementation plan. Begin with limited-scope pilot projects delivering quick wins. Organizations starting with focused pilots achieve full implementation significantly faster than those attempting enterprise-wide deployment immediately.\\n\\n### 4\\\\. Establish training programs\\n\\nEstablish robust training programs addressing both technical and cultural aspects. Your teams need practical skills and new mindsets. Companies", + "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + }, + { + "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-13178_KNOWLEDGE_NODE-47", + "text": "assessment. Identify processes with high automation potential and significant business impact. Customer service, sales operations, and internal workflows typically offer excellent starting points. Document current performance metrics as baselines.\\n\\n### 2\\\\. Select technology partners\\n\\nSelect appropriate technology partners carefully. Evaluate vendors based on technical capabilities, industry experience, and implementation support. Look for platforms with proven success in your specific", + "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + } + ] + }, + { + "query_id": "27785a74-4a2c-44da-90eb-dc3411f865b5", + "query": "multiple messages sent quickly AI interpretation delay", + "retrievals": [ + { + "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-13178_KNOWLEDGE_NODE-20", + "text": "iteratively refines output:** During processing, your AI agents may request additional input to ensure accuracy. The system refines results based on your feedback.\\n 4. **Agent executes action:** Finally, the AI powered agents implement necessary solutions directly. Unlike advisory systems that only recommend, agentic AI completes tasks autonomously. This end-to-end automation delivers significantly faster resolution times.\\n\\n## An AI agent consists of three main components:\\n\\n *", + "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + }, + { + "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-4206_KNOWLEDGE_NODE-12", + "text": "\"skill_executed\": { |\\n| 10 | \"output\": { /* skill output */ }, |\\n| 11 | \"skill_name\": \"SkillName\" |\\n| 12 | } |\\n| 13 | }, |\\n| 14 | \"session\": \"don:core:dvrv-us-1:devo/xyz:ai_agent_session/3810\", |\\n| 15 | \"session_object\": \"unique_conversation_identifier\" |\\n| 16 | }, |\\n| 17 | \"type\": \"ai_agent_response\" |\\n| 18 | } |\\n| 19 | } |\\n```\\n\\n### Final message\\n\\nThis event contains the agent\\xe2\\x80\\x99s final response after all skills are executed.\\n\\n```\\n| | |\\n| --- | --- |\\n| 1 | { |\\n|", + "title": "Agents async API | DevRev | Docs" + }, + { + "id": "ART-13178_KNOWLEDGE_NODE-18", + "text": "human direction.\\n\\nYour business decisions require both intelligence and action. Agentic AI delivers both.\\n\\nAt its foundation, agentic AI employs multiple large language models (LLMs) working together. When handling complex problems, AI agents consult different models and cross-references their insights. This collaborative approach produces more reliable decisions than single-model systems.\\n\\nThe decision making processes unfold in four key stages:\\n\\n 1. **User provides instruction:** You", + "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + }, + { + "id": "ART-13178_KNOWLEDGE_NODE-58", + "text": "decisions.\\n\\n**Solution:** Implement a unified system that brings together teams, product, support, and customer data in one place. Establish data quality standards before deployment to ensure AI agents have reliable information.\\n\\n### 3\\\\. Technical complexity\\n\\nAgentic AI systems require sophisticated infrastructure, specialized expertise, and ongoing maintenance. Many organizations underestimate these requirements initially, leading to implementation delays.\\n\\n**Solution:** Choose", + "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + }, + { + "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-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-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-13178_KNOWLEDGE_NODE-57", + "text": "support for modern systems that can function as a central connecting layer. DevRev\\xe2\\x80\\x99s extensive connector library addresses this challenge by providing pre-built integrations across business systems.\\n\\n### 2\\\\. Data quality challenges\\n\\nAgentic AI systems rely on accurate, comprehensive information to function properly. Outdated, incomplete, or siloed data leads to poor performance. Inconsistent or biased data results in unreliable automation and questionable", + "title": "Understanding Agentic AI: Capabilities and Implications for the Future" + } + ] + } +] \ No newline at end of file diff --git a/test_queries_results_old.parquet b/test_queries_results_old.parquet new file mode 100644 index 0000000..4ca21d9 Binary files /dev/null and b/test_queries_results_old.parquet differ