Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .agents/skills/add-block/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -562,6 +562,11 @@ Use `wandConfig` on fields that are hard to fill by hand — timestamps (`genera

## Tools Configuration

**Write operation ids and tool ids as string literals** in the `operation` dropdown `options` and
`tools.access`, never through constants (`id: SEARCH`, `access: [SEARCH]`). `scripts/generate-docs.ts`
reads them from source with regexes, so a constant parses as empty: the docs page loses its whole
Actions section and the integration catalog ships blank operation descriptions, with no check failing.

**Preferred:** Use tool names directly as dropdown option IDs to avoid switch cases:
```typescript
// Dropdown options use tool IDs directly
Expand Down
47 changes: 10 additions & 37 deletions apps/docs/content/docs/integrations/ashby.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -1045,6 +1045,15 @@ Lists interview schedules in Ashby, optionally filtered by application or interv
| ↳ `status` | string | Schedule status \(NeedsScheduling, WaitingOnCandidateBooking, Scheduled, Complete, Cancelled, OnHold, etc.\) |
| ↳ `applicationId` | string | Associated application UUID |
| ↳ `interviewStageId` | string | Interview stage UUID |
| ↳ `scheduledBy` | object | User summary |
| ↳ `id` | string | User UUID |
| ↳ `firstName` | string | First name |
| ↳ `lastName` | string | Last name |
| ↳ `email` | string | Email |
| ↳ `globalRole` | string | Role |
| ↳ `isEnabled` | boolean | Whether enabled |
| ↳ `updatedAt` | string | Last update timestamp |
| ↳ `managerId` | string | User ID of the user's manager |
| ↳ `createdAt` | string | ISO 8601 creation timestamp |
| ↳ `updatedAt` | string | ISO 8601 last update timestamp |
| ↳ `interviewEvents` | array | Scheduled interview events on this schedule |
Expand Down Expand Up @@ -1553,43 +1562,7 @@ Sets several custom field values on one Ashby Application, Candidate, Job, or Op

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `candidates` | json | List of candidates with rich fields \(id, name, primaryEmailAddress, primaryPhoneNumber, emailAddresses\[\], phoneNumbers\[\], socialLinks\[\], linkedInUrl, githubUrl, profileUrl, position, company, school, timezone, location with locationComponents\[\], tags\[\], applicationIds\[\], customFields\[\], resumeFileHandle, fileHandles\[\], source with sourceType, creditedToUser, fraudStatus, createdAt, updatedAt\) |
| `jobs` | json | List of jobs \(id, title, confidential, status, employmentType, locationId, departmentId, defaultInterviewPlanId, interviewPlanIds\[\], customFields\[\], jobPostingIds\[\], customRequisitionId, brandId, hiringTeam\[\], author, createdAt, updatedAt, openedAt, closedAt, location with address, openings\[\] with latestVersion\) |
| `applications` | json | List of applications \(id, status, customFields\[\], candidate summary, currentInterviewStage, source with sourceType, archiveReason with customFields\[\], archivedAt, job summary, creditedToUser, hiringTeam\[\], appliedViaJobPostingId, submitterClientIp, submitterUserAgent, createdAt, updatedAt\) |
| `notes` | json | List of notes \(id, content, author, isPrivate, createdAt\) |
| `offers` | json | List of offers \(id, decidedAt, applicationId, acceptanceStatus, offerStatus, latestVersion with id/startDate/salary/createdAt/openingId/customFields\[\]/fileHandles\[\]/author/approvalStatus\) |
| `archiveReasons` | json | List of archive reasons \(id, text, reasonType \[RejectedByCandidate/RejectedByOrg/Other\], isArchived\) |
| `sources` | json | List of sources \(id, title, isArchived, sourceType \{id, title, isArchived\}\) |
| `customFields` | json | For List Custom Fields, the field definitions \(id, title, isPrivate, fieldType, objectType, isArchived, isRequired, selectableValues\[\] \{label, value, isArchived\}\). For Set Custom Field Values, the field values written to the object \(id, title, isPrivate, valueLabel, value\) |
| `customField` | json | A single custom field value after a write \(id, title, isPrivate, valueLabel, value\) |
| `departments` | json | List of departments \(id, name, externalName, isArchived, parentId, createdAt, updatedAt\) |
| `locations` | json | List of locations \(id, name, externalName, isArchived, isRemote, workplaceType, parentLocationId, type, address with addressCountry/Region/Locality/postalCode/streetAddress\) |
| `jobPostings` | json | List of job postings \(id, title, jobId, departmentName, teamName, locationName, locationIds, workplaceType, employmentType, isListed, publishedDate, applicationDeadline, externalLink, applyLink, compensationTierSummary, shouldDisplayCompensationOnJobBoard, updatedAt\) |
| `openings` | json | List of openings \(id, openedAt, closedAt, isArchived, archivedAt, closeReasonId, openingState, latestVersion with identifier/description/authorId/createdAt/teamId/jobIds\[\]/targetHireDate/targetStartDate/isBackfill/employmentType/locationIds\[\]/hiringTeam\[\]/customFields\[\]\) |
| `users` | json | List of users \(id, firstName, lastName, email, globalRole, isEnabled, updatedAt\) |
| `interviewSchedules` | json | List of interview schedules \(id, applicationId, interviewStageId, interviewEvents\[\] with interviewerUserIds/startTime/endTime/feedbackLink/location/meetingLink/hasSubmittedFeedback, status, scheduledBy, createdAt, updatedAt\) |
| `interviewPlans` | json | Interview plans \(id, title, isArchived, createdAt, updatedAt\) |
| `interviewStages` | json | Ordered interview stages for a plan |
| `feedback` | json | Submitted application feedback with form definitions and values |
| `history` | json | Application stage history and allowed actions |
| `tags` | json | List of candidate tags \(id, title, isArchived\) |
| `id` | string | Resource UUID |
| `name` | string | Resource name |
| `title` | string | Job title or job posting title |
| `status` | string | Status |
| `candidate` | json | Candidate summary \(id, name, primaryEmailAddress, primaryPhoneNumber\). For full candidate fields use the candidates list output or the get/create/update candidate operations. |
| `job` | json | Job details \(id, title, status, employmentType, locationId, departmentId, hiringTeam\[\], author, location, openings\[\], createdAt, updatedAt\) |
| `application` | json | Application details \(id, status, customFields\[\], candidate, currentInterviewStage, source, archiveReason, job, hiringTeam\[\], createdAt, updatedAt\) |
| `offer` | json | Offer details \(id, decidedAt, applicationId, acceptanceStatus, offerStatus, latestVersion\) |
| `jobPosting` | json | Job posting details \(id, title, descriptionPlain, descriptionHtml, descriptionSocial, descriptionParts, departmentName, teamName, teamNameHierarchy\[\], jobId, locationName, locationIds, address, isRemote, workplaceType, employmentType, isListed, publishedDate, applicationDeadline, externalLink, applyLink, compensation, updatedAt, job \[included when expandJob=true\]\) |
| `content` | string | Note content |
| `author` | json | Note author \(id, firstName, lastName, email\) |
| `isPrivate` | boolean | Whether the note is private |
| `createdAt` | string | ISO 8601 creation timestamp |
| `applicationId` | string | UUID of the deleted application |
| `moreDataAvailable` | boolean | Whether more pages exist |
| `nextCursor` | string | Pagination cursor for next page |
| `nextSyncCursor` | string | Ashby's opaque token for the next incremental list run, exposed as a cursor so it remains usable in workflow output |
| `customFields` | array | Custom field values |

### Ashby Update Candidate

Expand Down
3 changes: 0 additions & 3 deletions apps/docs/content/docs/integrations/coda.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -475,8 +475,6 @@ Get the type and current value of a control in a Coda doc
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `control` | object | Control details |
| ↳ `controlType` | string | Control type \(aiBlock, button, checkbox, datePicker, dateRangePicker, dateTimePicker, lookup, multiselect, select, scale, slider, reaction, textbox, timePicker\) |
| ↳ `value` | json | Current value \(string, number, boolean, or array of these\) |

### Coda Get Custom Domain Provider

Expand Down Expand Up @@ -562,7 +560,6 @@ Get the current computed value of a named formula in a Coda doc
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `formula` | object | Formula details |
| ↳ `value` | json | Computed value \(string, number, boolean, or array of these\) |

### Coda Get Mutation Status

Expand Down
38 changes: 38 additions & 0 deletions apps/docs/content/docs/integrations/context_dev.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ Scrape any URL and return clean, LLM-ready markdown content.
| --------- | ---- | ----------- |
| `markdown` | string | Page content as clean markdown |
| `url` | string | The scraped URL |
| `creditsConsumed` | number | Credits consumed by this request |
| `creditsRemaining` | number | Credits remaining on the API key |

### Context.dev Scrape HTML

Expand All @@ -80,6 +82,8 @@ Scrape any URL and return the raw HTML content of the page.
| `html` | string | Raw HTML content of the page |
| `url` | string | The scraped URL |
| `type` | string | Detected content type \(html, xml, json, text, csv, markdown, svg, pdf, doc, docx\) |
| `creditsConsumed` | number | Credits consumed by this request |
| `creditsRemaining` | number | Credits remaining on the API key |

### Context.dev Scrape Images

Expand Down Expand Up @@ -110,6 +114,8 @@ Discover every image asset on a page, with optional dimension and type enrichmen
| ↳ `alt` | string | Alt text |
| ↳ `enrichment` | json | Optional enrichment \(width, height, mimetype, url, type\) when requested |
| `url` | string | The scraped URL |
| `creditsConsumed` | number | Credits consumed by this request |
| `creditsRemaining` | number | Credits remaining on the API key |

### Context.dev Screenshot

Expand Down Expand Up @@ -139,6 +145,8 @@ Capture a screenshot of any web page and store it as a downloadable image file.
| `domain` | string | Domain that was captured |
| `width` | number | Screenshot width in pixels |
| `height` | number | Screenshot height in pixels |
| `creditsConsumed` | number | Credits consumed by this request |
| `creditsRemaining` | number | Credits remaining on the API key |

### Context.dev Crawl

Expand Down Expand Up @@ -170,6 +178,8 @@ Crawl an entire website and return each discovered page as clean markdown.
| ↳ `markdown` | string | Page content as markdown |
| ↳ `metadata` | json | Page metadata \(url, title, crawlDepth, statusCode\) |
| `metadata` | object | Crawl summary \(numUrls, maxCrawlDepth, numSucceeded, numFailed, numSkipped\) |
| `creditsConsumed` | number | Credits consumed by this request |
| `creditsRemaining` | number | Credits remaining on the API key |

### Context.dev Map

Expand All @@ -192,6 +202,8 @@ Build a sitemap of a domain and return every discovered page URL.
| `domain` | string | The domain that was mapped |
| `urls` | array | All page URLs discovered from the sitemap |
| `meta` | object | Sitemap discovery stats \(sitemapsDiscovered, sitemapsFetched, sitemapsSkipped, errors\) |
| `creditsConsumed` | number | Credits consumed by this request |
| `creditsRemaining` | number | Credits remaining on the API key |

### Context.dev Search

Expand Down Expand Up @@ -223,6 +235,8 @@ Search the web with natural language and optionally scrape results to markdown.
| ↳ `relevance` | string | Relevance rating \(high, medium, low\) |
| ↳ `markdown` | json | Scraped markdown for the result \(when markdown scraping is enabled\) |
| `query` | string | The query that was searched |
| `creditsConsumed` | number | Credits consumed by this request |
| `creditsRemaining` | number | Credits remaining on the API key |

### Context.dev Extract

Expand Down Expand Up @@ -253,6 +267,8 @@ Crawl a website and extract structured data matching a provided JSON schema.
| `urlsAnalyzed` | array | URLs that were analyzed during extraction |
| `data` | json | Structured data matching the requested schema |
| `metadata` | object | Crawl summary \(numUrls, maxCrawlDepth, numSucceeded, numFailed, numSkipped\) |
| `creditsConsumed` | number | Credits consumed by this request |
| `creditsRemaining` | number | Credits remaining on the API key |

### Context.dev Extract Product

Expand Down Expand Up @@ -288,6 +304,8 @@ Detect and extract structured product details from a single product page URL.
| ↳ `image_url` | string | Primary product image URL |
| ↳ `images` | json | Product image URLs |
| ↳ `sku` | string | Product SKU |
| `creditsConsumed` | number | Credits consumed by this request |
| `creditsRemaining` | number | Credits remaining on the API key |

### Context.dev Extract Products

Expand Down Expand Up @@ -322,6 +340,8 @@ Extract the product catalog from a brand's website by domain (beta).
| ↳ `image_url` | string | Primary product image URL |
| ↳ `images` | json | Product image URLs |
| ↳ `sku` | string | Product SKU |
| `creditsConsumed` | number | Credits consumed by this request |
| `creditsRemaining` | number | Credits remaining on the API key |

### Context.dev Scrape Fonts

Expand Down Expand Up @@ -351,6 +371,8 @@ Extract the font families, usage stats, and font files used by a domain.
| ↳ `percent_words` | number | Percent of words using the font |
| ↳ `percent_elements` | number | Percent of elements using the font |
| `fontLinks` | json | Font family download links keyed by font name \(type, files, category\) |
| `creditsConsumed` | number | Credits consumed by this request |
| `creditsRemaining` | number | Credits remaining on the API key |

### Context.dev Scrape Styleguide

Expand All @@ -372,6 +394,8 @@ Extract a domain's design system: colors, typography, spacing, shadows, and UI c
| `status` | string | Extraction status |
| `domain` | string | The domain that was analyzed |
| `styleguide` | json | Design system: mode, colors, typography, elementSpacing, shadows, fontLinks, components |
| `creditsConsumed` | number | Credits consumed by this request |
| `creditsRemaining` | number | Credits remaining on the API key |

### Context.dev Classify NAICS

Expand All @@ -398,6 +422,8 @@ Classify a brand into NAICS industry codes from its domain or company name.
| ↳ `code` | string | Industry code |
| ↳ `name` | string | Industry name |
| ↳ `confidence` | string | Match confidence \(high, medium, low\) |
| `creditsConsumed` | number | Credits consumed by this request |
| `creditsRemaining` | number | Credits remaining on the API key |

### Context.dev Classify SIC

Expand Down Expand Up @@ -429,6 +455,8 @@ Classify a brand into SIC industry codes from its domain or company name.
| ↳ `majorGroup` | string | Major group code \(original_sic only\) |
| ↳ `majorGroupName` | string | Major group name \(original_sic only\) |
| ↳ `office` | string | SEC office \(latest_sec only\) |
| `creditsConsumed` | number | Credits consumed by this request |
| `creditsRemaining` | number | Credits remaining on the API key |

### Context.dev Get Brand

Expand Down Expand Up @@ -467,6 +495,8 @@ Retrieve brand data for a domain: logos, colors, backdrops, socials, address, an
| ↳ `industries` | json | Industry taxonomy \(eic industry/subindustry pairs\) |
| ↳ `links` | json | Key brand links \(careers, privacy, terms, blog, pricing, contact\) |
| ↳ `primary_language` | string | Primary language of the brand site |
| `creditsConsumed` | number | Credits consumed by this request |
| `creditsRemaining` | number | Credits remaining on the API key |

### Context.dev Get Brand by Name

Expand Down Expand Up @@ -506,6 +536,8 @@ Retrieve brand data by company name: logos, colors, socials, address, and indust
| ↳ `industries` | json | Industry taxonomy \(eic industry/subindustry pairs\) |
| ↳ `links` | json | Key brand links \(careers, privacy, terms, blog, pricing, contact\) |
| ↳ `primary_language` | string | Primary language of the brand site |
| `creditsConsumed` | number | Credits consumed by this request |
| `creditsRemaining` | number | Credits remaining on the API key |

### Context.dev Get Brand by Email

Expand Down Expand Up @@ -544,6 +576,8 @@ Retrieve brand data from a work email address. Free/disposable emails are reject
| ↳ `industries` | json | Industry taxonomy \(eic industry/subindustry pairs\) |
| ↳ `links` | json | Key brand links \(careers, privacy, terms, blog, pricing, contact\) |
| ↳ `primary_language` | string | Primary language of the brand site |
| `creditsConsumed` | number | Credits consumed by this request |
| `creditsRemaining` | number | Credits remaining on the API key |

### Context.dev Get Brand by Ticker

Expand Down Expand Up @@ -583,6 +617,8 @@ Retrieve brand data for a public company by its stock ticker symbol.
| ↳ `industries` | json | Industry taxonomy \(eic industry/subindustry pairs\) |
| ↳ `links` | json | Key brand links \(careers, privacy, terms, blog, pricing, contact\) |
| ↳ `primary_language` | string | Primary language of the brand site |
| `creditsConsumed` | number | Credits consumed by this request |
| `creditsRemaining` | number | Credits remaining on the API key |

### Context.dev Identify Transaction

Expand Down Expand Up @@ -625,5 +661,7 @@ Identify the brand behind a raw bank/card transaction descriptor and return its
| ↳ `industries` | json | Industry taxonomy \(eic industry/subindustry pairs\) |
| ↳ `links` | json | Key brand links \(careers, privacy, terms, blog, pricing, contact\) |
| ↳ `primary_language` | string | Primary language of the brand site |
| `creditsConsumed` | number | Credits consumed by this request |
| `creditsRemaining` | number | Credits remaining on the API key |


14 changes: 7 additions & 7 deletions apps/docs/content/docs/integrations/github.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -125,10 +125,10 @@ Create comments on GitHub PRs
| `id` | number | Comment ID |
| `body` | string | Comment body |
| `html_url` | string | GitHub web URL |
| `path` | string | File path \(for file comments\) |
| `line` | number | Line number \(for file comments\) |
| `side` | string | Side \(LEFT/RIGHT for diff comments\) |
| `commit_id` | string | Commit SHA |
| `path` | string | File path \(if file comment\) |
| `line` | number | Line number |
| `side` | string | Diff side |
| `commit_id` | string | Commit ID |
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |

Expand Down Expand Up @@ -916,10 +916,10 @@ Get detailed information about a specific branch in a GitHub repository, includi

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `name` | string | Branch name |
| `commit` | object | Commit reference info |
| ↳ `sha` | string | Commit SHA |
| ↳ `url` | string | Commit API URL |
| `name` | string | Branch name |
| `protected` | boolean | Whether branch is protected |
| `protection` | json | Protection settings object |
| `protection_url` | string | URL to protection settings |
Expand Down Expand Up @@ -1263,7 +1263,7 @@ Get detailed information about a specific issue in a GitHub repository
| ↳ `created_at` | string | Creation timestamp |
| ↳ `updated_at` | string | Last update timestamp |
| ↳ `closed_at` | string | Close timestamp |
| `closed_by` | object | User who closed the issue |
| `closed_by` | object | GitHub user object |
| ↳ `login` | string | GitHub username |
| ↳ `id` | number | User ID |
| ↳ `avatar_url` | string | Avatar image URL |
Expand Down Expand Up @@ -1303,7 +1303,7 @@ Close an issue in a GitHub repository
| `created_at` | string | Creation timestamp |
| `updated_at` | string | Last update timestamp |
| `closed_at` | string | Close timestamp |
| `state_reason` | string | State reason \(completed/not_planned\) |
| `state_reason` | string | Reason for closing |
| `labels` | array | Array of label objects |
| ↳ `id` | number | Label ID |
| ↳ `node_id` | string | GraphQL node ID |
Expand Down
Loading
Loading