> For the complete documentation index, see [llms.txt](https://help.daasity.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.daasity.com/core-concepts/data-integrations/setup-guides/digital-integrations/attentive-mobile/integration-specifications.md).

# Integration Specifications

## Integration Overview

Attentive is the recommended platform to turn SMS into a top revenue source in just a few months. Innovative platform to grow *mobile* subscribers & deliver relevant messages.

The Daasity Attentive integration uses our CSV loader functionality in conjunction with the Attentive SFTP server to retrieve the export from Attentive.

In order to enable the integration you must reach out to your Merchant Success team at Attentive and complete the following steps:

1. Ask the Attentive team to setup an SFTP account on their server ([https://sftp.attentivemobile.com)](https://sftp.attentivemobile.com/) and create both a login and password
2. Ask Attentive to start sending the following two files on a daily basis
   1. attentive\_conversions\_YYYYMMDD.csv
   2. attentive\_email\_SMS\_YYYYMMDD.csv
3. Ask Attentive to send a historical file through the SFTP server with a maximum size of 2GB per file
4. Enter the username/password the Attentive team supplied for the SFTP server into the UI in the Daasity App

{% hint style="info" %}
The SFTP Attentive account username / password is different from your regular Attentive login.
{% endhint %}

## Integration Availability

This integration is available for:

* Enterprise
* Growth

## SFTP Data Feeds

The following data feeds are generated from a CSV file that Attentive places into their SFTP folder on a daily basis. You can view more on SFTP data feeds in the [Attentive SFTP Documentation](https://docs.attentive.com/pages/developer-guides/sftp-solution/attentive-sftp-data-feeds/).

* [Conversions](https://docs.attentive.com/pages/developer-guides/sftp-solution/attentive-sftp-data-feeds/#conversions-data-feed)
* [General Events](https://docs.attentive.com/pages/developer-guides/sftp-solution/attentive-sftp-data-feeds/#general-events-data-feed)

## Entity Relationship Diagram (ERD)

[Click here to view the ERD for the Daasity Attentive integration](https://lucid.app/documents/embedded/cc8f2ccc-96d9-49f2-a6f8-95275e191ef7) illustrating the different tables and keys to join across tables. &#x20;

## Attentive Schema

The Daasity Attentive extractor creates these tables using the Attentive SFTP Server to retrieve the CSV files listed.  The data is mapped from source CSV file to the table based on the mapping logic outlined in each table.

* [Mobile Conversions](#mobile-conversions)
* [Mobile Notifications](#mobile-notifications)

### Mobile Conversions

* SFTP Data Feed: [Conversions](https://docs.attentive.com/pages/developer-guides/sftp-solution/attentive-sftp-data-feeds/#conversions-data-feed)
* Update method: UPSERT
* Table Name: \[`attentive_mobile.conversions`]

| CSV Column                                   | Database Column  |
| -------------------------------------------- | ---------------- |
| MD5(phone + ':' + SUBSTRING(timestamp,1,19)) | conversion\_id   |
| phone                                        | phone            |
| client\_id                                   | client\_id       |
| amount                                       | amount           |
| timestamp                                    | conversion\_at   |
| message\_id                                  | message\_id      |
| message\_name                                | message\_name    |
| message\_text                                | message\_text    |
| message\_type                                | message\_type    |
| message\_subtype                             | message\_subtype |
| MD5(phone + ':' + SUBSTRING(timestamp,1,19)) | \_\_sync\_key    |

### Mobile Notifications

* SFTP Data Feed: [General Events](https://docs.attentive.com/pages/developer-guides/sftp-solution/attentive-sftp-data-feeds/#general-events-data-feed)
* Update Method: UPSERT
* Table Name: \[`attentive_mobile.notifications`]

| CSV Column                                                              | Database Column   |
| ----------------------------------------------------------------------- | ----------------- |
| MD5(type + ':' + phone + ':' + email + ':' + SUBSTRING(timestamp,1,19)) | notification\_id  |
| type                                                                    | type              |
| phone                                                                   | phone             |
| client\_id                                                              | client\_id        |
| email                                                                   | email             |
| timestamp                                                               | event\_at         |
| join\_source                                                            | join\_source      |
| message\_id                                                             | message\_id       |
| message\_name                                                           | message\_name     |
| message\_text                                                           | message\_text     |
| message\_type                                                           | message\_type     |
| message\_subtype                                                        | message\_subtype  |
| message\_start                                                          | message\_at       |
| creative\_id                                                            | creative\_id      |
| creative\_name                                                          | creative\_name    |
| creative\_type                                                          | creative\_type    |
| creative\_subtype                                                       | creative\_subtype |
| MD5(type + ':' + phone + ':' + email + ':' + SUBSTRING(timestamp1,19))  | \_\_sync\_key     |

## Known Limitations

**Opt-Out Processing Window**

The Daasity transformation code processes Attentive opt-out records incrementally: only OPT\_OUT events synced within approximately the last 7 days are applied when updating subscription fields. This keeps daily processing efficient for large contact volumes.

**Impact:**

* Opt-outs synced outside the incremental window are not reflected in `UNSUBSCRIBED_AT_SMS` in `uns.unique_contacts`
* SMS subscriber counts derived from UNS data will overstate current subscribers relative to counts reported in the Attentive UI
* The gap grows over time, since older opt-outs are never backfilled by the daily process

If you need SMS subscription state that reconciles to Attentive's reported counts, contact Daasity Support to discuss options for your account.
