FlowRunner
PricingContact
Theme
Start Free

Good Grants

Forms

Connect AI agents to Good Grants, the grantmaking platform from Creative Force. Agents receive and update applications, assign reviewers, record allocations and payment records, create funds, and read the categories, chapters, and statuses a program is configured with.

6 triggers 43 actions API key available
On Funding Event fires for a scheduled allocation payment
Agent runs Get Payment to read the amount, currency, due date and external identifier
Agent runs Get Allocation to compare the amount paid so far against the amount allocated
Agent matches the cleared bank reference against the External ID recorded on the payment
Agent posts the match, the remaining allocation balance and the fund it draws against
The grants manager confirms before Update Payment moves the record to Paid

What This Integration Enables

Good Grants is the grantmaking platform from Creative Force, and unlike most submission systems, a decision inside it eventually becomes money leaving an organisation. The connector is built around that arc. On the intake side, applications are listed with filters across category, chapter, season, form, applicant, tag, status, moderation state, review status, payment status and grant status, and Get Application expands one of them into every field answer, every uploaded file with a signed download link, and every contributor. Applications are created, updated through their workflow statuses, tagged, untagged and deleted. Users covering applicants, reviewers, chapter managers and program managers are created, updated, deleted and restored, and Get User Auth Token mints a single sign-on credential that signs a named person into the program without a password, which is a credential to treat like one.

Review and funding are where the platform's own vocabulary matters. Assignments pair applications with reviewers for a score set and round, and Create Assignment answers asynchronously with HTTP 202, so the pairings are confirmed by polling List Assignments rather than trusting the response. Recuse Reviewer is the documented conflict of interest path and leaves the application in the round, which is why it is the right move where Delete Assignment would take submitted scores with it. Get Leaderboard returns the ranked view a grant committee decides from, with per criterion weights and auto scores. On the money side, funds carry a budget, a currency and a remaining available balance, Create Allocation commits an award from a fund against an application and reduces that balance, and allocation payments record the individual disbursements with amount, status, due and paid dates, payment method and an External ID for the paying system's own reference. Be precise about what that means: Good Grants records the commitment and the disbursement state, and the bank transfer itself happens in your accounts payable or banking system. This connector moves records, not funds.

Program structure is read only here. List Categories, List Chapters and List Grant Statuses return the shape of the program so a flow can route an application to the right regional team or assign a valid grant status slug, and none of the three creates or edits that configuration. Create Fund is the one setup write in the connector. The event surface, by contrast, is real: six triggers cover application, funding, grant, review, user and document events, and each one registers its own Good Grants webhook and removes it when the trigger is deleted. Two details are worth designing around. The vendor delays the application updated event by five minutes while everything else arrives immediately, and the optional Webhook Signing Key should always be set, because leaving it empty means Good Grants generates a key the service never sees, signature verification is skipped with a warning, and callback URL secrecy becomes the only protection on the delivery.

Without FlowRunner

Submissions mirrored by export Applications are pulled into a review tracker on whatever cadence someone remembers
Disbursement state lives in two places The finance system knows a transfer cleared and Good Grants still shows the payment scheduled
Conflicts of interest handled by hand A reviewer who should step aside is removed from the queue by an administrator after the fact

With FlowRunner

Submissions mirrored on the event On Application Event delivers the submission and Get Application expands its full field answers
Disbursement state reconciled at the source Cleared transfers are matched on External ID and the payment record is updated to match
Conflicts handled on the documented path Recuse Reviewer takes the reviewer off the application while the application stays in the round

Use Case Scenarios

Submission Mirror

On Application Event fires for a submitted application. Because List Applications returns top level fields only, the agent immediately calls Get Application to pull the complete record: every field answer with its label, every attachment with a signed download link, every contributor with their own field values. It normalises the result and appends it to the review tracker in Google Sheets, files the attachments, and posts a submission notice to the program channel in Slack. The tracker is current within the delivery, not within the next export.

Award to Agreement

On Grant Event reports a grant status change to awarded. The agent reads List Funds to confirm the fund still has headroom for the amount, issues the grant agreement for signature with DocuSign, and waits. When the signed envelope returns, it runs Create Allocation to commit the money from the named fund against the application, then Create Payment to schedule the first disbursement with the External ID the finance system will recognise. The award, the agreement and the commitment stay in step because one flow holds all three.

Reviewer Conflict Handling

A reviewer declares a conflict on an application partway through a round. The agent reads List Assignments to find every score set the reviewer covers for that application, and takes the documented path: Recuse Reviewer, which removes that reviewer from scoring while the application stays in the round and other reviewers' work is untouched. It records the declaration with Create Payment Comment where funding is already in play, or against the application through Tag Application otherwise, and notifies the program manager. Delete Assignment is deliberately not used here, because it would take any scores already submitted with it.

