> ## Documentation Index
> Fetch the complete documentation index at: https://wiki.carewithemma.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Choosing an Integration Method for Your Emma Setup

> Match each requirement in your workflow to the integration method that handles it best. Most production Emma deployments use two or more methods together.

Picking the right integration method makes your Emma workflow simpler to build and maintain. Use this guide to match each requirement to the method that handles it best. In most production setups, you'll use two or more methods together — for example, a webhook to trigger Emma and an MCP tool to let Emma act inside your scheduling system during the call.

## Decision table

| Requirement | Recommended method |
| - | - |
| Notify Emma when something happens | [Webhooks & Events](/webhooks) |
| Ask Emma to perform an action | [REST API](/rest-api) |
| Give Emma a system capability to use mid-interaction | [MCP](/mcp) |
| Coordinate multiple systems or transform payloads | [Workflow Orchestration](/orchestration) |
| Return workflow results to a downstream system | REST API or Webhooks |

## A complete example: abandoned intake

The final production design always depends on the specific workflow and the capabilities of your connected systems. That said, an abandoned intake recovery is a useful reference point — it touches all four integration methods and reflects a pattern that appears across many Emma deployments.

In this scenario, a patient begins filling out a pre-visit intake form but drops off before completing it. Emma detects the event, attempts to re-engage the patient over voice or SMS, and records the outcome back in your system of record.

<Steps>
  <Step title="Webhook — intake abandonment detected">
    The forms platform sends a webhook event to Emma when the patient drops off mid-intake. Emma receives the payload, identifies the matching workflow, and queues the outreach.
  </Step>

  <Step title="REST API — patient context retrieved">
    Before initiating contact, Emma calls your API to retrieve the patient's full record: prior visit history, outstanding forms, preferred contact channel, and any flags that should shape the conversation.
  </Step>

  <Step title="MCP — real-time availability checked mid-call">
    During the live interaction, Emma uses an MCP tool connected to your scheduling system to check appointment availability in real time. Emma can offer and confirm a slot without transferring the patient or pausing the call.
  </Step>

  <Step title="Webhook / API — outcome posted to system of record">
    When the interaction ends, Emma posts a structured outcome — recovered, escalated, or follow-up required — back to your CRM, EHR, or forms platform via webhook or API call, keeping downstream systems in sync.
  </Step>
</Steps>

## Method quick reference

<CardGroup cols={2}>
  <Card title="REST APIs" icon="code" href="/rest-api">
    Call Emma on demand, or let Emma call your endpoints during a workflow.
  </Card>

  <Card title="Webhooks & Events" icon="bell" href="/webhooks">
    Push events from your systems to Emma to trigger workflows automatically.
  </Card>

  <Card title="MCP" icon="toolbox" href="/mcp">
    Expose capabilities as tools Emma can invoke during a live patient interaction.
  </Card>

  <Card title="Workflow Orchestration" icon="diagram-project" href="/orchestration">
    Coordinate multi-system workflows and transform payloads before they reach Emma.
  </Card>
</CardGroup>
