Upgrade from Formstack to automatic self-serve merchant onboarding
This guide only applies to you if:
- You are a platform or middleware provider (not a restaurant or a merchant)
- Your merchants receive an invoice directly from DoorDash for their deliveries
- You use Formstack to have individual merchants sign a contract with DoorDash as part of merchant onboarding
Why upgrade​
DoorDash is replacing the Formstack integration with automatic self-serve merchant onboarding workflows built directly into DoorDash. These workflows have a few key advantages over Formstack:
Real-time merchant setup​
Rather than waiting up to 30 minutes for a merchant to be fully set up after they sign the contract, merchants are now fully configured in real time, and you can also be notified (via webhook) in real time when a merchant is ready for you to complete onboarding
Easier merchant experience​
Some merchants found the Formstack experience frustrating because it spanned multiple tools, required some merchants to provide the same info several times, and exposed internal fields like the external_business_name
and external_store_id
; automatic self-serve merchant onboarding takes care of everything with one just one tool, just one form, and with just the minimum amount of information required to get up and running
Workflow for onboarding new merchants​
Here's how a merchant who's new to your DoorDash Drive integration will experience the new onboarding workflow and how you can be notified when a merchant is onboarded.
Sequence diagram​
Step 1: merchant decides to use local delivery​
The merchant chooses to enable your DoorDash Drive integration in your platform’s dashboard or reaches out to your sales/support team for a self-serve onboarding link.
The self-serve onboarding link format is shown below. Contact your DoorDash operator to get the correct value to use for the platform
parameter. Then, add this link to your platform's dashboard or give it to your sales/support team to give to merchants interested in your local delivery integration.
https://drive-onboarding.doordash.com/onboard?platform=PLATFORM-IDENTIFIER-HERE&external_business_id=MERCHANT-EXTERNAL-BUSINESS-ID-HERE&is_test=false
Link parameters​
platform
: a unique identifier that represents your platform, provided by DoorDashexternal_business_id
: your identifier for the merchant, optionalis_test
: use this to indicate test requests, optional, defaults to false
When testing the automatic self-serve onboarding workflow, please be sure to include the is_test=true
parameter in your link.
Step 2: you link the merchant to DoorDash to complete contract​
The merchant clicks the self-serve onboarding link from your dashboard (or that your sales/support team shared) and lands on the DoorDash contract signing UI; if they're not already signed into a DoorDash account, they're prompted to sign in or create one. You can provide additional metadata with the link that helps connect DoorDash's merchant record with your own.
You don't need to do any work for this step, which is handled entirely by DoorDash.
Step 3: merchant signs the contract​
Once they're signed in, the merchant can sign the DoorDash Drive contract. It's a short contract that only requires:
- The merchant's legal business name and an approximate number of stores
- The type of business (e.g. LLC)
- Accounting information needed for invoicing
You don't need to do any work for this step, which is handled entirely by DoorDash.
Step 4: merchant is pending activation​
At this step, the merchant's work is complete and they see a page with some final details about integrating with Drive.
You don't need to do any work for this step, which is handled entirely by DoorDash.
Step 5: you activate the merchant​
To be notified in real time when a merchant completes the steps above, you can either listen for Business webhooks or poll the List Businesses API.
Listen for a webhook (recommended)​
DoorDash can send you a webhook every time a merchant goes through the self-serve merchant onboarding experience, at the moment they complete it. This enables you to quickly activate the merchant's local delivery integration and maximize the chances of a successful conversion.
To receive webhooks, first make sure you've registered a webhook endpoint in the Developer Portal. Then, update your code to listen for a new webhook event: the BUSINESS_CREATION
event. The BUSINESS_CREATION
webhook is as follows:
[{
"name": "Neighborhood Deli",
"description": "A neighborhood deli serving many tasty sandwiches and soups.",
"external_business_id": "a0720d55-7cbe-41ce-8185-58285b7985cd",
"activation_status": "pending_mwp_activation",
"created_at": "2022-04-25T17:21:43Z",
"last_updated_at": "2022-04-25T17:21:43Z",
"is_test": false,
"external_metadata": {
// varies by provider
}
}]
See the Business & Store webhook reference for more details.
Poll the List Businesses API​
If you're not able to listen for webhooks, you can also regularly poll DoorDash's List Businesses API to check for new businesses for whom you need to activate their local delivery integration. The List Businesses API is as follows:
HTTP GET openapi.doordash.com/developer/v1/businesses?status=pending_mwp_activation
// Response body
[{
"name": "Neighborhood Deli",
"description": "A neighborhood deli serving many tasty sandwiches and soups.",
"external_business_id": "a0720d55-7cbe-41ce-8185-58285b7985cd",
"activation_status": "pending_mwp_activation",
"created_at": "2022-04-25T17:21:43Z",
"last_updated_at": "2022-04-25T17:21:43Z",
"is_test": false,
"external_metadata": {
// varies by provider
}
}]
See the List Businesses API docs for full details.
Step 6: you notify DoorDash when the merchant is activated​
Once you've completed any final activation steps, you call the Business API to let DoorDash know that the merchant is ready to make deliveries:
HTTP PATCH openapi.doordash.com/developer/v1/businesses/EXTERNAL-BUSINESS-ID-HERE
// Request body
{
"status": "active",
"reason": "Activation has been completed"
}
// Response body
{
"name": "Neighborhood Deli",
"description": "A neighborhood deli serving many tasty sandwiches and soups.",
"external_business_id": "a0720d55-7cbe-41ce-8185-58285b7985cd",
"activation_status": "active",
"created_at": "2022-04-25T17:21:43Z",
"last_updated_at": "2022-04-25T17:21:43Z",
"is_test": false,
"external_metadata": {
// varies by provider
}
}
See the Update Business API docs for full details or see a full list of activation_status
es in the automatic self-serve merchant onboarding reference guide.
End: The merchant is now active​
The merchant can now make deliveries using your DoorDash Drive integration!
Next steps​
- Learn more about the concepts in the businesses & stores reference guide
- View the business & store API reference
- View the create delivery API reference
Frequently asked questions​
How can I be sure that the automatic self-serve onboarding flow only sends me valid merchant information?​
DoorDash guards all of its public APIs and workflows against invalid or malicious input, including this self-serve onboarding workflow. We will only ever pass data back to you (the Platform) if it’s from a user who is signed in and passed our identity and fraud checks.