FlowRunner
PricingContact
Theme
Start Free

Add verified environmental and social impact to a workflow with the GoodAPI Standalone API, planting trees and recording other verified actions. Agents tie a real contribution to a customer event.

14 actions API key available
GoodAPI website ↗ Platform Documentation ↗ Capability data verified 2026-08-01
A payment succeeds in the commerce system for an order that qualifies under the contribution rule
Agent reads the order ID, the line quantity and the customer reference
Agent computes the contribution count and confirms it sits inside the campaign cap
Agent calls Plant Trees with the order ID as both attribution tag and idempotency key
Agent calls Get Tree Evidence and stores the milestone timeline against the order record
Agent sends the customer their confirmation with the shareable URL from Get Dashboard URL
A campaign owner decides which cancelled-order registrations to refund before the billing cycle closes

What This Integration Enables

Almost every connector in this catalog moves data. This one moves money, and that changes what careful looks like. A call to Plant Trees creates a billed registration against your Stripe subscription and produces a statement you are going to put in front of a customer. Two disciplines follow immediately, and GoodAPI has built the surface for both. The first is idempotency: a webhook that fires twice must not contribute twice, so every registration call takes an idempotency key, and a repeated key returns the original record rather than creating and billing a second one. The second is evidence: rather than asking you to take the claim on faith, the API returns a milestone timeline per registration covering registration, fund distribution to the planting partner, allocation to a site and confirmed planting, each milestone carrying its own evidence payload.

FlowRunner agents work across the whole of that. They record tree plantings and ocean-bound plastic bottle recoveries against a triggering event, tagged so they can be reconciled later by campaign, order or customer. They list registrations by tag, metadata or date range for impact dashboards and for backfilling events that were missed. They refund inside the billing window when an order does not stand up. They search a charity directory by name or Employer Identification Number, validate a charity before recording a donation against it, and pull the shareable organization dashboard URL. Note that GoodAPI marks the charitable donation endpoints as early access and states that their signatures may change, which is worth knowing before a customer-facing flow depends on them.

Without FlowRunner

Impact stated as a pledge A commitment on the website with no per-order record standing behind it
Month-end batching Someone tallies qualifying orders at the end of the month and makes a single contribution by hand
Claims that cannot be traced Marketing repeats a total that nobody can walk back to a specific registration

With FlowRunner

A registration per event Each qualifying order creates its own record carrying an attribution tag and metadata
Safe against retries An idempotency key means a replayed webhook returns the original record instead of contributing and billing twice
Claims backed by returned evidence Each registration carries the milestone timeline and field evidence the API returns for it

Use Case Scenarios

A contribution attached to each qualifying order

A payment succeeds in Stripe. The agent reads the order, applies the contribution rule to work out the count, and calls Plant Trees with the order ID as the idempotency key and as the attribution tag. Using the order ID for both is what makes the flow safe to replay: if the payment webhook fires again after a timeout, the second call returns the original registration instead of planting again. The response carries all-time and current-month totals, so the confirmation email the customer receives can state the contribution made on their order and the organization's running total in the same message, without a second lookup.

Monthly reconciliation and an impact report

At the start of each month the agent calls List Planted Trees and List Rescued Bottles filtered to the previous month's date range, writes the registrations into Airtable beside the orders they were attributed to, and flags any qualifying order with no matching registration for backfill. Because the list endpoints are not paginated, the agent always applies a filter rather than asking for everything. It then calls Get Planting Evidence for the aggregated verification statistics and per-region field evidence that GoodAPI's planting partner publishes, and assembles the report from returned data rather than from last quarter's copy.

Donations routed to a validated charity

A loyalty flow lets customers direct a contribution to a charity of their choice. The agent calls Search Charities with the name the customer typed, presents the matches with their Employer Identification Numbers so the right organization is picked rather than a similarly named one, then calls Record Donation against the chosen charity, which GoodAPI validates against the search provider before creating the record. Subscribe To Donation Billing runs once during setup to provision the required Stripe subscription items, not per donation.

Human-in-Loop Highlight

Refunds are on a clock. Refund Trees and Refund Plastic Bottles only succeed while the registration sits inside the current Stripe billing cycle, which is roughly thirty days depending on the billing day, and older registrations are rejected outright. That gives a batch of cancelled orders a hard and asymmetric shape: some of the associated registrations can still be reversed, some already cannot, and the window is closing while nobody is looking at it.

