otherapi_key

Affinda

Affinda provides an AI-powered document processing platform that automates data extraction from various document types.

Verdict

Affinda parses resumes, invoices, and other documents into structured data your team can query and route. @mention it to upload a file, extract fields like candidate skills or invoice line items, then validate or tag the results. Useful for recruiting teams triaging applicants, finance teams processing vendor bills, or ops teams building document workflows. You'll need an API key from Affinda's dashboard. The MCP exposes 39 tools covering upload, parsing, batch annotation updates, webhooks, and workspace management. Setup takes five minutes; parsing accuracy depends on document quality and the extractor you choose.

Common use cases

  • Parse candidate resumes during hiring sprints
  • Extract invoice line items for AP review
  • Tag and route support documents by type
  • Validate parsed data before pushing to CRM
  • Batch update annotations across document sets

Integration

Vendor
Affinda
Category
other
Auth
API_KEY
Tools
39
Composio slug
affinda

Tools

  • Batch Update Annotations

    Tool to update multiple annotations in one request. use when you need to modify parsed values or other fields across many annotations at once.

  • Create Collection

    Tool to create a new collection. use after you have a valid workspace id and want to group documents by a specific extractor within that workspace.

  • Create Document

    Tool to upload a new document for parsing. use when you have the document file or a public url and need to extract structured data immediately.

  • Create Organization

    Tool to create a new organization. use when you have a unique organization name and want to group resources under it.

  • Create RESTHook Subscription

    Tool to create a new resthook subscription. use after confirming your webhook endpoint is ready to receive document event notifications.

  • Create Tag

    Tool to create a new tag. use when you need to label documents in a specific workspace.

  • Create Validation Result

    Tool to create a validation result. use when recording validation outcomes for a document after parsing.

  • Create Workspace

    Tool to create a new workspace. use when you need to programmatically create a workspace container within an organization.

  • Delete Collection
    destructive

    Tool to delete a specific collection by its id. use when you need to remove an unused collection. use after verifying the collection id.

  • Delete Document
    destructive

    Tool to delete a specific document by its id. use when you need to remove a document that is incorrect or no longer needed, after confirming the document id.

  • Delete Organization
    destructive

    Tool to delete a specific organization by its id. use when you need to remove an organization after confirming its identifier.

  • Delete Resthook Subscription
    destructive

    Tool to delete a specific resthook subscription by id. use after confirming the subscription identifier when the webhook is no longer needed.

  • Delete Workspace
    destructive

    Tool to delete a specific workspace by its id. use when you need to remove an unused workspace after confirming the workspace id.

  • Delete Workspace Membership
    destructive

    Tool to remove a user from a workspace by membership id. use after confirming the workspace membership id to revoke access.

  • Get All Validation Results

    Tool to list validation results for documents. use after processing documents to inspect validation outcomes.

  • Get Annotations

    Tool to retrieve a list of all annotations. use after parsing documents to list their annotations.

  • Get Collection

    Tool to retrieve details of a specific collection by its id. use when you need full metadata about a collection after confirming its identifier.

  • Get Collections

    Tool to retrieve a list of all collections. use when you need to list collections in your affinda workspace after authentication.

  • Get Document

    Tool to retrieve details of a specific document by its id. use when you need full metadata and parsing results for a document after upload.

  • Get Documents

    Tool to retrieve a list of all documents. use when you need to list documents in your affinda workspace after authentication.

  • Get Document Type

    Tool to retrieve details of a specific document type by its id. use when you need to confirm the configuration or metadata of a document type before processing documents.

  • Get Document Types

    Tool to retrieve a list of all document types. use when you need to display or filter documents by type before processing.

  • Get Extractors

    Tool to retrieve a list of all extractors. use when you need to paginate through available extractors.

  • Get Organization

    Tool to retrieve details of a specific organization by its id. use when you need to fetch an organization's metadata after confirming its identifier.

  • Get Organizations

    Tool to retrieve a list of all organizations. use after authenticating to list all organizations available to the api key.

  • Get Resthook Subscription

    Tool to retrieve details of a specific resthook subscription by its id. use after confirming its creation to verify its settings.

  • Get RESTHook Subscriptions

    Tool to retrieve a list of all resthook subscriptions. use after authenticating to list all webhook subscriptions associated with your account.

  • Get Tags

    Tool to list all tags. use after confirming authentication to fetch tags across workspaces.

  • Get Usage by Workspace

    Tool to retrieve monthly credits consumption for a workspace. use when tracking usage over a specific period before reporting.

  • Get Workspace

    Tool to retrieve details of a specific workspace by its id. use when you need full workspace metadata after confirming its identifier.

  • Get Workspace Membership

    Tool to retrieve details of a specific workspace membership by its id. use when you need to confirm a user's role and details within a workspace after obtaining the membership identifier.

  • Get Workspace Memberships

    Tool to list all workspace memberships for the authenticated user. use when you need to see roles and access across all workspaces.

  • Get Workspaces

    Tool to retrieve a list of all workspaces. use when you need to list workspaces filtered by organization and optional name.

  • Update Collection

    Tool to update specific fields of a collection. use when you need to rename or reassign a collection after creation.

  • Update Document

    Tool to update specific fields of a document. use when you need to rename, reassign, or adjust expiry and storage settings after document creation.

  • Update Document Data

    Tool to update parsed data for a resume or job description document. use after retrieving the document when you want to correct or add parsed fields.

  • Update Organization

    Tool to update specific fields of an organization. use when you need to modify an organization's name, avatar, or webhook and validation settings after creation.

  • Update RESTHook Subscription

    Tool to update an existing resthook subscription. use after confirming the subscription identifier to modify its url, event, or activation status.

  • Update Workspace

    Tool to update specific fields of a workspace. use when you need to modify a workspace’s name, visibility, or document rejection policy after creation.

