---
title: Follow Up Boss API Integration on Truto
slug: followupboss
category: CRM
canonical: "https://truto.one/integrations/detail/followupboss/"
---

# Follow Up Boss API Integration on Truto



**Category:** CRM  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 139 tools for Follow Up Boss that AI agents can call directly.

- **list_all_follow_up_boss_people** — List people (contacts and leads) in Follow Up Boss. Returns each person's id, firstName, lastName, emails, phones, stage, and tags. Custom fields are only included when fields=allFields is passed. Max 100 per page.
- **get_single_follow_up_boss_person_by_id** — Get a single person (lead/contact) in Follow Up Boss by id. Returns the full person record including name (first/last), stage, source, assigned agent, tags, and contact details across emails, phones, and addresses. Required: id.
- **create_a_follow_up_boss_person** — Manually add a new person (contact) in Follow Up Boss. Returns the created person record with fields such as id, firstName, lastName, stage, emails, phones, addresses, tags, and assignedTo. No fields are strictly required; with deduplicate=true, an existing matching person is returned unchanged. Note: this does not run lead automations — use POST /v1/events to send leads.
- **update_a_follow_up_boss_person_by_id** — Update a person in Follow Up Boss by id. Returns the updated person record including id, firstName, lastName, stage, emails, phones, and tags. Required: id. Tags and phones arrays overwrite existing values (set mergeTags=true to merge new tags); source and sourceUrl cannot be changed after creation.
- **delete_a_follow_up_boss_person_by_id** — Delete a person in Follow Up Boss by id. Deleting a person also deletes all associated data (notes, calls, text messages, etc.). Returns the deleted person record including id, firstName, lastName, stage, and emails. Required: id.
- **follow_up_boss_people_search** — Check whether a person already exists in Follow Up Boss by email address or phone number. Returns: found, matchedBy, assignedTo. Supply email or phone in the request body.
- **follow_up_boss_people_list_unclaimed** — List First To Claim leads in Follow Up Boss that have not been claimed yet and are available to claim. Returns: id, created, name, firstName, lastName, source, sourceId, delayed, picture, claimed. Unclaimed leads are assigned to a fallback agent after a short time (default 15 minutes), so this list is usually empty.
- **follow_up_boss_people_claim** — Claim a lead offered via First To Claim in Follow Up Boss. Returns the full lead object including id, name, firstName, lastName, stage, source, assignedTo, and email/phone/address details. Required: personId. Returns a conflict if the lead was already claimed by someone else.
- **follow_up_boss_people_ignore** — Confirm receipt of a First To Claim lead offer in Follow Up Boss without claiming it. Returns an empty 204 response on success. Required: personId. Ignored leads still appear in the unclaimed list.
- **list_all_follow_up_boss_events** — Search Follow Up Boss events such as inquiries, property views, and calls. Returns: id, created, updated, personId, message, description, noteId, source, property, propertySearch, pageTitle, pageUrl, pageDuration. Some lead events are not accessible via API and are only visible within the Follow Up Boss application.
- **get_single_follow_up_boss_event_by_id** — Get a single Follow Up Boss event by id. Returns the event record including id, type, personId, message, source, and created, with related property and property-search details. Required: id.
- **create_a_follow_up_boss_event** — Send a lead or lead event to Follow Up Boss; the contact is de-duplicated and created or updated. Returns the lead record — not the event — with id, firstName, lastName, stage, source, and emails. 200 updates an existing person, 201 creates one, 204 means the lead flow is archived, and an unmatched person.id returns 404. campaign.source is required when campaign is sent.
- **list_all_follow_up_boss_users** — Search Follow Up Boss users by role, full name, or email. Returns each user's id, name, email, phone, role, status, timezone, groups, teamIds, and leadEmailAddress; role maps to Agent, Broker, or Lender. Max 100 per page.
- **get_single_follow_up_boss_user_by_id** — Get a single Follow Up Boss user by id. Returns the full user record including id, name, email, role, status, timezone, groups, teamIds, and leadEmailAddress; role maps to Agent, Broker, or Lender. Required: id.
- **delete_a_follow_up_boss_user_by_id** — Delete a Follow Up Boss user by id. Returns an empty 204 response on success. Requires administrator access. Required: id.
- **create_a_follow_up_boss_note** — Create a note on a person in Follow Up Boss. Returns the created note including its id, personId, subject, body, and isHtml. Required: personId.
- **get_single_follow_up_boss_note_by_id** — Get a single Follow Up Boss note by id. Returns the note including its id, personId, subject, body, and isHtml. Required: id. Notes created by restricted systems may return 404 even for a valid id.
- **update_a_follow_up_boss_note_by_id** — Update a note's subject, body, or HTML rendering settings by id in Follow Up Boss. Returns the updated note including its id, personId, subject, body, and isHtml. Required: id.
- **delete_a_follow_up_boss_note_by_id** — Delete a note by id in Follow Up Boss. Returns an empty 200 response on success.
- **list_all_follow_up_boss_calls** — List calls in Follow Up Boss, optionally filtered by person or phone number. Returns: id, created, updated, createdById, updatedById, phone, personId, userId, userName, note, outcome, isIncoming, duration, ringDuration, recordingUrl.
- **create_a_follow_up_boss_call** — Add a call in Follow Up Boss. Returns: id, created, updated, createdById, updatedById, phone, personId, userId, userName, note, outcome, isIncoming, duration, ringDuration, recordingUrl. Requires personId, phone, and isIncoming.
- **get_single_follow_up_boss_call_by_id** — Get a single Follow Up Boss call by id. Returns: id, created, updated, createdById, updatedById, phone, personId, userId, userName, note, outcome, isIncoming, duration, ringDuration, recordingUrl.
- **update_a_follow_up_boss_call_by_id** — Update a call in Follow Up Boss by id. Returns: id, created, updated, createdById, updatedById, phone, personId, userId, userName, note, outcome, isIncoming, duration, ringDuration, recordingUrl. Required: id. Only calls created by the calling account/system can be updated.
- **list_all_follow_up_boss_text_messages** — List text messages for a person or phone number in Follow Up Boss. Returns: id, created, updated, createdById, updatedById, personId, name, firstName, lastName, userId, userName, status, message, fromNumber, toNumber, sent, isIncoming, archived, read, sharedInboxId, actionPlanId, isExternal, externalUrl, externalLabel, media, participants, systemName. Filter with personId, toNumber, or…
- **create_a_follow_up_boss_text_message** — Create a record of an externally sent text message in Follow Up Boss. Returns the created record with id, personId, message, status, fromNumber, toNumber, and sent. Requires personId, message, toNumber, and fromNumber. Logs the message only — no actual SMS is sent — and the endpoint is restricted to registered external systems.
- **get_single_follow_up_boss_text_message_by_id** — Get a single text message from Follow Up Boss by id. Returns the message record including id, personId, message, status, fromNumber, toNumber, sent, and isIncoming. Some text message content is restricted and only visible within the Follow Up Boss app. Required: id.
- **list_all_follow_up_boss_templates** — List all Follow Up Boss email templates. Returns: id, created, updated, createdById, updatedById, name, imported, isMobile, isShared, body, subject, isEditable, isDeletable, isShareable, actionPlans, categories. Max 100 per page.
- **create_a_follow_up_boss_template** — Create a new email template in Follow Up Boss. Returns the created template with id, name, subject, body, isShared, and actionPlans. Requires name, subject, and body; only subject and body support Merge Fields.
- **get_single_follow_up_boss_template_by_id** — Get a single Follow Up Boss email template by id, optionally with Merge Fields applied. Returns: id, created, updated, createdById, updatedById, name, imported, isMobile, isShared, body, subject, isEditable, isDeletable, isShareable, actionPlans, categories. Required: id.
- **update_a_follow_up_boss_template_by_id** — Update a Follow Up Boss email template by id. Returns the updated template with id, name, subject, body, and isShared. Required: id. Only subject and body support Merge Fields.
- **delete_a_follow_up_boss_template_by_id** — Delete a Follow Up Boss email template by id. Returns an empty 204 response on success. Required: id. Deletion returns 403 Forbidden if the template is still in use by an Action Plan.
- **follow_up_boss_templates_merge** — Merge a Follow Up Boss email template with multiple recipients, resolving %contact_% merge fields against the first recipient matching the person. Returns the merged template including id, name, subject, and body with merge fields substituted. The recipients cc, bcc, and from keys are accepted but currently unused.
- **list_all_follow_up_boss_text_message_templates** — List all text message templates in Follow Up Boss. Returns each template's id, name, message, isShared, sent/reply totals, and the Action Plans using it. Max 100 per page.
- **create_a_follow_up_boss_text_message_template** — Create a text message template in Follow Up Boss. Returns the created template with id, name, message, isShared, createdBy, and send/reply stats. The message supports merge fields. Requires name and message.
- **get_single_follow_up_boss_text_message_template_by_id** — Get a text message template by id in Follow Up Boss. Returns: id, name, totalSent, totalReplies, message, isShared, createdBy, isEditable, isDeletable, isShareable, sentPeopleIds, actionPlans. Required: id.
- **update_a_follow_up_boss_text_message_template_by_id** — Update a text message template by id in Follow Up Boss. Returns the updated template with id, name, message, isShared, and usage stats. Required: id.
- **delete_a_follow_up_boss_text_message_template_by_id** — Delete a text message template by id in Follow Up Boss. Returns an empty 204 response on success. Deletion fails with 403 Forbidden if the template is still in use by an Action Plan.
- **follow_up_boss_text_message_templates_merge** — Merge a Follow Up Boss text message template with multiple group-text recipients, resolving %contact_*% merge fields (such as %contact_rels_first_name%) from the first recipient matching the person. Returns the rendered text in mergedTemplate. Required: templateId.
- **list_all_follow_up_boss_custom_fields** — List all Follow Up Boss custom fields, optionally filtered by label. Returns: id, label, name, type, isRecurring, choices. Use each field's `name` value when sending custom field data on events or people. Max 100 per page.
- **create_a_follow_up_boss_custom_field** — Create a Follow Up Boss custom field. Returns: id, label, name, type, isRecurring, choices. Requires label and type; use choices for dropdown fields and isRecurring for date fields.
- **get_single_follow_up_boss_custom_field_by_id** — Get a single Follow Up Boss custom field by id. Returns: id, label, name, type, isRecurring, choices. Required: id.
- **update_a_follow_up_boss_custom_field_by_id** — Update a Follow Up Boss custom field by id. Returns: id, label, name, type, isRecurring, choices. Required: id. The field's type cannot be changed after creation — delete and recreate the field instead.
- **delete_a_follow_up_boss_custom_field_by_id** — Delete a Follow Up Boss custom field by id. Returns an empty 204 response on success. Required: id.
- **list_all_follow_up_boss_stages** — List Follow Up Boss stages in a pipeline-sorted collection. Returns each stage's id, name, orderWeight, isProtected, and peopleCount. Max 100 per page.
- **create_a_follow_up_boss_stage** — Create a new stage in Follow Up Boss. Returns the created stage including id, name, orderWeight, isProtected, and peopleCount. Required: name. The orderWeight of all stages is recalculated with gaps of 1000 after creation.
- **get_single_follow_up_boss_stage_by_id** — Get a single Follow Up Boss stage by id. Returns: id, name, orderWeight, isProtected, peopleCount. Required: id.
- **update_a_follow_up_boss_stage_by_id** — Update a Follow Up Boss stage by id. Returns the updated stage including id, name, orderWeight, isProtected, and peopleCount. Required: id. Protected stages (isProtected: true) cannot be renamed.
- **delete_a_follow_up_boss_stage_by_id** — Delete a Follow Up Boss stage by id. Returns an empty 204 response on success. Required: id. Protected stages (isProtected: true) cannot be deleted.
- **list_all_follow_up_boss_tasks** — List Follow Up Boss tasks. Returns task records including id, name, type, personId, AssignedTo, assignedUserId, dueDate, dueDateTime, and isCompleted. Supports filters: personId, assignedTo, assignedUserId, name, type, isCompleted, and due ranges (due, dueStart, dueEnd).
- **create_a_follow_up_boss_task** — Create a new task in Follow Up Boss for a contact. Returns the created task object including id, name, type, personId, assignedUserId, isCompleted, dueDate, and the related person. Required: personId (and either assignedTo or assignedUserId when the other is empty).
- **get_single_follow_up_boss_task_by_id** — Get a single Follow Up Boss task by id. Returns the task object including id, name, type, personId, AssignedTo, assignedUserId, dueDate, and isCompleted. Required: id.
- **update_a_follow_up_boss_task_by_id** — Update an existing Follow Up Boss task by id. Returns the updated task object including id, name, type, personId, assignedUserId, and isCompleted. Required: id.
- **delete_a_follow_up_boss_task_by_id** — Delete a Follow Up Boss task by id. Returns an empty 204 response on success. Required: id.
- **list_all_follow_up_boss_appointments** — Search Follow Up Boss appointments. Returns: id, created, updated, createdById, updatedById, title, description, start, end, allDay, originFub, location, invitees, typeId, type, outcomeId, outcome, externalEventLink, externalCalendarId, isEditable, detailsVisible. Results are limited to appointments created in Follow Up Boss by the authenticating user who is sharing their calendar; filter by…
- **create_a_follow_up_boss_appointment** — Create an appointment in Follow Up Boss. Returns the created appointment object including id, title, start/end times, invitees, typeId, and outcomeId. Requires title, start, and end. Appointments only sync to third-party calendars (Gmail, Outlook) when the invitees list includes the Follow Up Boss user with a synced calendar.
- **get_single_follow_up_boss_appointment_by_id** — Get a single Follow Up Boss appointment by id. Returns: id, created, updated, createdById, updatedById, title, description, start, end, allDay, originFub, location, invitees, typeId, type, outcomeId, outcome, externalEventLink, externalCalendarId, isEditable, detailsVisible. Required: id.
- **update_a_follow_up_boss_appointment_by_id** — Update an appointment in Follow Up Boss by id. Returns the updated appointment object including id, title, start/end times, invitees, typeId, and outcomeId. Required: id.
- **delete_a_follow_up_boss_appointment_by_id** — Delete a Follow Up Boss appointment by id. Returns an empty 204 response on success. Required: id.
- **list_all_follow_up_boss_appointment_types** — List Follow Up Boss appointment types. Returns: id, name, orderWeight. Use sort to order by id, name, or orderWeight (prefix with a minus for descending). Max 100 per page.
- **create_a_follow_up_boss_appointment_type** — Create a Follow Up Boss appointment type. Returns: id, name, orderWeight. Set orderWeight to enforce a specific sort order; all orderWeight values are recalculated with gaps of 1000 after creation.
- **get_single_follow_up_boss_appointment_type_by_id** — Get a single Follow Up Boss appointment type by id. Returns: id, name, orderWeight. Required: id.
- **update_a_follow_up_boss_appointment_type_by_id** — Update a Follow Up Boss appointment type by id. Returns: id, name, orderWeight. Set orderWeight to enforce a specific sort order; all orderWeight values are recalculated with gaps of 1000 after the update. Required: id.
- **delete_a_follow_up_boss_appointment_type_by_id** — Delete a Follow Up Boss appointment type by id, reassigning its existing appointments to the type given by assignTypeId. Returns an empty array on success. Required: id, assignTypeId.
- **list_all_follow_up_boss_appointment_outcomes** — List Follow Up Boss appointment outcomes. Returns each outcome's id, name, and orderWeight. Max 100 per page.
- **create_a_follow_up_boss_appointment_outcome** — Create a Follow Up Boss appointment outcome. Returns: id, name, orderWeight, error, error_description. Restricted to the account owner; orderWeight values are recalculated with gaps of 1000 after creation.
- **get_single_follow_up_boss_appointment_outcome_by_id** — Get a Follow Up Boss appointment outcome by id. Returns: id, name, orderWeight, error, error_description. Required: id.
- **update_a_follow_up_boss_appointment_outcome_by_id** — Update a Follow Up Boss appointment outcome by id. Returns: id, name, orderWeight, error, error_description. Required: id. Restricted to the account owner; orderWeight values are recalculated with gaps of 1000 after update.
- **delete_a_follow_up_boss_appointment_outcome_by_id** — Delete a Follow Up Boss appointment outcome by id. Returns an empty 204 response on success. Required: id, assignOutcomeId. Restricted to the account owner.
- **list_all_follow_up_boss_pipelines** — Search Follow Up Boss pipelines, optionally filtering by an exact pipeline name. Returns: id, name, description, orderWeight, stages.
- **create_a_follow_up_boss_pipeline** — Create a pipeline in Follow Up Boss. Returns the created pipeline including its name, description, orderWeight, and stages. Required: name; each stage object requires name and closedStage.
- **get_single_follow_up_boss_pipeline_by_id** — Retrieve a Follow Up Boss pipeline by id. Returns: id, name, description, orderWeight, stages. Required: id.
- **update_a_follow_up_boss_pipeline_by_id** — Update a Follow Up Boss pipeline by id. Returns the updated pipeline including its name, description, orderWeight, and stages. Required: id. Pass existing stage ids to modify stages; stage objects missing ids are created as new stages.
- **delete_a_follow_up_boss_pipeline_by_id** — Delete a Follow Up Boss pipeline by id. Returns an empty 204 response on success.
- **list_all_follow_up_boss_deals** — List Follow Up Boss deals, optionally filtered by pipeline, user, person, or status. Returns: id, pipelineId, stageId, enteredStageAt, name, status, price, createdAt, orderWeight, description, projectedCloseDate, people, users, peopleIds, userIds, customField1, customField2, customField3, customField4, agentCommission, teamCommission. Deals custom fields are returned by their field name.
- **create_a_follow_up_boss_deal** — Create a deal in Follow Up Boss. Returns the new deal including id, name, stageId, status, price, and projectedCloseDate. Requires name and stageId; deals custom field values can be set by passing the field name. An empty userIds list creates a deal no agents can see.
- **get_single_follow_up_boss_deal_by_id** — Get a single Follow Up Boss deal by its numeric id. Returns the full deal including name, stageId, status, price, pipelineId, people, and users. Required: id.
- **update_a_follow_up_boss_deal_by_id** — Update a Follow Up Boss deal by its numeric id. Returns the updated deal including name, stageId, status, price, and peopleIds. Required: id. An empty userIds list leaves the deal visible only to admins and owners.
- **delete_a_follow_up_boss_deal_by_id** — Delete a Follow Up Boss deal by its numeric id. Returns an empty 204 response on success. Required: id.
- **create_a_follow_up_boss_person_attachment** — Attach a file to a person in Follow Up Boss. Returns: personId, fileName, fileSize, id, mimeType, uri, thumbnailUri, status, createdAt, createdById, createdByName. Requires personId, uri, and fileName; uri must link to a file stored outside Follow Up Boss.
- **get_single_follow_up_boss_person_attachment_by_id** — Get a person attachment by id in Follow Up Boss. Returns: personId, fileName, fileSize, id, mimeType, uri, thumbnailUri, status, createdAt, createdById, createdByName, is_external, system_id. Only attachments created by your registered system are returned. Required: id.
- **update_a_follow_up_boss_person_attachment_by_id** — Update a person attachment by id in Follow Up Boss. Returns: personId, fileName, fileSize, id, mimeType, uri, thumbnailUri, status, createdAt, createdById, createdByName. Requires id, personId, uri, and fileName; uri must link to a file stored outside Follow Up Boss.
- **delete_a_follow_up_boss_person_attachment_by_id** — Delete a person attachment by id in Follow Up Boss. Returns an empty 204 response on success. Required: id.
- **list_all_follow_up_boss_people_relationships** — List relationships between people in Follow Up Boss. Returns relationship records including id, personId, name, type, isPriority, emails, and phones. Filter by personId, name, firstName, or lastName and sort by id, created, updated, name, firstName, lastName, or personId.
- **create_a_follow_up_boss_people_relationship** — Create a new relationship for a person in Follow Up Boss. Returns the created relationship including id, personId, name, type, isPriority, and phones. Associate it with the parent person via personId; the first email or phone in each list becomes primary.
- **get_single_follow_up_boss_people_relationship_by_id** — Get a single relationship by id in Follow Up Boss. Returns the relationship including id, personId, name, firstName, lastName, type, isPriority, emails, phones, and addresses. Required: id.
- **update_a_follow_up_boss_people_relationship_by_id** — Update details of a relationship by id in Follow Up Boss. Returns the updated relationship including id, personId, name, type, and isPriority. personId cannot be changed after creation, and sending emails, phones, or addresses arrays overwrites existing values. Required: id.
- **delete_a_follow_up_boss_people_relationship_by_id** — Delete a relationship by id in Follow Up Boss. Returns an empty 204 response on success. Requires access to the parent person. Required: id.
- **create_a_follow_up_boss_deal_attachment** — Add an attachment to a Follow Up Boss deal by linking an externally hosted file. Returns the created attachment with id, dealId, fileName, mimeType, uri, and createdAt. Required: dealId, uri, fileName. The uri must point to a file stored outside Follow Up Boss; requests without one are rejected.
- **get_single_follow_up_boss_deal_attachment_by_id** — Get a Follow Up Boss deal attachment by id. Returns the attachment with id, dealId, fileName, mimeType, uri, and createdAt. Required: id. Only attachments created by your registered system are returned.
- **update_a_follow_up_boss_deal_attachment_by_id** — Update a Follow Up Boss deal attachment by id. Returns the updated attachment with id, dealId, fileName, mimeType, uri, and createdAt. Required: id, dealId, uri, fileName. The uri must point to a file stored outside Follow Up Boss.
- **delete_a_follow_up_boss_deal_attachment_by_id** — Delete a Follow Up Boss deal attachment by id. Returns an empty response on success. Required: id.
- **list_all_follow_up_boss_deal_custom_fields** — List all deals custom fields available in your Follow Up Boss account. Returns: id, label, name, type, choices, isRecurring, orderWeight, hideIfEmpty, readOnly. Max 100 per page.
- **create_a_follow_up_boss_deal_custom_field** — Create a deals custom field in Follow Up Boss. Returns the created field with id, label, name, type, isRecurring, orderWeight, hideIfEmpty, and readOnly. Requires label and type. orderWeight values are recalculated in gaps of 1000 after saving.
- **get_single_follow_up_boss_deal_custom_field_by_id** — Get a single deals custom field by id in Follow Up Boss. Returns: id, label, name, type, choices, isRecurring, orderWeight, hideIfEmpty, readOnly. Required: id.
- **update_a_follow_up_boss_deal_custom_field_by_id** — Update a deals custom field in Follow Up Boss by id. Returns the updated field with id, label, name, type, and orderWeight (recalculated in gaps of 1000 after saving). Only the account owner can modify deals custom fields. Required: id.
- **delete_a_follow_up_boss_deal_custom_field_by_id** — Delete a deals custom field in Follow Up Boss by id. Returns an empty 204 response on success. Only the account owner can delete deals custom fields. Required: id.
- **list_all_follow_up_boss_smart_lists** — List Follow Up Boss Smart Lists. Returns each list's id, name, isFub2, description, and defaultSmartListId. Max 100 per page. By default only classic-version lists are returned — pass fub2=true for current-version lists or all=true for both.
- **get_single_follow_up_boss_smart_list_by_id** — Get a single Follow Up Boss Smart List by id. Returns: id, name, isFub2, description, defaultSmartListId. Required: id.
- **list_all_follow_up_boss_action_plans** — List FollowUpBoss Action Plans, filterable by status, name, or ids and sortable by any field. Returns: id, created, updated, name, status. Max 100 per page. Planned for deprecation in the upcoming Automations 2.0 rollout.
- **list_all_follow_up_boss_webhooks** — List webhooks registered for the Follow Up Boss account. Returns: id, event, status, url. Max 100 per page.
- **create_a_follow_up_boss_webhook** — Subscribe to a new webhook in Follow Up Boss for a supported event. Returns: id, event, status, url. Requires event and url.
- **get_single_follow_up_boss_webhook_by_id** — Get details of a specific Follow Up Boss webhook by id. Returns: id, event, status, url. Required: id.
- **update_a_follow_up_boss_webhook_by_id** — Update an existing Follow Up Boss webhook by id, e.g. to change its status, event, or callback URL. Returns: id, event, status, url. Required: id.
- **delete_a_follow_up_boss_webhook_by_id** — Delete a webhook subscription from Follow Up Boss by id. Returns an empty 204 response on success. Required: id.
- **get_single_follow_up_boss_webhook_event_by_id** — Get a Follow Up Boss webhook event by id, including details of the triggered event. Returns: id, eventCreated, event, resourceIds, uri. Required: id.
- **list_all_follow_up_boss_groups** — List Follow Up Boss groups. Returns: id, name, distribution, defaultUserId, defaultPondId, defaultGroupId, claimWindow, nextRoundRobinUser, isPrimary, users. Not accessible by lender accounts.
- **follow_up_boss_groups_list_round_robin** — List Follow Up Boss groups including round-robin data such as the next user in rotation. Returns: id, name, distribution, defaultUserId, defaultPondId, defaultGroupId, claimWindow, nextRoundRobinUser, isPrimary, users. Not accessible by lender accounts.
- **create_a_follow_up_boss_group** — Create a new Follow Up Boss group. Returns the created group including id, name, type, distribution, claimWindow, isPrimary, and member users. Required: name, users. Lender groups cannot be set to first-to-claim; admin accounts only.
- **get_single_follow_up_boss_group_by_id** — Get a Follow Up Boss group by id. Returns: id, name, distribution, defaultUserId, defaultPondId, defaultGroupId, claimWindow, nextRoundRobinUser, isPrimary, users. Required: id.
- **update_a_follow_up_boss_group_by_id** — Update a Follow Up Boss group by id, including its name, distribution model, member users, and first-to-claim routing settings. Returns the updated group: id, name, type, distribution, claimWindow, and users. Required: id.
- **delete_a_follow_up_boss_group_by_id** — Delete a Follow Up Boss group by id. Returns an empty 204 response on success. Required: id.
- **list_all_follow_up_boss_teams** — List Follow Up Boss teams. Returns: id, name, userIds, leaderIds. Accounts whose plan lacks teams access receive an empty list.
- **create_a_follow_up_boss_team** — Create a new Follow Up Boss team with the given members. Returns: id, name, userIds, leaderIds. Required: name, userIds.
- **get_single_follow_up_boss_team_by_id** — Get a single Follow Up Boss team by id. Returns: id, name, userIds, leaderIds. Required: id.
- **update_a_follow_up_boss_team_by_id** — Update a Follow Up Boss team by id. Returns: id, name, userIds, leaderIds. Required: id. When userIds or leaderIds are sent, they must contain the complete list of user IDs.
- **delete_a_follow_up_boss_team_by_id** — Delete a Follow Up Boss team by id. Returns an empty 204 response on success. Required: id.
- **list_all_follow_up_boss_team_inboxes** — List shared Team Inboxes in Follow Up Boss for your account. Returns each inbox's id, name, and the users who have access (users with id, name, firstName, lastName).
- **list_all_follow_up_boss_ponds** — List Follow Up Boss ponds. Returns: id, name, userId, userIds. Max 100 per page.
- **create_a_follow_up_boss_pond** — Create a pond in Follow Up Boss with a lead agent and members. Returns: id, name, userId, userIds. Required: name, userId, userIds.
- **get_single_follow_up_boss_pond_by_id** — Get a single Follow Up Boss pond by id. Returns: id, name, userId, userIds. Required: id.
- **update_a_follow_up_boss_pond_by_id** — Update a Follow Up Boss pond by id. Returns: id, name, userId, userIds. Required: id. When userIds is present in the request, always send the complete list of user ids — removed ids lose membership.
- **delete_a_follow_up_boss_pond_by_id** — Delete a Follow Up Boss pond by id. Contacts still in the pond are re-assigned to the agent specified by assignTo. Returns an empty 204 response on success. Required: id, assignTo.
- **list_all_follow_up_boss_me** — Get the currently authenticated Follow Up Boss user. Returns: id, name, email, account, error, error_description. Takes no parameters.
- **list_all_follow_up_boss_em_events** — List email marketing events in Follow Up Boss, covering delivered emails, opens, clicks, bounces, unsubscribes and spam reports from both built-in and third-party email marketing tools. Returns: count, type, personId, campaignId, campaignName, created, updated. Max 100 per page.
- **create_a_follow_up_boss_em_event** — Send email marketing events to Follow Up Boss — sends, opens, clicks, bounces, unsubscribes and spam reports — in batch. Returns: emEventIds, recipientsNotFound. Required: emEvents (each with type, occurred, recipient; up to 1000 events per request).
- **list_all_follow_up_boss_em_campaigns** — List email marketing campaigns in Follow Up Boss, covering both built-in campaigns and campaigns from connected third-party email marketing tools. Returns: id, origin, originId, name, subject, bodyHtml. Large campaigns may trigger 500 errors at high page sizes; use a small limit.
- **create_a_follow_up_boss_em_campaign** — Create an email marketing campaign in Follow Up Boss for a one-off email blast or automated drip email. Returns: id, origin, originId, name, subject, bodyHtml. Requires origin and originId, which together must be a unique combination and must not be reused for subsequent campaigns.
- **update_a_follow_up_boss_em_campaign_by_id** — Update an email marketing campaign in Follow Up Boss when a user edits a marketing email in your system, such as changing the email subject or body. Returns: id, origin, originId, name, subject, bodyHtml. Required: id.
- **list_all_follow_up_boss_action_plans_people** — List the Action Plans applied to a Follow Up Boss person, or list the people on a specific Action Plan. Returns: id, created, updated, personId, actionPlanId, status. Filter with personId or actionPlanId. Max 100 per page. Planned for deprecation in the Automations 2.0 rollout.
- **create_a_follow_up_boss_action_plans_person** — Apply an Action Plan to a person in Follow Up Boss. Returns the assignment record including id, personId, actionPlanId, status, created, and updated. Requires personId and actionPlanId. Planned for deprecation in the Automations 2.0 rollout.
- **update_a_follow_up_boss_action_plans_person_by_id** — Update the status of an Action Plan to Person relationship in Follow Up Boss. Returns: id, created, updated, personId, actionPlanId, status. Required: id, status. Planned for deprecation in the Automations 2.0 rollout.
- **list_all_follow_up_boss_automations** — List the Follow Up Boss automations defined in the account. Returns each automation's id, created, updated, and status. Max 100 per page. Automations 2.0 route — restricted to registered systems.
- **get_single_follow_up_boss_automation_by_id** — Get a single Follow Up Boss automation by id. Returns: id, created, updated, status. Required: id. Automations 2.0 route — restricted to registered systems.
- **list_all_follow_up_boss_automations_people** — List Follow Up Boss Automation-Person pairings for Automations that have run or will run for People. Returns: id, created, updated, createdById, updatedById, createdBy, updatedBy, personId, automationId, status, automationName. Automations 2.0 only.
- **get_single_follow_up_boss_automations_person_by_id** — Get a Follow Up Boss Automation-Person pairing by id. Returns: id, created, updated, createdById, updatedById, createdBy, updatedBy, personId, automationId, status, automationName. Required: id. Automations 2.0 only.
- **create_a_follow_up_boss_automations_person** — Manually trigger a Follow Up Boss Automation for a specified Person. Returns the created pairing: id, personId, automationId, status, automationName, created. Requires automationId and personId. Automations 2.0 only.
- **update_a_follow_up_boss_automations_person_by_id** — Pause or unpause a Follow Up Boss Automation for a Person by updating the pairing's status. Returns: id, created, updated, createdById, updatedById, createdBy, updatedBy, personId, automationId, status, automationName. Requires id and status. Automations 2.0 only.
- **list_all_follow_up_boss_rate_limits** — Get a 24-hour rolling summary of Follow Up Boss API usage for your registered system, including rate-limit hits and currently-configured limits. Returns: system, period, usage. The response is cached server-side for 30 seconds; poll at most once per minute.
- **follow_up_boss_rate_limits_limits** — Get the currently-configured rate limits for your registered Follow Up Boss system. Returns: system, current_limits.people) and per_account ceilings. Cheaper than the usage endpoint — no aggregation involved, so use it when you only need the limit values.