So when a batch of orders is cancelled, charged back or found to be a duplicate import, the agent does not decide. It calls List Planted Trees filtered by the campaign's attribution tag, sorts the registrations by whether they fall inside the current cycle, and puts the whole picture in front of the campaign owner in one message: "Forty-two registrations tagged campaign-spring are attached to orders that have been cancelled. Eleven fall outside the current billing cycle and can no longer be refunded. Refund the remaining thirty-one in full, refund partially, or leave them recorded as contributed?" Leaving them is a real answer, not a fallback, because a contribution the customer was already told about is a claim that has been made, and pulling it back is a decision about the brand rather than about the ledger. That judgment is exactly the class of call FlowRunner routes to a person, and the reason human-in-the-loop is a first-class part of the flow rather than an approval bolted on afterwards. Refund Donation deserves the same treatment for a further reason: it is a soft delete that does not automatically reverse the Stripe metered usage, so it has to be paired with your own billing reconciliation and somebody has to know it happened.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via preferred channel
Human decides
Agent resumes with decision

Agent Capabilities

14 actions

Trees

3
  • Plant Trees Record a tree planting against your organization, for example after a checkout, a subscription renewal or a campaign milestone. The response returns the new registration plus all-time and current-month totals, so the contribution can be shown to the customer immediately. Supply an idempotency key whenever the triggering event could fire twice; a repeated key returns the original record instead of contributing and billing again.
  • List Planted Trees Retrieve tree registrations with all-time and current-month totals, filtered by registration ID, attribution tag, an inclusive date range or a metadata filter. Used for impact dashboards, monthly reconciliation and backfilling missed events. The endpoint is not paginated, so always apply a filter on a busy account.
  • Refund Trees Refund a tree registration and zero the matching Stripe usage record, either in part by supplying a count or in whole by omitting it. Used when an order is cancelled or a duplicate is found. Refunds only succeed while the registration is inside the current Stripe billing cycle.

Plastic Bottles

3
  • Rescue Plastic Bottles Record the recovery of ocean-bound plastic bottles against your organization. Behaves exactly like Plant Trees, with the same idempotency model, the same attribution and metadata conventions and the same asynchronous billing, returning the new registration and current totals.
  • List Rescued Bottles Retrieve plastic bottle registrations with all-time and current-month totals, filtered by registration ID, attribution tag, date range or metadata. Used for the same reconciliation and reporting work as the tree listing, and subject to the same lack of pagination.
  • Refund Plastic Bottles Refund a bottle registration and zero the matching Stripe usage record, in part or in whole. Used for cancellations, and constrained to the current billing cycle.

Evidence

2
  • Get Planting Evidence Return aggregated tree-planting verification statistics and per-region field evidence such as photos, videos and field reports from the GoodAPI planting partner. Used to power a verified-planting page or a one-shot impact report. The response is cached for thirty days platform-wide and reflects all verified planting rather than only your organization's contributions, which is a distinction worth preserving in whatever you publish from it.
  • Get Tree Evidence Return the full milestone timeline and field evidence for one specific registration, covering registration, fund distribution to the planting partner, allocation to a planting site and confirmed planting. Each milestone carries its own evidence payload including site coordinates, crew details and verification media, and milestones move from pending to completed as the tree progresses. Used to attach traceable evidence to a single customer's contribution.

Charitable Donations

5
  • Search Charities Search the charity directory by name or Employer Identification Number, backed by the search provider configured on your account. Used to validate a charity before recording a donation, or to power a charity picker. Every result carries both a provider-specific nonprofit ID and a universal EIN.
  • Record Donation Record a charity donation for your organization, supplying at least one of EIN or nonprofit ID. The charity is validated against the search provider before the donation is created, so searching first is a safe pre-check, and amounts are always in US dollar cents. This endpoint is in early access and its signature may change.
  • List Donations List the donations recorded by your organization with filtering by attribution tag, metadata key, or an inclusive date range, and with pagination. Used for reconciliation, impact reporting and showing a customer their giving history. Refunded donations are included and flagged. This endpoint is in early access and its signature may change.
  • Subscribe To Donation Billing Provision the flat-rate and metered Stripe subscription items required for charity donations on your existing GoodAPI subscription. Used once as a setup step before any live donation is recorded, not per donation. This endpoint is in early access and its signature may change.
  • Refund Donation Refund a recorded donation by marking it refunded. This is a soft delete of the donation record and does not automatically reverse the Stripe metered usage, so it should be paired with your own billing reconciliation. This endpoint is in early access and its signature may change.

Account and Dashboard

1
  • Get Dashboard URL Return the public impact dashboard URL for your organization, a shareable page showing total impact, monthly trends and per-attribution breakdowns. The URL is stable for the lifetime of the organization, so it is safe to embed in emails or on a website. This is also the quickest way to confirm an API key is valid.

Frequently Asked Questions

What can FlowRunner do with GoodAPI?

FlowRunner agents can run Plant Trees, List Planted Trees, and Refund Trees in GoodAPI, plus 11 more actions.

Does connecting GoodAPI to FlowRunner require OAuth?

No. GoodAPI connects to FlowRunner with an API key, no OAuth flow required.

Can GoodAPI trigger a FlowRunner workflow automatically?

GoodAPI doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

Start building with GoodAPI

$100 in credits. No card required. Connect in minutes.