MCP 서버

elvanto

io.usefulapi/elvanto
비즈니스 및 운영 생산성 공개 · 연결 가능 MCP 2026-07-28

이 MCP로 할 수 있는 일

Manages church people, groups, services, calendars, volunteer rosters, songs, follow-up flows, and giving records in Elvanto.

elvanto_add_person_to_flow_step
Add a person to a people-flow step
Put a person into a people-flow step (e.g. start a new guest's follow-up), optionally assigning a step admin. Elvanto: peopleFlows/steps/addPerson.
파괴적 작업
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['step_id', 'person_id'], 'properties': {'step_id': {'type': 'string', 'minLength': 1, 'description': "The people flow step's id."}, 'assign_to': {'type': 'string', 'description': 'Person id of the step admin to assign them to.'}, 'person_id': {'type': 'string', 'minLength': 1, 'description': "The person's id."}}}
elvanto_add_person_to_group
Add a person to a group
Add a person to a group, optionally as Leader or Assistant Leader. Undoable by removing them from the group in Elvanto. Elvanto: groups/addPerson.
파괴적 작업
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['group_id', 'person_id'], 'properties': {'group_id': {'type': 'string', 'minLength': 1, 'description': "The group's id."}, 'position': {'enum': ['Leader', 'Assistant Leader'], 'type': 'string', 'description': 'Position in the group. Omit for a regular member.'}, 'person_id': {'type': 'string', 'minLength': 1, 'description': "The person's id."}}}
elvanto_create_calendar_event
Create a calendar event
Create an event on a calendar, optionally repeating. Times are 24-hour GMT. Use status "draft" to stage it unpublished. Elvanto: calendar/events/create.
파괴적 작업
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name', 'calendar_id', 'start', 'end', 'organizer'], 'properties': {'end': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$', 'description': 'End, yyyy-mm-dd hh:mm:ss (24h, GMT).'}, 'name': {'type': 'string', 'minLength': 1, 'description': 'Event name.'}, 'color': {'type': 'string', 'pattern': '^#[0-9A-Fa-f]{6}$', 'description': 'Hex color, e.g. #FF0000.'}, 'start': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$', 'description': 'Start, yyyy-mm-dd hh:mm:ss (24h, GMT).'}, 'where': {'type': 'string', 'description': 'Where the event is held.'}, 'repeat': {'enum': ['daily', 'weekdays', 'mon_wed_fri', 'tue_thu', 'weekly', 'fortnightly', 'monthly', 'yearly'], 'type': 'string', 'description': 'Make it a repeating event.'}, 'status': {'enum': ['public', 'private', 'draft'], 'type': 'string', 'description': 'Visibility. Default public.'}, 'all_day': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'All-day event? Default no.'}, 'locations': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'minItems': 1}], 'description': 'Location(s) to add to the event.'}, 'organizer': {'type': 'string', 'minLength': 1, 'description': 'Person id of the organizer.'}, 'repeat_on': {'type': 'string', 'description': 'Weekly/fortnightly: monday..sunday. Monthly: weekday or monthday.'}, 'calendar_id': {'type': 'string', 'minLength': 1, 'description': 'Calendar id (see elvanto_list_calendars).'}, 'description': {'type': 'string', 'description': 'Description (basic HTML allowed).'}, 'register_url': {'type': 'string', 'format': 'uri', 'description': 'Registration website URL.'}, 'who_can_attend': {'type': 'string', 'description': '"all" to let anyone attend; omit for invite-only.'}, 'repeat_end_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$', 'description': 'Stop repeating at, yyyy-mm-dd hh:mm:ss (GMT).'}, 'show_guest_list': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'Show the guest list on the event page? Default no.'}, 'repeat_frequency': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'How often to repeat. Required for daily, monthly, yearly.'}, 'repeat_occurrences': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Number of repeats.'}}}
elvanto_create_person
Create a person
Add a new person to the church database (e.g. a first-time guest). Returns the new person id and family id. Does not create a login. Elvanto: people/create.
파괴적 작업
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['firstname', 'lastname'], 'properties': {'email': {'type': 'string', 'description': 'Email address.'}, 'phone': {'type': 'string', 'description': 'Phone number (non-digits are stripped by Elvanto).'}, 'fields': {'type': 'object', 'description': 'Extra fields to set, e.g. {"gender":"Male","birthday":"1989-04-23","marital_status":"Married","departments":["Music"],"custom_<field id>":"value"}. Use *_replace / *_remove variants (e.g. departments_replace) to replace or remove list values. access_permissions* are refused: this server never changes what a person may administer.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'anyOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'mobile': {'type': 'string', 'description': 'Mobile number (non-digits are stripped by Elvanto).'}, 'contact': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'Mark the person a contact (yes) or not (no).'}, 'archived': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'Mark the person archived (yes) or not (no).'}, 'lastname': {'type': 'string', 'minLength': 1, 'description': 'Last name.'}, 'family_id': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, {'type': 'string', 'const': 'new'}], 'description': 'Family id to join an existing family, or "new" to start a new family.'}, 'firstname': {'type': 'string', 'minLength': 1, 'description': 'First name.'}, 'volunteer': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'Mark the person a volunteer (yes) or not (no).'}, 'category_id': {'type': 'string', 'description': 'People category id (see elvanto_list_people_categories).'}, 'preferred_name': {'type': 'string', 'description': 'Preferred name (nickname).'}, 'family_relationship': {'enum': ['Primary Contact', 'Spouse', 'Partner', 'Child', 'Sibling', 'Grandfather', 'Grandmother', 'Other'], 'type': 'string', 'description': 'Relationship within the family.'}}}
elvanto_get_group
Get one group
Fetch one group by id, optionally with its members (fields=["people"]). Elvanto: groups/getInfo.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': "The group's id."}, 'fields': {'type': 'array', 'items': {'enum': ['people', 'categories', 'departments', 'demographics', 'locations'], 'type': 'string'}, 'description': 'Optional extra group fields: people (members and their position), categories, departments, demographics, locations.'}}}
elvanto_get_person
Get one person
Fetch one person by id, optionally with extra fields (birthday, addresses, departments, locations, family, custom fields...). Elvanto: people/getInfo.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': "The person's id."}, 'fields': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'description': 'Optional extra person fields to return, e.g. gender, birthday, anniversary, school_grade, marital_status, development_child, special_needs_child, security_code, receipt_name, giving_number, mailing_address, mailing_city, mailing_state, mailing_postcode, mailing_country, home_address, home_city, home_state, home_postcode, home_country, access_permissions, departments, service_types, demographics, locations, family, or a custom field as custom_<field id> (see elvanto_list_custom_fields).'}}}
elvanto_get_service
Get one service
Fetch one service by id with optional detail: service/rehearsal times, plan (order of service), volunteers roster, songs, files, notes. Elvanto: services/getInfo.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': "The service's id."}, 'fields': {'type': 'array', 'items': {'enum': ['series_name', 'service_times', 'rehearsal_times', 'other_times', 'plans', 'volunteers', 'songs', 'files', 'notes', 'picture'], 'type': 'string'}, 'description': 'Optional extra service fields: series_name, service_times, rehearsal_times, other_times, plans (the order of service), volunteers (the roster: who is serving in which position, and whether confirmed), songs, files, notes, picture.'}}}
elvanto_list_calendar_events
List calendar events
List calendar events between two dates, optionally for specific calendars (use "services" as a calendar to include services). Elvanto: calendar/events/getAll.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['start', 'end'], 'properties': {'end': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'End date (yyyy-mm-dd).'}, 'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Results page to retrieve (1-based). Default 1.'}, 'start': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Start date (yyyy-mm-dd).'}, 'fields': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'description': 'Optional extra event fields, e.g. ["locations"].'}, 'calendar': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'minItems': 1}], 'description': 'Calendar id(s) to read from; "services" for services.'}, 'page_size': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': "Records per page, 1-1000. Default 100 here (Elvanto's own default is 1000)."}}}
elvanto_list_calendars
List calendars
List the church's calendars with their ids. Elvanto: calendar/getAll.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
elvanto_list_custom_fields
List custom person fields
List the church's custom person fields (id, name, type and allowed values). Use the id as custom_<id> in fields / search. Elvanto: people/customFields/getAll.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
elvanto_list_financial_categories
List financial categories
List giving / chart-of-accounts categories (funds) with ids; status 1 = active, 0 = archived. Elvanto: financial/categories/getAll.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Results page to retrieve (1-based). Default 1.'}, 'page_size': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': "Records per page, 1-1000. Default 100 here (Elvanto's own default is 1000)."}}}
elvanto_list_groups
List groups
List small groups / ministries with meeting day, time, place and frequency; add fields=["people"] to include members and leaders. Elvanto: groups/getAll.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Results page to retrieve (1-based). Default 1.'}, 'fields': {'type': 'array', 'items': {'enum': ['people', 'categories', 'departments', 'demographics', 'locations'], 'type': 'string'}, 'description': 'Optional extra group fields: people (members and their position), categories, departments, demographics, locations.'}, 'page_size': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': "Records per page, 1-1000. Default 100 here (Elvanto's own default is 1000)."}, 'suspended': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'yes = only suspended groups, no = exclude them. Default all.'}, 'category_id': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'minItems': 1}], 'description': 'Only groups in this group category id (or any of these ids).'}}}
elvanto_list_people
List people
List people in the church database, optionally filtered by category and by suspended / contact / archived status. Paginated (the response carries page, per_page, total). Elvanto: people/getAll.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Results page to retrieve (1-based). Default 1.'}, 'fields': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'description': 'Optional extra person fields to return, e.g. gender, birthday, anniversary, school_grade, marital_status, development_child, special_needs_child, security_code, receipt_name, giving_number, mailing_address, mailing_city, mailing_state, mailing_postcode, mailing_country, home_address, home_city, home_state, home_postcode, home_country, access_permissions, departments, service_types, demographics, locations, family, or a custom field as custom_<field id> (see elvanto_list_custom_fields).'}, 'contact': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'yes = only contacts, no = exclude contacts. Default all.'}, 'archived': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'yes = only archived people, no = exclude them. Default all.'}, 'page_size': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': "Records per page, 1-1000. Default 100 here (Elvanto's own default is 1000)."}, 'suspended': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'yes = only suspended people, no = exclude them. Default all.'}, 'category_id': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'minItems': 1}], 'description': 'Only people in this people category id (or any of these ids).'}}}
elvanto_list_people_categories
List people categories
List the people categories (e.g. New People, Church Members, Inactive) with their ids. Elvanto: people/categories/getAll.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
elvanto_list_people_flows
List people flows
List people flows — the church's follow-up pipelines (e.g. First Time Guest Follow Up) — with their steps and admins. Elvanto: peopleFlows/getAll.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
elvanto_list_people_flow_step_people
List people in a flow step
List the people currently in one people-flow step, with status, due date and assigned admin — e.g. who still needs a follow-up call. Not paginated. Elvanto: peopleFlows/steps/people.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['step_id'], 'properties': {'status': {'enum': ['complete', 'notstarted', 'pending', 'inprogress'], 'type': 'string', 'description': 'Only people with this status in the step.'}, 'step_id': {'type': 'string', 'minLength': 1, 'description': "The people flow step's id."}, 'assigned': {'type': 'string', 'description': 'Only people assigned to this admin (person id), or "unassigned".'}}}
elvanto_list_people_flow_steps
List a people flow's steps
List the steps of one people flow with descriptions, instructions, due rules and admins. Elvanto: peopleFlows/steps/getAll.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['flow_id'], 'properties': {'flow_id': {'type': 'string', 'minLength': 1, 'description': "The people flow's id."}}}
elvanto_list_services
List services
List services (upcoming by default). Add fields such as volunteers (the roster), plans (order of service) and songs to answer 'who is serving Sunday?' or 'what are we singing?'. Elvanto: services/getAll.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'all': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'yes = include past services too. Ignored when start/end are given.'}, 'end': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Only services on/before this date (yyyy-mm-dd).'}, 'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Results page to retrieve (1-based). Default 1.'}, 'start': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Only services on/after this date (yyyy-mm-dd).'}, 'fields': {'type': 'array', 'items': {'enum': ['series_name', 'service_times', 'rehearsal_times', 'other_times', 'plans', 'volunteers', 'songs', 'files', 'notes', 'picture'], 'type': 'string'}, 'description': 'Optional extra service fields: series_name, service_times, rehearsal_times, other_times, plans (the order of service), volunteers (the roster: who is serving in which position, and whether confirmed), songs, files, notes, picture.'}, 'status': {'enum': ['published', 'draft'], 'type': 'string', 'description': 'Only published or only draft services. Default both.'}, 'page_size': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': "Records per page, 1-1000. Default 100 here (Elvanto's own default is 1000)."}, 'service_types': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'minItems': 1}], 'description': 'Only these service type id(s).'}}}
elvanto_list_song_arrangements
List a song's arrangements
List the arrangements of one song — sequence, BPM, keys, lyrics and chord chart (optionally transposed). Elvanto: songs/arrangements/getAll.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['song_id'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Results page to retrieve (1-based). Default 1.'}, 'files': {'type': 'boolean', 'description': 'Also return attached files.'}, 'song_id': {'type': 'string', 'minLength': 1, 'description': "The song's id (from elvanto_list_songs)."}, 'page_size': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': "Records per page, 1-1000. Default 100 here (Elvanto's own default is 1000)."}, 'chord_chart_key': {'type': 'string', 'description': 'Transpose the chord chart into this key, e.g. F#.'}}}
elvanto_list_songs
List songs
List or search the song library by title, artist or lyrics (with CCLI number, categories and locations). Elvanto: songs/getAll.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Results page to retrieve (1-based). Default 1.'}, 'files': {'type': 'boolean', 'description': 'Also return attached files.'}, 'title': {'type': 'string', 'description': 'Only songs whose title matches.'}, 'artist': {'type': 'string', 'description': 'Only songs by this artist.'}, 'lyrics': {'type': 'string', 'description': 'Only songs whose lyrics contain this text.'}, 'page_size': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': "Records per page, 1-1000. Default 100 here (Elvanto's own default is 1000)."}}}
elvanto_list_transactions
List giving transactions
List giving transactions between two dates, optionally for one fund — donor, date, method, batch and per-fund amounts. Read-only: this server never writes financial records. Elvanto: financial/transactions/getAll.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['start', 'end'], 'properties': {'end': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'End date (yyyy-mm-dd).'}, 'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Results page to retrieve (1-based). Default 1.'}, 'start': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Start date (yyyy-mm-dd).'}, 'page_size': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': "Records per page, 1-1000. Default 100 here (Elvanto's own default is 1000)."}, 'category_id': {'type': 'string', 'description': 'Only this financial category (fund) id.'}}}
elvanto_search_people
Search people
Find people matching field values, e.g. {"email":"john@example.com"} or {"lastname":"Smith","volunteer":"yes"}. Searchable keys: firstname, preferred_name, lastname, email, phone, mobile, category_id, archived, contact, deceased, volunteer, gender, birthday, anniversary, marital_status, school_grade, security_code, receipt_name, giving_number, groups, date_added / date_modified / last_login (UTC, yyyy-mm-dd or yyyy-mm-dd hh:mm:ss; matched as on-or-after), and custom_<field id>. Use only one of archived / contact / deceased at a time. Elvanto: people/search.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['search'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Results page to retrieve (1-based). Default 1.'}, 'fields': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'description': 'Optional extra person fields to return, e.g. gender, birthday, anniversary, school_grade, marital_status, development_child, special_needs_child, security_code, receipt_name, giving_number, mailing_address, mailing_city, mailing_state, mailing_postcode, mailing_country, home_address, home_city, home_state, home_postcode, home_country, access_permissions, departments, service_types, demographics, locations, family, or a custom field as custom_<field id> (see elvanto_list_custom_fields).'}, 'search': {'type': 'object', 'description': 'Field → value pairs to match.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'anyOf': [{'type': 'string'}, {'type': 'number'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'page_size': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': "Records per page, 1-1000. Default 100 here (Elvanto's own default is 1000)."}}}
elvanto_update_person
Update a person
Edit an existing person's details — name, contact info, category, flags, family, or extra fields. Only the fields you pass change. Cannot touch username, password or login status. Elvanto: people/edit.
파괴적 작업
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': "The person's id."}, 'email': {'type': 'string', 'description': 'Email address.'}, 'phone': {'type': 'string', 'description': 'Phone number (non-digits are stripped by Elvanto).'}, 'fields': {'type': 'object', 'description': 'Extra fields to set, e.g. {"gender":"Male","birthday":"1989-04-23","marital_status":"Married","departments":["Music"],"custom_<field id>":"value"}. Use *_replace / *_remove variants (e.g. departments_replace) to replace or remove list values. access_permissions* are refused: this server never changes what a person may administer.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'anyOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'mobile': {'type': 'string', 'description': 'Mobile number (non-digits are stripped by Elvanto).'}, 'contact': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'Mark the person a contact (yes) or not (no).'}, 'archived': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'Mark the person archived (yes) or not (no).'}, 'lastname': {'type': 'string', 'minLength': 1, 'description': 'Last name.'}, 'family_id': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, {'type': 'string', 'const': 'new'}], 'description': 'Family id to join an existing family, or "new" to start a new family.'}, 'firstname': {'type': 'string', 'minLength': 1, 'description': 'First name.'}, 'volunteer': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'Mark the person a volunteer (yes) or not (no).'}, 'category_id': {'type': 'string', 'description': 'People category id (see elvanto_list_people_categories).'}, 'preferred_name': {'type': 'string', 'description': 'Preferred name (nickname).'}, 'family_relationship': {'enum': ['Primary Contact', 'Spouse', 'Partner', 'Child', 'Sibling', 'Grandfather', 'Grandmother', 'Other'], 'type': 'string', 'description': 'Relationship within the family.'}}}
추가됨
elvanto_create_calendar_event
2026년 10월 2일 2:40 AM
추가됨
elvanto_add_person_to_flow_step
2026년 10월 2일 2:40 AM
추가됨
elvanto_add_person_to_group
2026년 10월 2일 2:40 AM
추가됨
elvanto_update_person
2026년 10월 2일 2:40 AM
추가됨
elvanto_create_person
2026년 10월 2일 2:40 AM
추가됨
elvanto_list_transactions
2026년 10월 2일 2:40 AM
추가됨
elvanto_list_financial_categories
2026년 10월 2일 2:40 AM
추가됨
elvanto_list_people_flow_step_people
2026년 10월 2일 2:40 AM
추가됨
elvanto_list_people_flow_steps
2026년 10월 2일 2:40 AM
추가됨
elvanto_list_people_flows
2026년 10월 2일 2:40 AM
추가됨
elvanto_list_calendar_events
2026년 10월 2일 2:40 AM
추가됨
elvanto_list_calendars
2026년 10월 2일 2:40 AM
추가됨
elvanto_list_song_arrangements
2026년 10월 2일 2:40 AM
추가됨
elvanto_list_songs
2026년 10월 2일 2:40 AM
추가됨
elvanto_get_service
2026년 10월 2일 2:40 AM
추가됨
elvanto_list_services
2026년 10월 2일 2:40 AM
추가됨
elvanto_get_group
2026년 10월 2일 2:40 AM
추가됨
elvanto_list_groups
2026년 10월 2일 2:40 AM
추가됨
elvanto_list_custom_fields
2026년 10월 2일 2:40 AM
추가됨
elvanto_list_people_categories
2026년 10월 2일 2:40 AM
추가됨
elvanto_get_person
2026년 10월 2일 2:40 AM
추가됨
elvanto_search_people
2026년 10월 2일 2:40 AM
추가됨
elvanto_list_people
2026년 10월 2일 2:40 AM