Human-in-Loop Highlight

Update Payment moving a record to Paid is the gate on this connector, and the reason is not the database write. The vendor requires a paid date whenever the status is Paid, the change raises the Payment Status Changed webhook event, and the On Funding Event trigger documents applicant facing payment pending and payment successful events alongside it. Flipping a payment to Paid is therefore a statement to a grantee that their money has been sent. Delete Payment exists and returns the amount to the allocation's unpaid balance, so the ledger can be corrected, but nothing in Good Grants or in FlowRunner unsends the message that reached the grantee, and a grants program that tells a small charity their funding has cleared when it has not spends the rest of the quarter on that phone call. So the agent does the reconciliation and stops short of the write. It posts the matched pair to the finance and grants owner: "Allocation payment for Riverbank Community Trust, 24,000 GBP, due 31.08, External ID AP-2026-0774. A cleared transfer of 24,000 GBP with reference AP-2026-0774 was found in the accounting system, value date 09.08. Allocation shows 24,000 of 60,000 paid, fund Community Resilience 2026 has 118,500 remaining. Mark Paid with paid date 09.08, hold pending the bank statement, or flag the reference mismatch?" A person answers. Only then does Update Payment run, and Create Payment Comment records who confirmed it and against which bank reference. Everything before that point, the matching, the balance checks, the fund headroom read, runs without anyone being asked.

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

43 actions

Account

1
  • Get Account Returns the Good Grants account that the configured API key belongs to, including the account name, the program domains it serves, the enabled languages, the account owner, the product tier, the hosting region, and the account timezone. Use it to confirm the key is live and to read the region value that decides which regional API host the rest of the actions should target.

Applications

7
  • List Applications Returns a paginated list of grant applications with their top level fields, including title, applicant, category, chapter, season, form, status, moderation status, grant status, grant end date, tags, auto score, and file and contributor counts. Filter by title, category, chapter, season, form, applicant, tag, status, moderation state, review status, payment status, grant status, and last updated date. The response carries the standard pagination envelope (current_page, data, last_page, per_page, total).
  • Get Application Returns a single grant application by its slug. Unlike List Applications, the response expands the full application record: every application field with its label and submitted value, all uploaded files and attachments with signed download links, and all contributors with their contributor fields. Use it after a trigger fires to pull the complete submission.
  • Create Application Creates a grant application on behalf of an applicant. Category, chapter, applicant, season, and title are required; the form, workflow status, moderation status, grant status, grant end date, and custom deadline are optional. Application field answers are supplied as an object keyed by field slug, which Get Fields Dictionary can resolve. Returns the created application including its new slug.
  • Update Application Updates an existing grant application. Every parameter is optional, so only the values supplied are changed. Use it to move an application through its workflow (including the resubmitted status, which Create Application does not accept), record a moderation decision, assign a grant status and end date, or write new answers into application fields.
  • Delete Application Deletes a grant application by its slug. The application is removed from the active list and can afterwards be found by setting Deleted Only on List Applications. Returns an empty body on success (HTTP 204).
  • Tag Application Adds one or more tags to an existing application. Tags travel in the URL path, so supply them as a list or as a comma separated string. Tagging fires the Application Tagged webhook event, which makes it a convenient way to hand work between a Good Grants program and an external system.
  • Untag Application Removes one or more tags from an existing application. Tags travel in the URL path, so supply them as a list or as a comma separated string. Only the tags named are removed; any others stay in place.

Funding

7
  • List Allocations Returns a paginated list of fund allocations. Each allocation links one application to one fund and records the amount awarded, the amount already paid, the currency, and the applicant, chapter, and season it belongs to. Filter by fund, category, chapter, or tag to report on committed versus disbursed money.
  • Get Allocation Returns a single fund allocation by its slug, including the amount allocated, the amount paid so far, the currency, and the linked application, applicant, fund, chapter, and season. Use it to check remaining balance before scheduling another payment.
  • Create Allocation Allocates money from a fund to an existing application, which is how a grant award is committed in Good Grants. Requires the application slug, the fund slug, and the amount. The allocation inherits the fund currency and reduces the fund available balance. Firing this action raises the Allocation Created webhook event. Routed for sign-off.
  • Update Allocation Changes the amount of an existing allocation, or moves it to a different fund. Note the vendor behavior when the fund changes: Good Grants deletes the original allocation and creates a replacement, so the allocation slug changes and the new slug is returned in the response headers rather than the body.
  • Delete Allocation Deletes an allocation, releasing the committed amount back to the fund available balance. Returns an empty body on success (HTTP 204).
  • List Funds Returns a paginated list of the funds configured on the program, each with its name, description, ISO 4217 currency, total budget, amount already allocated, and remaining available balance. Use it to check headroom before creating an allocation, or to report on budget consumption across funds.
  • Create Fund Creates a new fund with a budget and an ISO 4217 currency code, for example USD or GBP. The name and description are sent as translated values under the language configured on the service (en_GB when none is set), which is the shape Good Grants expects for translatable text.

