AI Assistant Tools Reference (MCP)

This page lists what a connected AI assistant can do through the Solidarity Tech MCP server. For how to connect an assistant and how organization admins control access, see AI Assistants (MCP).

Two things decide which tools your assistant sees:

  1. Your role. A tool only appears when your role has the matching dashboard permission. If you cannot see phonebank reports in the dashboard, your assistant cannot either.
  2. What you approved when connecting. Read access is always included. Each write permission is a separate checkbox on the approval page. To add one later, disconnect the assistant on Settings → AI Assistants and connect it again.

Every tool call runs as you. It sees exactly the people, events, campaigns, and automations your dashboard login sees, in the scope you approved (your whole organization or one chapter).

Read tools

These are available on every connection. Some appear only when your role has the listed permission. List tools return 25 results per page by default and 100 at most, and a single response cannot exceed 2 MB.

ToolWhat it doesNeeds
search_peopleFinds people by name, email, or phone, or by a structured filter (the same filter engine as the People page). Can return a count only.
describe_people_filtersLists the filter rules available in your organization, with their labels, value types, and operators.
search_filter_valuesResolves names to filter values: event names to ids, tag names, chapter names, custom property options.
get_personOne person's record: contact fields, custom properties, tags, chapter, assigned organizer, dashboard link. Restricted fields are redacted per your permissions.
get_person_timelineA person's activity feed: texts, calls with notes and transcription summaries, notes, and platform activity.
list_relationshipsRecorded relationships for a person. People outside your visibility are omitted.
list_scheduled_callsScheduled one on one calls, yours by default.
list_follow_up_tasksYour follow up tasks, open by default.
list_saved_listsSaved people lists in your scope.
get_org_schemaChapters in your scope, member tags, custom property definitions, and your own identity and permissions on this connection.
search, fetchA simple name, email, or phone search that returns person ids, and a full record lookup by that id. Some assistants use this pair instead of search_people.
list_events, get_event_turnoutEvents with sessions; RSVP, attendance, and show rate per session.Manage Events
list_text_blasts, get_text_blast_reportSent text blasts; delivery, clicks, conversions, opt outs.Draft Text Blasts
list_email_blasts, get_email_blast_reportSent email blasts; delivery, opens, clicks, A/B results, unsubscribes.Draft Email Blasts
get_phonebank_reportPhonebank and textbank task results.Any phonebank or textbank permission
get_canvass_reportDoor knocking results by turf and disposition.Manage canvasses, and canvassing enabled for the organization
get_team_activityOrganizer activity over a date window: calls, texts, notes, tasks, RSVPs, assignments.View Team Activity
list_automations, get_automation, get_automation_options, validate_automationRead existing automations, list the available triggers, steps, and ids, and dry run a definition.View automations or Manage automations

Write tools

Write tools appear only when all three are true: the organization setting is Enabled, your role has AI Assistant Write Access, and you checked that permission when connecting. Each write also needs the dashboard permission you would need to do the same thing by hand.

Approval checkboxToolsWhat they doNeeds
Add notes to peoplecreate_noteAdds a note to a person, attributed to you.Update Basic Person Details
Edit tags and custom propertiesupdate_tags, update_custom_propertyAdds or removes tags; sets one custom property value. Read only and restricted properties follow the dashboard rules.Update Basic Person Details; Add New Tags for tag names that do not exist yet
Save people listscreate_saved_listSaves a filter as a named list in your scope.Add List
Schedule follow-up tasks for youschedule_follow_upCreates a follow up task with a person, assigned to you.Can Be Assigned Agent
Create and edit automationscreate_automation, update_automation, replace_automation_steps, update_automation_step, activate_automation, deactivate_automationBuilds and edits automations. See the next section.Manage automations in the automation's scope

Every write shows up in the dashboard exactly as if you had done it there: notes and tags on the person's timeline, lists on the People page, tasks in your task list, automations on the Automations page.

How automation building works

Automations send real messages to real people, so the tools follow a fixed order:

  1. Look up the building blocks. get_automation_options returns the trigger types, step types, the settings each step accepts, and the ids your assistant may reference: email senders, email wrappers, chapters, event tags, custom properties, funnels and stages, assessment keys, team member groups, assignable agents, roles, and the scope's languages. Events come from list_events.
  2. Validate. validate_automation checks the whole definition and returns every problem at once, with nothing saved. Checks include triggers, steps, message text in every supported language, Liquid merge tags such as {{ user.first-name }}, decision filters, and every referenced id.
  3. Create, inactive. create_automation saves the automation switched off. Nothing runs and nobody is messaged. The response includes a dashboard link so you can review it.
  4. Activate on your say so. activate_automation turns it on. The assistant is instructed to call it only when you explicitly ask to activate that automation. Activation is refused, with the list of problems, when the automation is not complete.

Editing follows the same rules:

  • update_automation changes the name, triggers, languages, quiet hours, or goals. It never changes the on/off state.
  • update_automation_step changes one step in place (message text, a delay length, tag names). This is safe while people are enrolled. Someone already waiting on a delay keeps their original timer; the new value applies to people who reach the step later.
  • replace_automation_steps swaps the whole step tree. It is refused while anyone is actively enrolled, because removing steps would strand people mid flow. Deactivate first and wait for enrollments to finish, or edit single steps.
  • deactivate_automation stops new enrollments. People already enrolled finish their remaining steps, the same as the dashboard toggle.

What the tools refuse:

  • Any sender, wrapper, page, event, saved list, chapter, or agent that belongs to another organization.
  • Unknown settings keys, unknown trigger or step types, unsupported language codes, and message text without the default language.
  • A duplicate name in the same scope (unless you ask to allow it).
  • Changes to an automation that belongs to a parent organization when your connection is approved for a chapter or a child organization. Your assistant can read those automations but not change them.

Example prompts

AskWhat the assistant uses
"How many members in the Oakland chapter have not been contacted in 90 days?"describe_people_filters, search_filter_values, search_people with count only
"Prep me for my calls this week."list_scheduled_calls, then get_person_timeline for each person
"How did Tuesday's text blast do?"list_text_blasts, get_text_blast_report
"What was the show rate for the rally?"list_events, get_event_turnout
"Add a note that Maria agreed to volunteer at the picket."create_note (needs the notes permission)
"Tag everyone who attended the training as trained-steward."search_people, then update_tags per person (needs the tags permission)
"Save that as a list called Q3 stewards."create_saved_list (needs the lists permission)
"Remind me to call Jamal Friday at 3pm."schedule_follow_up (needs the tasks permission)
"Build a welcome series: text on signup, wait two days, then tag them welcomed."get_automation_options, validate_automation, create_automation (needs the automations permission). The automation is created off.
"Looks good, turn it on."activate_automation

Safety notes

  • Data your assistant reads (messages, notes, transcripts, names, property values) is treated as data, never as instructions. The assistant is told to ignore any directions embedded in it.
  • The assistant is instructed to make a change only when you asked for that change in the current conversation.
  • Every tool call is recorded with the tool name, the connection, and whether it succeeded. Message contents and person data are not stored in that log. A write also records the id of the record it touched, and nothing else.
  • Disconnecting on Settings → AI Assistants revokes access immediately. Setting the organization to Read only blocks every write tool for every connection, regardless of what individuals approved.

Did this page help you?