Every API call you make, saved as a button.
Stop pasting curl into terminals. Save your Stripe, Mailchimp, HubSpot and webhook endpoints once. Call them from macros. Map response fields into chain results. Full logs, one-click retry.
Interface examples use sample data. Results, counts, and timing vary by site and configuration.
Connect any API, zero code.
A short walk-through of the APIs module: register an external endpoint once, map its response fields, and invoke it through send api in supported execution contexts. Use Variables for non-secret values only. Restrict access to saved credentials and review request logs. No glue code.
Recordings show the interface at the time of capture and can differ from the current build. Follow this page and the current command reference for supported behavior.
Your integrations live in a scratch folder.
You test an endpoint in a terminal tool. It works. You paste it into code, and it works. Six months later, the API changes, the code breaks, and nobody remembers where the original request lived.
Four tabs. One full editor.
Method picker. URL bar. JSON, form-encoded, or raw bodies. Headers. Response mapping. Test console. All inside WordPress.
Pick the fields you actually need.
Map supported dot/bracket response paths to named scalar outputs for later macro steps. This is not a full JSONPath query language. Reserved receipt fields cannot be overwritten.
data[0].user.id just works.{{step1.stripe_id}} directly.success and status_code stay protected.Drop it into any flow.
The send api command is a macro step. Pick your saved API, and mapped response fields flow into the next step like any other chain result.
@loop blocks in the body.charge_status. Branch to refund on failure.The same command, every service.
Save the endpoint once in the APIs module, then call it with send api from a command, macro, or schedule. Four common ones:
https://api.stripe.com/v1/charges with a Bearer secret key. Map the response to charge_status and receipt_url, then branch to a refund on failure or email the receipt on success. Call it with tp send api → "Stripe charge"./3.0/lists/{list_id}/members with basic auth and your API key. Pass the customer email and merge fields from the trigger, so a new WooCommerce order adds the buyer to a list automatically. Call it with tp send api → "Mailchimp subscribe"./crm/v3/objects/contacts with a private-app token. Send name, email, and lifecycle stage from your form or order data to keep the CRM in sync. Call it with tp send api → "HubSpot upsert contact".tp send api → "Slack #orders".Every call, logged and searchable.
When an integration fails at 3 AM, you need to know exactly what was sent, what came back, and how long it took. All of it, one click away.
One place. Every integration.
No more scattered endpoints across plugins, code snippets, and terminal scratch files.
Questions? Answered.
data.user.id and give it a chain-field name like user_id. After the call, downstream macro steps reference {{step1.user_id}} the same way they'd reference any other step's output. Reserved names (success, status_code, body, duration_ms) are protected.Stop building the same API call twice.
Save your integrations once. Call them from anywhere. See every response.