frappe-external-api-connector

Generate a reusable Python API client class for Frappe REST integrations.

25|14|Updated Dec 15, 2025
One-click install
npx skills add https://github.com/Venkateshvenki404224/frappe-apps-manager --skill frappe-external-api-connector
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: frappe-external-api-connector
Source: https://github.com/Venkateshvenki404224/frappe-apps-manager/tree/main/frappe-apps-manager/skills/frappe-external-api-connector
Command: npx skills add https://github.com/Venkateshvenki404224/frappe-apps-manager --skill frappe-external-api-connector

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Integrating Frappe with third-party REST APIs, payment gateways, or external data sources involves writing boilerplate code for HTTP requests, authentication, and error handling. This Skill automates API client generation.

Core Features & Use Cases

  • API Client Class: Generate a reusable Python class for making GET/POST requests, handling headers, timeouts, and common HTTP errors.
  • OAuth Integration: Provide patterns for implementing OAuth 2.0 flows for secure token-based authentication with external services.
  • Configuration Management: Integrate with Frappe's frappe.conf for managing API keys and URLs securely, keeping sensitive data out of code.
  • Use Case: Generate an API client to connect Frappe to a shipping carrier's API, allowing you to fetch shipping rates and create shipments directly from a Sales Order.

Quick Start

Generate a Python API client class to connect to an external weather API, using an API key for authentication, to fetch current weather data for a given city.

Frequently Asked Questions about frappe-external-api-connector

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I connect Frappe to an external REST API?

Generate a reusable API client class using this Skill to handle GET and POST requests, authentication headers, timeouts, and HTTP error mapping. The generated code integrates with Frappe's configuration for secure credential storage and supports OAuth 2.0 token flows with caching.

Can I use OAuth 2.0 authentication with external APIs in Frappe?

Yes. This Skill implements OAuth 2.0 token flows with built-in caching, allowing secure token-based authentication with external services. Tokens are managed through Frappe's configuration system to keep credentials out of your codebase.

How do I handle API errors and timeouts when integrating third-party services?

The generated ExternalAPIClient class maps common HTTP errors and implements timeout handling automatically. It provides structured error responses so your Frappe workflows can gracefully handle failures from payment gateways, shipping APIs, or other external data sources.

What's the best way to manage API keys securely in Frappe integrations?

Store API keys and endpoint URLs in Frappe's frappe.conf configuration rather than hardcoding them. This Skill's generated client class retrieves credentials from configuration at runtime, keeping sensitive data out of code repositories.

Can I integrate multiple external APIs with a single reusable client class?

Yes. The ExternalAPIClient class is designed as a reusable component for any REST API. You can instantiate it with different endpoints and credentials to connect Frappe to payment gateways, shipping carriers, weather services, or other external APIs simultaneously.

Do I need to write custom error handling for each external API integration?

No. This Skill generates a standardized ExternalAPIClient with built-in HTTP error mapping and timeout handling. The same client works across different external services, reducing boilerplate and ensuring consistent error responses throughout your Frappe workflows.