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

# Sharetribe: grant access after verification

> Step 2 of 2 for Sharetribe: build the Zapier Zaps that approve verified users, grant permissions and email declined users, then test the whole flow.

This page is the second of two steps. The Zap from
[Send the verification link](https://docs.proofage.net/integration/sharetribe/send-verification-link.md)
sends each new user a verification link. Here you build two Zaps that act on the result:

* **ProofAge 2 – Approve verified user**: when a verification is approved, approve the user
  and/or grant permissions, and tell them by email.
* **ProofAge 3 – Email declined user**: when a verification is declined, tell the user and link
  your "verification failed" page.

## What you need

* Everything from [Send the verification link](https://docs.proofage.net/integration/sharetribe/send-verification-link.md),
  with the first Zap turned on.
* **A finished test verification.** Use the test user from the first page: open the link in their
  verification email and go through the screens. In a test workspace nothing is analysed, so
  any ID document works. If you already used that link, sign up a new test user and wait for
  their email.
* **Your Sharetribe and ProofAge connections in Zapier** from the first page.

## Choose the result of a test verification

In a [test workspace](https://docs.proofage.net/integration/sandbox-testing.md) ProofAge never decides on its own. Every finished verification waits with
the status **Review** until you choose its result. Do this once now, so the trigger in the next
section has a result to find:

1. In Sharetribe Console, copy your test user's ID: go to **Users**, click the user and copy the
   **User ID**.
2. In the ProofAge console, open **Verifications** and paste the ID into the search box. The
   verification shows up with the result **In review**. The **External ID** column holds the
   Sharetribe user ID.
3. Click the verification to open it.
4. Click **Approve** at the top right. It takes effect right away, without a confirmation.

![ProofAge console, a verification with the status Review; the Approve and Decline buttons are at the top right](https://mintcdn.com/proof-age/gLg3IDPZozTL8Ct8/images/sharetribe/03-01-set-test-outcome.png?fit=max\&auto=format\&n=gLg3IDPZozTL8Ct8\&q=85\&s=06a6e92248f23995de181cf5c62c48d6)

ProofAge sends the result to Zapier right away.

Two more buttons sit next to **Approve**. You'll use **Decline** for Zap 3. **Failed** marks the
verification as failed. None of the Zaps in this guide reacts to it, so you don't need it
here.

## Creating Zap 2, step by step

In Zapier, click **+ Create**, choose **Zaps** and name the new Zap **ProofAge 2 – Approve
verified user**.

### Step 1: Verification approved trigger

1. As the trigger app, choose **ProofAge**. As the trigger event, choose **Verification
   Completed**.
2. Choose your ProofAge connection, "*Your workspace name* (Test)".
3. In **Configure**:
   * **Status:** **Approved**. The Zap then runs only for approved verifications, so you don't
     need a separate Filter step for this.
   * **Include Extracted Document Data:** leave it **False**. Zapier then receives only the
     result and your user's ID, never their name, birth date or document number.
4. Click **Test trigger** and pick the verification you approved. Check that **External
   Reference** contains a Sharetribe user ID.

![Zap 2 trigger: ProofAge Verification Completed, Status = Approved, Include Extracted Document Data = False](https://mintcdn.com/proof-age/gLg3IDPZozTL8Ct8/images/sharetribe/03-02-zap2-trigger.png?fit=max\&auto=format\&n=gLg3IDPZozTL8Ct8\&q=85\&s=73c7a86b67bd068738a3d2306653debf)

![Zap 2 trigger test: Verification A with Status approved and its External Reference (value blurred)](https://mintcdn.com/proof-age/gLg3IDPZozTL8Ct8/images/sharetribe/03-03-zap2-trigger-test.png?fit=max\&auto=format\&n=gLg3IDPZozTL8Ct8\&q=85\&s=0d15c49b16482b18217ddd85d27b4e4f)

This trigger is **instant**: ProofAge notifies Zapier the moment a verification is decided, so
there's no polling delay.

### Step 2: Look up the user in Sharetribe

1. Add an action step with **Sharetribe** and choose **Show User**.
2. Choose your Sharetribe connection. Check that it's the **Test** environment.
3. **User ID:** choose **External Reference** from step 1.
4. Leave the other fields as they are and click **Test step**. You should see your test user,
   including their email address and name.

![Show User step with User ID = 1. External Reference](https://mintcdn.com/proof-age/gLg3IDPZozTL8Ct8/images/sharetribe/03-04-zap2-show-user.png?fit=max\&auto=format\&n=gLg3IDPZozTL8Ct8\&q=85\&s=4ab1292a3a10fc78c4728d7a0e696525)

### Step 3: Approve the user

Use this step only if new users need approval to join your marketplace (**Approve users who
want to join** in Access control). Approve User only works on users who are pending approval. If
your marketplace doesn't require approval to join, skip this step and use step 4 only.

Before the step runs, the user looks like this in Sharetribe Console, under **Users**:

![Sharetribe Console, Users: a user who isn't approved yet has the Pending approval label and crosses under Post listings and Initiate transactions](https://mintcdn.com/proof-age/gLg3IDPZozTL8Ct8/images/sharetribe/03-05b-console-pending-approval.png?fit=max\&auto=format\&n=gLg3IDPZozTL8Ct8\&q=85\&s=be6122c1b1dee88f45a9f8c070d5cf6d)

1. Add an action step with **Sharetribe** and choose **Approve User**.
2. **User ID:** choose **External Reference** from step 1.
3. Click **Test step**. The **Test** tab gets a tick, and **Data out** shows the user's ID.

   ![Approve User test result: the Test tab is ticked and Data out shows the user's ID (blurred)](https://mintcdn.com/proof-age/gLg3IDPZozTL8Ct8/images/sharetribe/03-05-zap2-approve-user.png?fit=max\&auto=format\&n=gLg3IDPZozTL8Ct8\&q=85\&s=3d0d4c9ca6963ab08a115464262b06c9)

   The test user is now approved: in Sharetribe Console, under **Users**, the **Pending
   approval** label next to them is gone (their **User State** changes from `pendingApproval`
   to `active`).

   > [!NOTE]
   >
   > Testing this step really approves your test user. To test the Zap again later, sign up a new test user.

### Step 4: Grant permissions

Use this step if you restricted posting listings or starting transactions in Access control.

1. Add an action step with **Sharetribe** and choose **Update Permissions**.
2. **User ID:** choose **External Reference** from step 1.
3. Set **Permission to post listings** and **Permission to initiate transactions** to **True**.
   Leave **Permission to view listings** empty unless you restricted viewing.
4. Click **Test step**. In Sharetribe Console, under **Users**, the **Post listings** and
   **Initiate transactions** columns now show a tick for the test user.

![Update Permissions step: Permission to post listings and Permission to initiate transactions set to True](https://mintcdn.com/proof-age/gLg3IDPZozTL8Ct8/images/sharetribe/03-07-zap2-update-permissions.png?fit=max\&auto=format\&n=gLg3IDPZozTL8Ct8\&q=85\&s=2e15c92f3eaebdb3aaabaeb528080b86)

![Sharetribe Console, Users: a verified user has no Pending approval label and has ticks under Post listings and Initiate transactions](https://mintcdn.com/proof-age/gLg3IDPZozTL8Ct8/images/sharetribe/03-06-console-user-approved.png?fit=max\&auto=format\&n=gLg3IDPZozTL8Ct8\&q=85\&s=6ac2ed3c7ecd5de4ef2c3415f01c0456)

### Step 5: Tell the user they're verified

1. Add an action step with **Gmail** and choose **Send Email**.

2. **To:** click **+** and choose **User Email** from step 2 (Show User).

3. **Subject:** for example `Your Marketplace: you're verified!`

4. **Body:** for example:

   > Hi \[2. User Profile First Name], your identity has been verified and your account is
   > ready. You can now post listings and make bookings: [https://your-marketplace.com](https://your-marketplace.com)
   >
   > – The Your Marketplace team

   ![Zap 2 Send Email step: To = 2. User Email, the subject and the body](https://mintcdn.com/proof-age/gLg3IDPZozTL8Ct8/images/sharetribe/03-08-zap2-email.png?fit=max\&auto=format\&n=gLg3IDPZozTL8Ct8\&q=85\&s=f2bfe35821a325bd9f2ce88d03e58223)

5. Click **Test step** and check that the email arrives in the test user's inbox.

6. Click **Publish** to turn the Zap on.

The finished Zap has five steps:

![Finished Zap 2: Verification Completed, Show User, Approve User, Update Permissions, Send Email](https://mintcdn.com/proof-age/gLg3IDPZozTL8Ct8/images/sharetribe/03-09-zap2-overview.png?fit=max\&auto=format\&n=gLg3IDPZozTL8Ct8\&q=85\&s=48dc3cbca871e51de4fca28e81cd76a4)

## Creating Zap 3: email users whose verification was declined

Zap 3 is a shorter copy of Zap 2, so you don't build it from scratch.

1. On your Zaps page, open the **⋮** menu of **ProofAge 2 – Approve verified user**, choose
   **Duplicate**, then **Duplicate and edit**. The copy opens as "(Copy) ProofAge 2 – Approve
   verified user".

2. Click the copy's name, choose **Rename** and name it **ProofAge 3 – Email declined user**.

3. Delete **Update Permissions** and **Approve User**: open each step's **⋮** menu, choose
   **Delete** and click again on **Really delete?**. Keep **Show User** and the email step.

4. Open the trigger and change **Status** to **Declined**.

   ![Zap 3 trigger with Status = Declined](https://mintcdn.com/proof-age/gLg3IDPZozTL8Ct8/images/sharetribe/03-10-zap3-trigger.png?fit=max\&auto=format\&n=gLg3IDPZozTL8Ct8\&q=85\&s=eb4f3791c9a69ceb99b7ae05119a7e6a)

5. Open the email step. Change the **Subject**, for example
   `Your Marketplace: we couldn't verify your identity`, and the **Body**, for example:

   > Hi \[2. User Profile First Name], unfortunately we couldn't verify your identity. You can
   > read what to do next here: [https://your-marketplace.com/p/verification-failed](https://your-marketplace.com/p/verification-failed)
   >
   > If you think this is a mistake, reply to this email and we'll send you a new link.

6. Give the trigger a declined verification to test with. Zapier won't publish the copy without
   one.
   1. Sign up another test user and finish their verification.
   2. In the ProofAge console, open that verification and click **Decline**.
   3. In Zapier, open the trigger's **Test** tab, click **Find new records** and pick the new
      record. Its **Status** is `declined`.

7. Test the email step and check that the email arrives.

8. Click **Publish**.

![Finished Zap 3: Verification Completed, Show User, Send Email](https://mintcdn.com/proof-age/gLg3IDPZozTL8Ct8/images/sharetribe/03-11-zap3-overview.png?fit=max\&auto=format\&n=gLg3IDPZozTL8Ct8\&q=85\&s=9390425413751291715e7472fb6d132a)

ProofAge doesn't tell the user why they were declined. When ProofAge makes the decision, the
**Reason Code** field of the trigger gives the [decision reason](https://docs.proofage.net/core-technology/decision-reasons.md), for example an expired document or a face
that doesn't match the ID. Keep it for your own team, for example in an internal notification.
A verification you decline by hand in the console has no reason code.

## Test the whole flow

With all three Zaps on, test each case in your Test environment:

| Scenario | What you do | What should happen |
| - | - | - |
| **Approved** | Sign up a new user, open the link from the email, finish the screens, click **Approve** in the ProofAge console | Within seconds, Zap 2 runs: the user is active (or has the new permissions) and gets the "you're verified" email. They can post a listing or book. |
| **Declined** | Same, but click **Decline** in the ProofAge console | Zap 3 runs: no permissions change, the user gets the "couldn't verify" email linking your failed page. |
| **Not finished** | Sign up a new user and don't open the link | Nothing changes and no Zap fails. The user stays **Pending approval**. After 7 days the link expires. |
| **Second try** | After a decline, follow [Let a user try again](#let-a-user-try-again) below | The new result is handled by the same Zaps. |

Zapier's **Zap history** shows every run; the ProofAge console shows each verification and
whether its result reached Zapier.

![Zap history with successful runs of all three Zaps](https://mintcdn.com/proof-age/gLg3IDPZozTL8Ct8/images/sharetribe/03-12-zap-history.png?fit=max\&auto=format\&n=gLg3IDPZozTL8Ct8\&q=85\&s=5a1f7414b5ecdf33df0730dfe0f2c0e0)

**How long it takes:** the verification email arrives within one Sharetribe polling interval
after sign-up. Zapier shows the interval on the trigger (2 minutes on the Professional plan).
In our test it took between 10 seconds and a minute and a half. After the decision, Zap 2 or
Zap 3 runs within seconds. In our test the user's access changed and the email went out 6 to
22 seconds after we clicked Approve or Decline.

Each user who gets verified uses 6 Zapier tasks (2 in Zap 1 and 4 in Zap 2); a declined user
uses 4.

## Let a user try again

A declined verification can't be reused. To give a user another chance:

1. In the ProofAge console, open **Verifications** and click **New link**.

2. Under **Workspace**, choose the workspace your Zaps are connected to.

3. In **Your reference**, enter the user's Sharetribe user ID (copy it from Sharetribe Console:
   **Users**, click the user, **User ID**). This is what links the new result to the user, so it
   must be exactly the user ID.

   ![ProofAge console, New verification link dialog: the test workspace and Your reference = Sharetribe user ID (blurred)](https://mintcdn.com/proof-age/gLg3IDPZozTL8Ct8/images/sharetribe/03-13-new-link.png?fit=max\&auto=format\&n=gLg3IDPZozTL8Ct8\&q=85\&s=0f544700b7218c8ede81050be8aa85ad)

4. Click **Create link**. ProofAge shows the link, a QR code and how long the link is valid.
   Click the copy button next to the link and send it to the user, for example in a reply to
   their email.

   ![ProofAge console, the new link: QR code, the link with its copy button, and "Expires in 6d 23h" (link, QR code and reference blurred)](https://mintcdn.com/proof-age/gLg3IDPZozTL8Ct8/images/sharetribe/03-13b-new-link-created.png?fit=max\&auto=format\&n=gLg3IDPZozTL8Ct8\&q=85\&s=550f2527c3e7a8fcc587bf55d81b78fa)

When the user finishes, they land on the **Redirect URL** you set on the workspace on the first page,
and Zap 2 or Zap 3 handles the result as before.

We don't recommend sending a new link automatically with every decline: each attempt counts as a
verification (billed once your free ones are used), and people declined for fraud would get
unlimited tries.

If ProofAge asks the user to retake a photo (for example because it was blurry), they can do it
right away on the same link. There's nothing to set up for that.

## Next

Your marketplace now verifies new users and grants access automatically. When everything works
in Test, follow [Go live](https://docs.proofage.net/integration/sharetribe/overview.md#4-go-live) in the overview. If
something doesn't work, see [Troubleshooting](https://docs.proofage.net/integration/sharetribe/overview.md#troubleshooting)
there.

Questions about ProofAge: [support@proofage.net](mailto:support@proofage.net). Questions about your marketplace or Zapier:
contact Sharetribe from your Console.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.