Payments

6
  • List Payments Returns a paginated list of allocation payments, the individual disbursements made against a grant allocation. Each record carries the amount, currency, status, due and paid dates, payment method, external identifier, and the linked allocation, application, applicant, and fund. Filter by status, allocation, or the external identifier written by a finance system.
  • Get Payment Returns a single allocation payment by its slug, expanded with its payment method, applicant, application, fund, allocation, and the total allocation amount it draws against. Use it to reconcile one disbursement against the finance system that issued it.
  • Create Payment Schedules or records a payment against an existing allocation. The allocation slug, amount, and status are required, and the vendor requires a paid date whenever the status is Paid. Store the identifier from the paying system in External ID so later runs can find the payment again without keeping the Good Grants slug.
  • Update Payment Updates an existing allocation payment. The vendor marks amount and status as required on this endpoint, so send both even when only one is changing. Moving a payment to Paid requires a paid date and raises the Payment Status Changed webhook event. Routed for sign-off.
  • Delete Payment Deletes an allocation payment, returning the amount to the unpaid balance of its allocation. Returns an empty body on success (HTTP 204) and raises the Payment Deleted webhook event.
  • Create Payment Comment Adds a comment to an allocation payment, which is how a finance note, a rejection reason, or a bank reference is recorded against a disbursement inside Good Grants. Returns the new comment with its own slug.

Applicants and Users

7
  • List Users Returns a paginated list of the people registered on the program: applicants, reviewers, chapter managers, and program managers. Each record carries name, email, mobile, language, confirmation state, roles, notification preferences, and the timestamp the account was created and confirmed. Filter by confirmation state, the season a user joined or was active in, and whether they have applications.
  • Get User Returns a single user, looked up by either their slug or their email address, since Good Grants serves both on the same route. The response expands the full record including roles, notification preferences, and all user profile fields with their labels and values; uploaded profile files include a download link.
  • Create User Creates a user on the program, typically an applicant or a reviewer. First name, last name, and password are required, plus at least one of email or mobile. Roles are assigned by role slug, notification preferences are booleans, and profile answers are supplied as an object keyed by user field slug. Creating a user raises the User Registered webhook event.
  • Update User Updates an existing user. Every parameter is optional, so only the values supplied are changed. Use it to correct contact details, reset a password, grant or revoke roles, change notification preferences, or write new answers into profile fields. Updating a user raises the User Updated webhook event.
  • Delete User Deletes a user from the program. The account is removed from the active list and can afterwards be found by setting Deleted Only on List Users, and restored with Restore User. Returns an empty body on success (HTTP 204).
  • Restore User Restores a previously deleted user, returning the account to the active list along with its roles and profile fields. Find the slug of a deleted account by running List Users with Deleted Only switched on. Returns an empty body on success (HTTP 204).
  • Get User Auth Token Returns a single sign-on authentication token for a user, which lets an external portal sign that person straight into the Good Grants program without asking for a password. The token grants access as that user, so treat it as a credential and pass it only over a channel the recipient controls.

Review and Scoring

8
  • List Assignments Returns a paginated list of review assignments, each pairing an application with a reviewer for a given score set and round. The response includes the category and chapter of the application and the reviewer comments grouped by scoring criterion, along with any abstention and conflict of interest notes.
  • Get Assignment Returns a single review assignment by its slug, expanded with the application it covers, the category and chapter, and the reviewer comments grouped by scoring criterion. Use it after an Assignment Completed trigger to read what a reviewer wrote.
  • Create Assignment Assigns applications to reviewers for a score set across one or more judging rounds. All four inputs are lists or slugs and all are required: the score set, the applications, the reviewers, and the rounds. Good Grants processes the request asynchronously and answers HTTP 202, so poll List Assignments to confirm the pairings were created.
  • Delete Assignment Deletes a review assignment, removing the application from that reviewer's queue. Any scores already submitted for the assignment go with it, so prefer Recuse Reviewer when the reviewer should simply step aside. Returns an empty body on success (HTTP 204).
  • Recuse Reviewer Recuses a reviewer from an application, the conflict of interest path in Good Grants. The application stays in the round but the named reviewer no longer scores it. Naming a score set limits the recusal to that score set; leaving it empty applies it wherever the reviewer is assigned to the application.
  • Unrecuse Reviewer Reverses a recusal, putting the application back into the reviewer's queue. Naming a score set limits the reversal to that score set; leaving it empty applies it wherever the reviewer was recused from the application. Returns an empty body on success (HTTP 204).
  • Get Leaderboard Returns the scored leaderboard for a score set: every application with its total score against the maximum available, the per criterion breakdown with weights, its auto score, category, chapter, division, grant status, tags, and submission time. This is the ranked view a grant committee uses to decide which applications to fund.
  • List Action Tasks Returns a paginated list of action tasks, the decision steps Good Grants raises for reviewers at an action stage. Each task carries its token, the application and category it covers, the action stage, the assigned reviewers with their email addresses, the decision recorded so far, and the date the action is due. Filter by reviewer, season, decision, action stage, and created or updated date.