## How it works

1. **Link your customer's Follow Up Boss account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Follow Up Boss.** The Proxy API is a 1-to-1 mapping of the Follow Up Boss API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Embed lead capture into marketing and lead-gen tools** — Landing page builders, ad platforms, and lead-gen SaaS can push new real estate leads directly into their users' Follow Up Boss accounts, triggering routing rules and auto-responders so agents can act within seconds.
- **Log AI and telephony conversations into the agent timeline** — AI ISA bots, VoIP providers, and SMS platforms can sync every call and text into the Follow Up Boss contact timeline, giving agents full context without switching tools.
- **Automate transaction handoff when deals close** — Transaction management and closing platforms can listen for deal stage changes, pull deal details plus co-buyer relationships, and provision workspaces automatically — eliminating double data entry for agents.
- **Sync CRM segments for retargeting and nurture campaigns** — Marketing SaaS tools can read Smart Lists and person data to build dynamic audiences for ad retargeting and drip campaigns, then push engagement events back into Follow Up Boss for closed-loop attribution.
- **Power team dashboards and lead distribution tools** — Analytics and productivity SaaS can surface unclaimed leads from ponds, allow agents to claim or ignore them programmatically, and report on conversion metrics across users, teams, and pipelines.

## What you can build

- **Lead ingestion via Events API** — Push new leads into Follow Up Boss using the Events endpoint so FUB de-duplicates contacts and fires routing rules, auto-responders, and action plans automatically.
- **Two-way contact and custom field sync** — Read, create, and update people along with custom field values to keep buyer profiles, budgets, and timeframes consistent between your app and Follow Up Boss.
- **Timeline activity logging for calls and texts** — Log external SMS conversations and phone calls into the person timeline so agents see every touchpoint from your telephony or AI product natively inside FUB.
- **Webhook-driven workflow triggers** — Subscribe to Follow Up Boss webhooks for events like stage changes, new deals, or new people to trigger downstream automations inside your platform in real time.
- **Deal and pipeline automation** — Create and update deals, pipelines, and stages, and attach signed documents to deals so transaction and commission workflows stay in lockstep with the CRM.
- **Task and appointment orchestration** — Programmatically create tasks and appointments for agents based on qualification outcomes, showings, or SLAs defined in your product.