Setup

Setup guide

  1. 11. Log in to Affinda's dashboard and generate an API key under Settings → API Keys. 2. In Switchy, open your workspace settings and click 'Add Integration'. 3. Search for Affinda, select it, and paste your API key when prompted. 4. Click 'Connect' — Switchy tests the key and confirms the connection. 5. Open any Space and type '@Affinda' to see available tools. 6. Test the connection by running '@Affinda create_workspace' with a name and organization ID from your Affinda account. 7. Upload a sample document with '@Affinda create_document' using a file URL or attachment, then check the parsed output. 8. If parsing fails, verify your Affinda account has active extractors configured for the document type you're testing.

What teammates see: by default, memories from Affinda are scoped to the Space (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.

Works well with

Top models

Compatibility data appears once enough Spaces have used this MCP together with a given model.

How Switchy teams use it

Not enough Spaces yet to publish anonymised usage stats (we require ≥ 50 Spaces per week).

Starter prompts

Parse Resume from URL

@Affinda create_document with this resume URL: [paste link]. Use the resume extractor and return all parsed fields including contact info and experience.
Open in a Space →

Batch Tag Invoices

@Affinda create_tag named 'Q1-Reviewed' in workspace [workspace_id], then show me how to apply it to all invoices uploaded this week.
Open in a Space →

Set Up Webhook for New Docs

@Affinda create_resthook_subscription for document.parse.completed events in collection [collection_id]. Send notifications to [webhook_url].
Open in a Space →

Validate Parsed Invoice

@Affinda create_validation_result for document [document_id]. Mark the vendor name and total amount as validated, flag the line items as needing correction.
Open in a Space →

Create Collection for Contracts

@Affinda create_collection named 'Vendor Contracts' in workspace [workspace_id] using the contract extractor. Confirm it's ready for uploads.
Open in a Space →

Example outputs

Illustrative - representative of the model's voice and quality, not literal recordings.

Prompt

@Affinda create a new collection called 'Q1 Invoices' in workspace ws_abc123 using the invoice extractor

Output

Collection 'Q1 Invoices' created successfully in workspace ws_abc123. Collection ID: coll_xyz789. This collection is now configured to use the invoice extractor and is ready to receive documents. You can upload invoices to this collection via the Create Document tool, and all parsed data will be grouped here for easy retrieval and batch processing.

Notes

This example shows Affinda's organizational structure: workspaces contain collections, and each collection uses a specific extractor (resume, invoice, receipt, etc.). You'll need a valid workspace ID before creating collections. Collections help segment documents by type or project for cleaner data management.

Prompt

@Affinda upload the PDF at https://example.com/invoice-march-2024.pdf to collection coll_xyz789 and extract all line items

Output

Document uploaded and parsed successfully. Extracted data includes: Invoice #INV-2024-0312, vendor 'Acme Supplies', date 2024-03-15, total $4,287.50. Line items: (1) Office chairs x5 @ $250 each, (2) Desk lamps x10 @ $45 each, (3) Monitor stands x3 @ $129.17 each. Document ID: doc_456def for future reference or annotation updates.

Notes

This demonstrates Affinda's core parsing capability. The MCP accepts file uploads or public URLs and returns structured data extracted via machine learning models. Parsing accuracy depends on document quality and the extractor type. You can refine extracted values later using the Batch Update Annotations tool if corrections are needed.

Prompt

@Affinda summarize all invoices in collection coll_xyz789 from the last 30 days and flag any over $5,000

Output

Retrieved 47 invoices from collection coll_xyz789 (last 30 days). Total spend: $89,342.18 across 12 vendors. High-value invoices flagged: (1) INV-2024-0308 from TechCorp, $7,450.00 for server hardware; (2) INV-2024-0319 from CloudServices, $6,200.00 for annual licensing; (3) INV-2024-0322 from OfficeMax, $5,890.50 for furniture. All other invoices under threshold. Recommend review of TechCorp invoice for budget variance.

Notes

This synthesis example pairs Affinda's document retrieval with AI reasoning to surface insights. The MCP doesn't natively filter by date or amount—those queries happen via the AI layer after fetching all documents in a collection. Useful for spend analysis, compliance checks, or anomaly detection across parsed document sets.

Use-case deep-dives

Resume screening for hiring teams

When Affinda makes sense for high-volume candidate intake

A 6-person recruiting team processing 200+ resumes per week hits the sweet spot for Affinda's document parsing. The Create Document tool uploads PDFs or URLs and extracts structured fields—name, skills, work history—without manual data entry. Batch Update Annotations lets the team correct parsing errors across dozens of resumes at once, which matters when you're triaging fast. The threshold: if you're only hiring twice a year or your ATS already parses resumes well enough, the API key setup and learning curve aren't worth it. But if you're constantly copy-pasting candidate data into spreadsheets or Notion, Affinda pays off in the first sprint. Set up a Collection per job req, tag resumes by source, and let the parser do the grunt work.

Invoice processing for finance ops

Affinda for accounts payable at mid-scale

A 3-person finance team at a 40-employee company receives 80-120 vendor invoices monthly—enough volume to justify automation but not enough to warrant a full ERP module. Affinda's document parser extracts line items, totals, and vendor details from PDFs or email attachments. Create Document handles the upload, Create Validation Result logs which invoices passed your approval rules, and RESTHook Subscription pings your Slack when a high-value invoice arrives. The trade-off: if your invoices are wildly inconsistent formats or handwritten, accuracy drops and you'll spend time fixing annotations. If 70% of your invoices are standard templates from repeat vendors, Affinda cuts data entry time by half and gives you a structured audit trail in one workspace.

Contract metadata extraction for legal teams

When Affinda handles contract intake but not review

A 4-person legal ops team supporting a 100-person SaaS company needs to track contract dates, parties, and renewal terms across 300+ agreements. Affinda's parser pulls those fields from signed PDFs so you're not manually updating a spreadsheet every time a contract closes. Create Collection groups contracts by type (NDA, MSA, DPA), Create Tag marks which need renewal follow-up, and Batch Update Annotations fixes parsing mistakes when the tool misreads a date format. The boundary: Affinda extracts metadata, not legal risk or clause analysis—if you need to flag indemnity language or liability caps, you still need a human or a specialized contract AI. For intake and org, though, it beats the alternative of a paralegal spending 10 hours a month on data entry.

Frequently asked

What does the Affinda MCP do in Switchy?

It connects Switchy to Affinda's document parsing API, letting your team upload resumes, invoices, or other documents and extract structured data automatically. You can create collections to group documents by type, tag them for organization, and set up webhooks to trigger actions when parsing completes. All 39 tools are available, so you can build end-to-end document processing workflows without leaving Switchy.

Do I need admin access to connect Affinda?

You need an Affinda API key with permissions to create workspaces, collections, and documents. If your team already has an Affinda account, ask your admin for a key scoped to the organization you want to use. If you're starting fresh, sign up for Affinda directly and generate a key from their dashboard. Switchy stores the key encrypted and uses it for all API calls.

Can the Affinda MCP edit documents after they're parsed?

No. Affinda parses documents into structured JSON but doesn't modify the original files. You can use the Batch Update Annotations tool to correct extracted values—like fixing a misspelled name or adjusting a date—but the source PDF or image stays unchanged. If you need to regenerate a document with corrections, export the data and use a separate tool to create a new file.

How is this different from uploading documents to Affinda's web app?

The MCP lets you automate the entire flow inside Switchy. Instead of manually uploading files and copying results, you can trigger parsing from a prompt, route extracted data to other MCPs like Airtable or Notion, and set up webhooks to notify your team when documents finish processing. It's faster for repetitive tasks and keeps everything in one workspace.

Who on the team should connect the Affinda MCP?

Whoever manages your document processing workflows or has access to your Affinda API key. Once connected, any team member in the Switchy workspace can use the MCP to parse documents or query collections. If you're processing sensitive data like resumes or invoices, make sure your Switchy workspace permissions match your compliance requirements.

Data last verified 607 hours ago.Sources aggregated hourly to weekly. See docs/architecture/model-directory.md.