# Greptile (/integrations/greptile)



{/* MANUAL-CONTENT-START:intro */}

[Greptile](https://www.greptile.com/) searches and answers questions about code repositories. Index a repository and check its status before querying it, then use natural-language questions or code search to retrieve answers and relevant files.

{/* MANUAL-CONTENT-END */}

## Use the block [#usage-instructions]

Query and search codebases using natural language with Greptile. Get AI-generated answers about your code, find relevant files, and understand complex codebases.

## Actions [#actions]

### Greptile Query [#greptile-query]

Query repositories in natural language and get answers with relevant code references. Greptile uses AI to understand your codebase and answer questions.

#### Input [#input]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `query` | string | Yes | Natural language question about the codebase. Example: "How does authentication work?" or "Where is the payment processing logic?" |
| `repositories` | string | Yes | Comma-separated list of repositories. Format: "github:branch:owner/repo" or just "owner/repo" (defaults to github:main). Example: "facebook/react" or "github:main:facebook/react,github:main:facebook/relay" |
| `sessionId` | string | No | Session ID for conversation continuity. Use the same sessionId across multiple queries to maintain context. Example: "session-abc123" |
| `genius` | boolean | No | Enable genius mode for more thorough analysis (slower but more accurate) |
| `apiKey` | string | Yes | Greptile API key |
| `githubToken` | string | Yes | GitHub Personal Access Token with repo read access |

#### Output [#output]

| Parameter | Type | Description |
| - | - | - |
| `message` | string | AI-generated answer to the query |
| `sources` | array | Relevant code references that support the answer |
| ↳ `repository` | string | Repository name (owner/repo) |
| ↳ `remote` | string | Git remote (github/gitlab) |
| ↳ `branch` | string | Branch name |
| ↳ `filepath` | string | Path to the file |
| ↳ `linestart` | number | Starting line number |
| ↳ `lineend` | number | Ending line number |
| ↳ `summary` | string | Summary of the code section |
| ↳ `distance` | number | Similarity score (lower = more relevant) |

### Greptile Index Repository [#greptile-index-repository]

Submit a repository to be indexed by Greptile. Indexing must complete before the repository can be queried. Small repos take 3-5 minutes, larger ones can take over an hour.

#### Input [#input-1]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `remote` | string | Yes | Git remote type: github or gitlab |
| `repository` | string | Yes | Repository in owner/repo format. Example: "facebook/react" or "vercel/next.js" |
| `branch` | string | Yes | Branch to index (e.g., "main" or "master") |
| `reload` | boolean | No | Force re-indexing even if already indexed |
| `notify` | boolean | No | Send email notification when indexing completes |
| `apiKey` | string | Yes | Greptile API key |
| `githubToken` | string | Yes | GitHub Personal Access Token with repo read access |

#### Output [#output-1]

| Parameter | Type | Description |
| - | - | - |
| `repositoryId` | string | Unique identifier for the indexed repository (format: remote:branch:owner/repo) |
| `statusEndpoint` | string | URL endpoint to check indexing status |
| `message` | string | Status message about the indexing operation |

### Greptile Repository Status [#greptile-repository-status]

Check the indexing status of a repository. Use this to verify if a repository is ready to be queried or to monitor indexing progress.

#### Input [#input-2]

| Parameter | Type | Required | Description |
| - | - | - | - |
| `remote` | string | Yes | Git remote type: github or gitlab |
| `repository` | string | Yes | Repository in owner/repo format. Example: "facebook/react" or "vercel/next.js" |
| `branch` | string | Yes | Branch name (e.g., "main" or "master") |
| `apiKey` | string | Yes | Greptile API key |
| `githubToken` | string | Yes | GitHub Personal Access Token with repo read access |

#### Output [#output-2]

| Parameter | Type | Description |
| - | - | - |
| `repository` | string | Repository name (owner/repo) |
| `remote` | string | Git remote (github/gitlab) |
| `branch` | string | Branch name |
| `private` | boolean | Whether the repository is private |
| `status` | string | Indexing status: submitted, cloning, processing, completed, or failed |
| `filesProcessed` | number | Number of files processed so far |
| `numFiles` | number | Total number of files in the repository |
| `sampleQuestions` | array | Sample questions for the indexed repository |
| `sha` | string | Git commit SHA of the indexed version |
