MinistryPlatform icon

MinistryPlatform

Consume MinistryPlatform API for church management data operations

Actions6

Overview

This node integrates with the MinistryPlatform API, a church management system, to perform data operations on various tables such as Contacts, Participants, Events, and more. Specifically, the Table - List operation retrieves multiple records from a specified MinistryPlatform table, supporting filtering, sorting, pagination, and other query customizations.

Common scenarios include:

  • Fetching a list of contacts or participants filtered by certain criteria (e.g., those created after a specific date).
  • Retrieving event records ordered by date.
  • Searching for groups or donations matching a search term.
  • Paginating through large datasets by skipping and limiting the number of returned records.

Practical example:

  • Retrieve the top 50 contacts whose last name contains "Smith", ordered by display name ascending.
  • List all events grouped by event type with a having clause to filter groups.

Properties

Name Meaning
Table Name The name of the MinistryPlatform table to query. Common examples: Contacts, Participants, Events, Households, Groups, Donations, Volunteers, etc.
Additional Fields A collection of optional parameters to customize the query:
Distinct: Return only distinct records (true/false).
Filter: MS SQL WHERE clause syntax to filter records.
Global Filter ID: Apply a global filter by its ID.
Group By: Field name to group results.
Having: HAVING clause for grouped results.
Order By: Field and direction to order results (e.g., "Display_Name asc").
Search: Text to search across searchable fields.
Select: Comma-separated list of fields to return.
Skip: Number of records to skip (for pagination).
Top: Maximum number of records to return.
User ID: User context ID for queries sensitive to user permissions.

Output

The output is an array of JSON objects representing the records retrieved from the specified MinistryPlatform table. Each object contains key-value pairs corresponding to the fields selected or defaulted by the query.

Example output structure:

[
  {
    "Contact_ID": 123,
    "First_Name": "John",
    "Last_Name": "Smith",
    "Email_Address": "john.smith@example.com"
  },
  {
    "Contact_ID": 124,
    "First_Name": "Jane",
    "Last_Name": "Doe",
    "Email_Address": "jane.doe@example.com"
  }
]

The node does not output binary data for this operation.

Dependencies

  • Requires an active connection to the MinistryPlatform API.
  • Needs an API authentication credential configured in n8n to authorize requests.
  • The node uses HTTP GET requests to fetch data from /tables/{tableName} endpoint with query parameters based on additional fields.

Troubleshooting

  • Invalid JSON format in parameters: This error occurs if the input JSON for records or parameters is malformed. Ensure JSON strings are properly formatted.
  • Records must be an array: When creating or updating records, the input must be a JSON array of objects.
  • API errors due to incorrect table names or field names: Verify that the table name and any fields used in filters, selects, or ordering exist in your MinistryPlatform instance.
  • Empty results: Could be caused by overly restrictive filters or incorrect search terms.
  • Permission issues: If using User ID or Global Filter ID, ensure the authenticated user has appropriate permissions.

Links and References

Discussion