Program Setup

3
  • List Categories Returns a paginated list of the categories a program accepts applications into, each with its translated name, description, shortcode, status, parent category, linked form and season, number of divisions, and counts of chapters and applications. Filter by season, chapter, parent category, form, or status.
  • List Chapters Returns a paginated list of chapters, the regional or organizational divisions a program is split into. Each chapter carries its translated name, status, the season it belongs to, and the users who manage it. Use it to route an application to the right regional team.
  • List Grant Statuses Returns the grant statuses configured on the program, for example Awarded, Reporting, or Closed, each with its translated name and description, its display order, and how many grants currently sit in it. Read the slug from here before assigning a status with Create Application or Update Application.

Application Content

4
  • List Attachments Returns a paginated list of attachments uploaded to applications, each with its token, filename, signed download link, display order, the attachment tab it sits on, and any attachment field values. The download link is a time limited signed URL, so fetch the file promptly rather than storing the link.
  • List Contributors Returns a paginated list of contributors, the co-applicants, team members, or referees attached to an application through a contributor tab. Each contributor carries its own field values, such as first name, last name, and identifier, alongside the application and season it belongs to.
  • List Documents Returns a paginated list of documents generated on the program, such as grant agreements and award letters produced from document templates. Each record carries the translated document name and description, its file type, a file token with a download link, the application and user it belongs to, any linked allocation, and whether it has been shared with the user.
  • Get File Info Returns the metadata for an uploaded file by its token, including the filename, MIME type, size in bytes, image dimensions, media duration, embedded metadata such as title, caption, and copyright, and a signed download link. Video files also list their transcoded renditions. Use it to resolve a file token from an application, attachment, or document into a downloadable URL.

Triggers

6 triggers

Event Triggers

6
  • On Application Event Fires when an application changes in Good Grants, covering creation, submission and resubmission, updates, tagging, moderation decisions, eligibility decisions, collaborator invitations, and individual field value changes. The delivered payload is the full application record including applicant, category, chapter, season, status, application fields, attachments, and contributors. Note the vendor delays the Application Updated event by five minutes; every other event is sent immediately. Choose Any Event to receive them all.
  • On Funding Event Fires when money moves on a grant: an allocation is created, or an allocation payment is created, updated, deleted, or changes status, plus the applicant facing payment pending and payment successful events. The delivered payload is the allocation or payment record including amount, currency, fund, allocation balance, due and paid dates, payment method, external identifier, and the linked application and applicant. Choose Any Event to receive them all.
  • On Grant Event Fires when a grant moves through its post-award lifecycle: the grant status changes, or a grant report is created or submitted. Use it to drive reporting reminders, to release the next payment when a report lands, or to sync grant state into an external portfolio system. Choose Any Event to receive them all.
  • On Review Event Fires when review work is created or finished: an assignment is created or completed, or a review task is created or submitted. Follow it with Get Assignment or List Action Tasks to read the reviewer comments and decisions behind the event. Choose Any Event to receive them all.
  • On User Event Fires when a person registers on the program, has their profile updated, or is granted a role. Use it to mirror new applicants and reviewers into a CRM, or to kick off onboarding when someone is given a reviewer role. Choose Any Event to receive them all.
  • On Document Event Fires when a document is created, updated, or deleted on the program, which is how generated grant agreements and award letters announce themselves. The payload carries the document record with its file token, so follow it with Get File Info to obtain a download link. Choose Any Event to receive them all.

Frequently Asked Questions

What can FlowRunner do with Good Grants?

FlowRunner agents can run Get Account, List Applications, and Get Application in Good Grants, plus 40 more actions.

Does connecting Good Grants to FlowRunner require OAuth?

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

Can Good Grants trigger a FlowRunner workflow automatically?

Yes. Good Grants supports 6 triggers that can start a FlowRunner workflow automatically.

Start building with Good Grants

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