[Reference](/docs) · by task

# Call another service

Typed provider packages, connections, calls, webhooks, and the fakes your tests use. Read them in this order. Each page links to the pages around it.

1.  [External services](/docs/external-services)
    
    An external service is another company's API, such as Stripe, a courier or another Jadpo app, that your actions call.
    
2.  [Kinds of package](/docs/kinds-of-package)
    
    A package is Jadpo code shared between apps.
    
3.  [Where packages come from](/docs/where-packages-come-from)
    
    `jadpo package add <name>` looks for a package in a fixed order and records which step it used, so an agent never improvises where to look:
    
4.  [Connecting in app.jadpo](/docs/connecting-in-app-jadpo)
    
    A connection is how your app reaches a database, a mail server or a provider's API.
    
5.  [Calling](/docs/calling)
    
    Your app reaches an outside service, such as a courier's API, through a connection: a named entry under `connections:` in `app.jadpo` that says which package to use, which of your domains may use it…
    
6.  [Several changing calls in one action](/docs/several-changing-provider-calls)
    
    Some jobs need several calls that each change something at a provider, in order: create a customer, attach a card, start a subscription.
    
7.  [Receiving from outside](/docs/receiving-from-outside)
    
    A provider tells your app that something happened in one of two ways: it sends a webhook, or it puts a message on a queue.
    
8.  [Tests and fakes](/docs/tests-and-fakes)
    
    In `jadpo test`, every package has a generated fake, so tests never call a provider.
    
9.  [Secrets](/docs/secrets)
    
    A secret is a setting that must never leave the server, such as a password or an API key.
