- Add generate_block_docs.py script that introspects block code to
generate markdown
- Support manual content preservation via <!-- MANUAL: --> markers
- Add migrate_block_docs.py to preserve existing manual content from git
HEAD
- Add CI workflow (docs-block-sync.yml) to fail if docs drift from code
- Add Claude PR review workflow (docs-claude-review.yml) for doc changes
- Add manual LLM enhancement workflow (docs-enhance.yml)
- Add GitBook configuration (.gitbook.yaml, SUMMARY.md)
- Fix non-deterministic category ordering (categories is a set)
- Add comprehensive test suite (32 tests)
- Generate docs for 444 blocks with 66 preserved manual sections
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
<!-- Clearly explain the need for these changes: -->
### Changes 🏗️
<!-- Concisely describe all of the changes made in this pull request:
-->
### Checklist 📋
#### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
<!-- Put your test plan here: -->
- [x] Extensively test code generation for the docs pages
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> Introduces an automated documentation pipeline for blocks and
integrates it into CI.
>
> - Adds `scripts/generate_block_docs.py` (+ tests) to introspect blocks
and generate `docs/integrations/**`, preserving `<!-- MANUAL: -->`
sections
> - New CI workflows: **docs-block-sync** (fails if docs drift),
**docs-claude-review** (AI review for block/docs PRs), and
**docs-enhance** (optional LLM improvements)
> - Updates existing Claude workflows to use `CLAUDE_CODE_OAUTH_TOKEN`
instead of `ANTHROPIC_API_KEY`
> - Improves numerous block descriptions/typos and links across backend
blocks to standardize docs output
> - Commits initial generated docs including
`docs/integrations/README.md` and many provider/category pages
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
631e53e0f6. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
5.7 KiB
Enrichlayer LinkedIn
Blocks for enriching LinkedIn profile data and looking up profiles using the Enrichlayer API.
Get Linkedin Profile
What it is
Fetch LinkedIn profile data using Enrichlayer
How it works
This block retrieves comprehensive LinkedIn profile data using Enrichlayer's API. Provide a LinkedIn profile URL to fetch details including work history, education, skills, and contact information.
Configure caching options for performance and optionally include additional data like inferred salary, personal email, or social media links.
Inputs
| Input | Description | Type | Required |
|---|---|---|---|
| linkedin_url | LinkedIn profile URL to fetch data from | str | Yes |
| fallback_to_cache | Cache usage if live fetch fails | "on-error" | "never" | No |
| use_cache | Cache utilization strategy | "if-present" | "never" | No |
| include_skills | Include skills data | bool | No |
| include_inferred_salary | Include inferred salary data | bool | No |
| include_personal_email | Include personal email | bool | No |
| include_personal_contact_number | Include personal contact number | bool | No |
| include_social_media | Include social media profiles | bool | No |
| include_extra | Include additional data | bool | No |
Outputs
| Output | Description | Type |
|---|---|---|
| error | Error message if the operation failed | str |
| profile | LinkedIn profile data | PersonProfileResponse |
Possible use case
Lead Enrichment: Enrich sales leads with detailed professional background information.
Recruitment Research: Gather candidate information for hiring and outreach workflows.
Contact Discovery: Find contact details associated with LinkedIn profiles.
Get Linkedin Profile Picture
What it is
Get LinkedIn profile pictures using Enrichlayer
How it works
This block retrieves the profile picture URL for a LinkedIn profile using Enrichlayer's API. Provide the LinkedIn profile URL to get a direct link to the user's profile photo.
The returned URL can be used for display, download, or further image processing.
Inputs
| Input | Description | Type | Required |
|---|---|---|---|
| linkedin_profile_url | LinkedIn profile URL | str | Yes |
Outputs
| Output | Description | Type |
|---|---|---|
| error | Error message if the operation failed | str |
| profile_picture_url | LinkedIn profile picture URL | str (file) |
Possible use case
CRM Enhancement: Add profile photos to contact records for visual identification.
Personalized Outreach: Include profile pictures in personalized email or message templates.
Identity Verification: Retrieve profile photos for manual identity verification workflows.
Linkedin Person Lookup
What it is
Look up LinkedIn profiles by person information using Enrichlayer
How it works
This block finds LinkedIn profiles by matching person details like name, company, and title using Enrichlayer's API. Provide first name and company domain as minimum inputs, with optional last name, location, and title for better matching.
Enable similarity checks and profile enrichment for more detailed results.
Inputs
| Input | Description | Type | Required |
|---|---|---|---|
| first_name | Person's first name | str | Yes |
| last_name | Person's last name | str | No |
| company_domain | Domain of the company they work for (optional) | str | Yes |
| location | Person's location (optional) | str | No |
| title | Person's job title (optional) | str | No |
| include_similarity_checks | Include similarity checks | bool | No |
| enrich_profile | Enrich the profile with additional data | bool | No |
Outputs
| Output | Description | Type |
|---|---|---|
| error | Error message if the operation failed | str |
| lookup_result | LinkedIn profile lookup result | PersonLookupResponse |
Possible use case
Lead Discovery: Find LinkedIn profiles for leads when you only have name and company.
Contact Matching: Match CRM contacts to their LinkedIn profiles for enrichment.
Prospecting: Discover LinkedIn profiles of people at target companies.
Linkedin Role Lookup
What it is
Look up LinkedIn profiles by role in a company using Enrichlayer
How it works
This block finds LinkedIn profiles by role title and company using Enrichlayer's API. Specify a role like CEO, CTO, or VP of Sales along with the company name to find matching profiles.
Enable enrich_profile to automatically fetch full profile data for the matched result.
Inputs
| Input | Description | Type | Required |
|---|---|---|---|
| role | Role title (e.g., CEO, CTO) | str | Yes |
| company_name | Name of the company | str | Yes |
| enrich_profile | Enrich the profile with additional data | bool | No |
Outputs
| Output | Description | Type |
|---|---|---|
| error | Error message if the operation failed | str |
| role_lookup_result | LinkedIn role lookup result | RoleLookupResponse |
Possible use case
Decision Maker Discovery: Find key decision makers at target companies for sales outreach.
Executive Research: Look up C-suite executives for account-based marketing.
Org Chart Building: Map leadership at companies by looking up specific roles.