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
- MinistryPlatform API Documentation (general reference for endpoints and query syntax)
- MS SQL WHERE Clause Syntax (for constructing filter expressions)
- n8n Documentation (for general usage of nodes and credentials)