Http button PCF: Make HTTP request locally
This is a simple button that makes HTTP calls directly from the browser — no Custom Connector and not directly integrated with Premium Power Automate.
I originally built this for a bank where the core layer and core integration layer only allowed internal network access. To sync master data from their internal platform, this PCF was essential, as external access (Microsoft’s cloud) was blocked.
There is another version that supports OAuth2 and can strip malicious payloads later, but I think this version is sufficient for most community use cases.
⚠️ Important Notice on Security and DLP
This component executes HTTP requests directly in the user’s browser, which means it does not comply with Power Platform Data Loss Prevention (DLP) policies.
➡️ Please use this component at your own risk, especially in environments with strict governance, security, or compliance requirements.
I recommend using it only with trusted APIs and avoiding sensitive or confidential data in ungoverned environments.
✨ Features
- Send HTTP requests (GET, POST, PUT, PATCH, DELETE)
- Fully configurable:
- Font size, color, and weight
- Border and background styles
- Button text and behavior
- Built with React + Fluent UI
📦 Download
You can download the latest managed solution here:
➡️ Download HttpButton_Managed.zip
🛠️ Input Properties
display-name-key | Description |
---|---|
🔤 Text | Text displayed on the button (e.g. “Send Request”). |
🌐 Target endpoint | HTTPS URL of the REST endpoint to call (must begin with https:// ). |
📨 Method | HTTP method: POST, GET, PUT, PATCH or DELETE. |
📦 JSON payload | JSON payload string (required for POST/PUT/PATCH). |
🔑 Authentication Type | Authentication type: None, Basic or API Key. |
👤 Basic Auth Username | Username for Basic auth (if Authentication Type = Basic). |
🔒 Basic Auth Password | Password for Basic auth (if Authentication Type = Basic). |
🏷️ API Key Header Name | Header name for API Key (if Authentication Type = API Key). |
🗝️ API Key Value | API Key value (if Authentication Type = API Key). |
🎨 FontName | Font family for button text (e.g. “Segoe UI”). |
🎨 FontSize | Font size in pixels (e.g. 10.5 ). |
🎨 FontColor | Color of the text when enabled. |
🎨 FontWeight | Text weight: normal, bold, bolder, lighter. |
🎨 DisabledFontColor | Color of the text when disabled. |
🎨 DisabledFillColor | Background color when disabled. |
🎨 BorderColor | Button border color. |
🎨 BorderThickness | Border thickness in pixels. |
🎨 BorderRadius | Border corner radius in pixels. |
📌 Note: POST requests require a valid JSON payload.
📤 Output Properties
display-name-key | Description |
---|---|
📊 Responses | JSON string with statusCode and body of the HTTP response. |
📊 Read the Response
- The control outputs a JSON string in the Responses field, for example:
{ "statusCode": 200, "body": "{ \"success\": true }" }