## FAQs

### What authentication method does Follow Up Boss use?

Follow Up Boss uses API key authentication scoped to a user account. With Truto, your end users connect their own FUB account and Truto handles credential storage and injection — you never see or manage the raw keys.

### Should I create leads via the People endpoint or the Events endpoint?

Use the Events endpoint (create_a_follow_up_boss_event) for new leads. Creating a person directly does not trigger FUB's lead routing, auto-responders, or action plans. The Events endpoint also handles de-duplication automatically.

### Can I send actual SMS or make calls through Follow Up Boss?

No. The text message and call endpoints are for logging external activity into the FUB timeline. You'll still use your own telephony or messaging infrastructure to send messages; FUB stores the record for the agent's context.

### Are custom fields supported?

Yes. You can list, create, update, and delete custom fields for both people and deals, and you can read and write custom field values when creating or updating those records — useful for syncing budget, timeframe, commission, or close date data.

### How do I keep data fresh without polling?

Follow Up Boss supports webhooks for major resources. You can register webhooks programmatically to receive real-time notifications for events like person updates, stage changes, deal changes, and new notes, then fetch the affected record on demand.

### Can I trigger FUB automations from my app?

Yes. You can add people to Automations 2.0 programmatically via the automations people endpoints, which is the recommended path since FUB is deprecating legacy Action Plans in favor of Automations 2.0.

### How does Truto handle rate limits?

Follow Up Boss enforces per-account rate limits, which you can inspect via the rate limits endpoints. Truto manages retries and backoff transparently so your integration remains reliable under bursty load.
